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 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, >> 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’ve overlooked a contrib package >> somewhere, how about we begin with the requirements to get a fully working >> 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’m 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’s been >> years^wdecades since I’ve tinkered with perl, and I’m fairly certain the >> perl 5.8 version available on Plan 9 won’t support the modules included in >> the above list. So Plan 9 needs a modern perl to run git effectively with >> specific attention to the additional modules. Expat is the “eXpat XML >> parser library”. Libffi is something maintained on sources.redhat.com. >> Many of those modules depend on OpenSSL, so add that to the list. It’s >> 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’ve got python >> 2.7.8 [.9 soon] covered. >> >> Piece of cake, all that should fit on a coaster. >> >> -jas >> >> >> >> >> >> > -- Ryan [ERROR]: Your autotools build scripts are 200 lines longer than your program. Something’s wrong. http://kirbyfan64.github.io/