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> Date: Mon, 30 Mar 2015 22:20:03 +0200 Message-ID: From: Giacomo Tesio To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=001a1134334e15e38d0512873581 Subject: Re: [9fans] using git Topicbox-Message-UUID: 4beb6d2e-ead9-11e9-9d60-3106f5b1d025 --001a1134334e15e38d0512873581 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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 mercurial, 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, an= d > 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 packag= e > somewhere, how about we begin with the requirements to get a fully workin= g > 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 fai= rly certain the > perl 5.8 version available on Plan 9 won=E2=80=99t support the modules in= cluded in > the above list. So Plan 9 needs a modern perl to run git effectively wit= h > specific attention to the additional modules. Expat is the =E2=80=9CeXpa= t XML > parser library=E2=80=9D. Libffi is something maintained on sources.redha= t.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 g= ot python > 2.7.8 [.9 soon] covered. > > Piece of cake, all that should fit on a coaster. > > -jas > > > > > > --001a1134334e15e38d0512873581 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Actually, Jeff I appreciate a lot your work on mercurial. = I know I could use the bookmarks extension to achieve a similar process wit= h hg (never tried darcs and bzr seriously, sorry). but I still prefer git t= o mercurial, since it has been designed around the features that I like (wh= en working alone) or need (when working in large team over years long proje= cts).

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.= =C2=A0

In theory, one could implement a native git= fs over that, in C, using the network fs available in Plan9.

=
Compared to hgfs, a bit more design of the fs structure would pr= obably be needed to capture the concept of branch in a hierarchical filesys= tem.

How much you would estimate such development?=


Giacomo

<= br>

20= 15-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






--001a1134334e15e38d0512873581--