From: Daniel Cheng Date: Mon, 09 Mar 2009 05:58:57 GMT Subject: Re: [PoC PATCH JGIT 0/2] Proof of concept code for Git Freenet transport Message-ID: In-Reply-To: <1236569765-8882-1-git-send-email-j16sdiz+freenet-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> On Mon, Mar 9, 2009 at 11:36 AM, Daniel Cheng (aka SDiZ) wrote: > Hi JGit / Freenet community, > > Here is some proof-of-concept code for Git-over-Freenet. > I am sending this to see the feedback from communities. Sorry, all. The code I have posted wasn't work. (the pack file is missing on push, only idx files are pushed) The new, fixed code is now available at http://github.com/j16sdiz/egit-freenet/ Please use this repository if you want to actually try it. > > The code need some more cleanups, so it it is not ready for apply (yet). > > This is a real-life example > > Push: >   $ git remote add fcp fcp://SSK@[my public key]^[my private key]/test.git >   $ ./jgit push fcp refs/remotes/origin/stable:refs/heads/master > >  /ALTERNATIVLY/ > >   Insert a bare repository under USK@<.....>/test.git/-1/ > > Pull: >  $ ./jgit clone fcp://SSK@[my public key]^[my private key]/test.git > > > To workaround the metadata update problem, this client translate the > path seperator to "-", that means: > > On push: >   objects/aa/bbbbbbbb   --> USK@..../test.git-objects-aa-bbbbbbb/-1/ >   refs/heads/xxx        --> USK@..../test.git-objects-ref-heads-xxx/-1/ > > On pull: >   To support uploading from jSite, >    when we load the info/refs we first check USK@..../test.git-info-refs/-1/ >    if it is unavailiable, we would use USK@..../test.git/-1/info/refs > >   The "traditional" type (USK@..../test.git/-1/objects) repository is >   always added as an alternative objects database. No other info/alternatives >   are supported > > FIXME: >  - How to store the private key of repository? >   Currently, we use URI of form fcp://SSK@^/some-id >   This is quite ugly. Could we use a per remote Config ? How can I get remote >   name from transport? > >  - Make pushing async, could we? > > >