From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <201503112030.t2BKU71p008530@skeeve.com> <7B7A4AC6-02F2-4A28-AE1F-7D43B0494706@quintile.net> <955bc2dbc48c0ff6be29118880549364@brasstown.quanstro.net> <20150313181933.Horde.3OjxgyjF1TsOiSPwmslFLg1@ssl.eumx.net> <201503191609.t2JG9KwH011496@freefriends.org> <201503191826.t2JIQaJA001312@freefriends.org> From: Ryan Gonzalez Date: Mon, 30 Mar 2015 15:32:30 -0500 Message-ID: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=089e01176f11d30b7c0512876270 Subject: Re: [9fans] using git Topicbox-Message-UUID: 4bf784c4-ead9-11e9-9d60-3106f5b1d025 --089e01176f11d30b7c0512876270 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Is all that even necessary? Dulwich is a 100%-complete pure-Python implementation of the Git API, which optional C extensions for speed. It comes with a simple Git driver remake that implements the core necessities, a.k.a. it has fetch-pack but no push and send-pack but no pull. It would still probably easier to extend/finish that than writing a driver from scratch in C. On Mon, Mar 30, 2015 at 3:20 PM, Giacomo Tesio wrote: > Actually, Jeff I appreciate a lot your work on mercurial. I know I could > use the bookmarks extension to achieve a similar process with hg (never > tried darcs and bzr seriously, sorry). but I still prefer git to mercuria= l, > since it has been designed around the features that I like (when working > alone) or need (when working in large team over years long projects). > > But this is personal taste, and I'm not a git evangelist. I just replied > to Charles asking for the features we use in git. > > Btw, ever heard of http://libgit2.org ? > Plain c89. No external dependencies. > > In theory, one could implement a native gitfs over that, in C, using the > network fs available in Plan9. > > Compared to hgfs, a bit more design of the fs structure would probably be > needed to capture the concept of branch in a hierarchical filesystem. > > How much you would estimate such development? > > > Giacomo > > > > 2015-03-30 18:16 GMT+02:00 Jeff Sickel : > >> >> > On Mar 30, 2015, at 4:55 AM, Giacomo Tesio wrote: >> > >> > Ah, a small addendum: obviously we also use tags a lot to give a >> specific commit (and related history) a name. >> > This is done automatically by build servers for the "official" tags, >> and manually by developers whenever they want in their own repository >> (often with tags like, "workedhere", "shittorefactortomorrow" and so on)= . >> >> All of those features are available in hg, darcs, and other dscm tools. >> >> But to get back on topic, unless I=E2=80=99ve overlooked a contrib packa= ge >> somewhere, how about we begin with the requirements to get a fully worki= ng >> git installed on Plan 9. For example, >> >> ## the dependencies required for git on a bare-bones FreeBSD install: >> # pkg install git >> Updating FreeBSD repository catalogue... >> FreeBSD repository is up-to-date. >> All repositories are up-to-date. >> The following 18 packages will be affected (of 0 checked): >> >> New packages to be INSTALLED: >> git: 2.3.4 >> expat: 2.1.0_2 >> p5-Authen-SASL: 2.16_1 >> p5-GSSAPI: 0.28_1 >> perl5: 5.18.4_11 >> p5-Digest-HMAC: 1.03_1 >> p5-Net-SMTP-SSL: 1.01_3 >> p5-IO-Socket-SSL: 2.012 >> p5-Mozilla-CA: 20141217 >> p5-Net-SSLeay: 1.68 >> p5-Socket: 2.018 >> p5-IO-Socket-IP: 0.37 >> python27: 2.7.9 >> libffi: 3.2.1 >> p5-Error: 0.17023 >> curl: 7.41.0 >> ca_root_nss: 3.18 >> cvsps: 2.1_1 >> >> >> >> I=E2=80=99m not sure what cvsps is for, that seems to have cropped up on= the fbsd >> pkg sometime between git versions 2.3.1 and 2.3.4. It=E2=80=99s been >> years^wdecades since I=E2=80=99ve tinkered with perl, and I=E2=80=99m fa= irly certain the >> perl 5.8 version available on Plan 9 won=E2=80=99t support the modules i= ncluded in >> the above list. So Plan 9 needs a modern perl to run git effectively wi= th >> specific attention to the additional modules. Expat is the =E2=80=9CeXp= at XML >> parser library=E2=80=9D. Libffi is something maintained on sources.redh= at.com. >> Many of those modules depend on OpenSSL, so add that to the list. It=E2= =80=99s >> also possible a recent port of bash will also be required as the git >> support scripts may not work with our ape/sh or ape/psh. We=E2=80=99ve = got python >> 2.7.8 [.9 soon] covered. >> >> Piece of cake, all that should fit on a coaster. >> >> -jas >> >> >> >> >> >> > --=20 Ryan [ERROR]: Your autotools build scripts are 200 lines longer than your program. Something=E2=80=99s wrong. http://kirbyfan64.github.io/ --089e01176f11d30b7c0512876270 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Is all that even necessary?

Dulwich is = a 100%-complete pure-Python implementation of the Git API, which optional C= extensions for speed. It comes with a simple Git driver remake that implem= ents the core necessities, a.k.a. it has fetch-pack but no push and send-pa= ck but no pull. It would still probably easier to extend/finish that than w= riting a driver from scratch in C.


On Mon, Mar 30, 2015 at 3:20 PM= , Giacomo Tesio <giacomo@tesio.it> wrote:
Actually, Jeff I appreciate a lot your work= on mercurial. I know I could use the bookmarks extension to achieve a simi= lar process with hg (never tried darcs and bzr seriously, sorry). but I sti= ll prefer git to mercurial, since it has been designed around the features = that I like (when working alone) or need (when working in large team over y= ears long projects).

But this is personal taste, and I&#= 39;m not a git evangelist. I just replied to Charles asking for the feature= s we use in git.

Btw, ever heard of http://libgit2.org ?
Plain= c89. No external dependencies.=C2=A0

In theory, o= ne could implement a native gitfs over that, in C, using the network fs ava= ilable in Plan9.

Compared to hgfs, a bit more desi= gn of the fs structure would probably be needed to capture the concept of b= ranch in a hierarchical filesystem.

How much you w= ould estimate such development?


Giacomo



2015-03-30 18:16 GMT= +02:00 Jeff Sickel <jas@corpus-callosum.com>:

> On Mar 30, 2015, at 4:55 AM, Giacomo Tesio <giacomo@tesio.it> wrote:
>
> Ah, a small addendum: obviously we also use tags a lot to give a speci= fic commit (and related history) a name.
> This is done automatically by build servers for the "official&quo= t; tags, and manually by developers whenever they want in their own reposit= ory (often with tags like, "workedhere", "shittorefactortomo= rrow" and so on).

All of those features are available in hg, darcs, and other dscm too= ls.

But to get back on topic, unless I=E2=80=99ve overlooked a contrib package = somewhere, how about we begin with the requirements to get a fully working = git installed on Plan 9.=C2=A0 For example,

## the dependencies required for git on a bare-bones FreeBSD install:
# pkg install git
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
The following 18 packages will be affected (of 0 checked):

New packages to be INSTALLED:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 git: 2.3.4
=C2=A0 =C2=A0 =C2=A0 =C2=A0 expat: 2.1.0_2
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p5-Authen-SASL: 2.16_1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p5-GSSAPI: 0.28_1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 perl5: 5.18.4_11
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p5-Digest-HMAC: 1.03_1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p5-Net-SMTP-SSL: 1.01_3
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p5-IO-Socket-SSL: 2.012
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p5-Mozilla-CA: 20141217
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p5-Net-SSLeay: 1.68
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p5-Socket: 2.018
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p5-IO-Socket-IP: 0.37
=C2=A0 =C2=A0 =C2=A0 =C2=A0 python27: 2.7.9
=C2=A0 =C2=A0 =C2=A0 =C2=A0 libffi: 3.2.1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p5-Error: 0.17023
=C2=A0 =C2=A0 =C2=A0 =C2=A0 curl: 7.41.0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ca_root_nss: 3.18
=C2=A0 =C2=A0 =C2=A0 =C2=A0 cvsps: 2.1_1



I=E2=80=99m not sure what cvsps is for, that seems to have cropped up on th= e fbsd pkg sometime between git versions 2.3.1 and 2.3.4.=C2=A0 It=E2=80=99= s been years^wdecades since I=E2=80=99ve tinkered with perl, and I=E2=80=99= m fairly certain the perl 5.8 version available on Plan 9 won=E2=80=99t sup= port the modules included in the above list.=C2=A0 So Plan 9 needs a modern= perl to run git effectively with specific attention to the additional modu= les.=C2=A0 Expat is the =E2=80=9CeXpat XML parser library=E2=80=9D.=C2=A0 L= ibffi is something maintained on sources.redhat.com.=C2=A0 Many of those modules depend on= OpenSSL, so add that to the list.=C2=A0 It=E2=80=99s also possible a recen= t port of bash will also be required as the git support scripts may not wor= k with our ape/sh or ape/psh.=C2=A0 We=E2=80=99ve got python 2.7.8 [.9 soon= ] covered.

Piece of cake, all that should fit on a coaster.

-jas









--
=
Ryan
[ERROR]: Your autot= ools build scripts are 200 lines longer than your program. Something=E2=80= =99s wrong.
--089e01176f11d30b7c0512876270--