On Mon, Mar 9, 2009 at 6:46 PM, <[email protected]> wrote: >> -----Ursprüngliche Nachricht----- >> Von: "Daniel Cheng (aka SDiZ)" <[email protected]> >> Gesendet: 09.03.09 04:36:25 >> An: [email protected] >> Betreff: [freenet-dev] [PoC PATCH JGIT 0/2] Proof of concept code for Git >> Freenet transport > >> 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. >> >> 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://s...@[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://s...@[my public key]^[my private key]/test.git > > a pull from fproxy should be possible. so the average user can grab and build > sources with an unpatched/regular git version > $ git clone http://127.0.0.1:8888/key/app.git //grab & build a app > $ git clone http://127.0.0.1:8888/key/jFreeGit.git //ha, bootstrap! grab & > build the modified git for creating repos in freenet > >> >> >> To workaround the metadata update problem, this client translate the >> path seperator to "-", that means: > > you need to mangele path names properly, it may fail on names with '-' inside.
It doesn't matter -- we don't have to convert it back. >> On push: >> objects/aa/bbbbbbbb --> u...@..../test.git-objects-aa-bbbbbbb/-1/ >> refs/heads/xxx --> u...@..../test.git-objects-ref-heads-xxx/-1/ >> > why not 'u...@..../test.git/1/objects/aa/bbbbbbb' ? In freenet, all files under u...@..../test.git/1/* are packed in a zip file and must be updated at once. If we do this, we have to upload all pack files again on every push -- this is very bad. see http://wiki.github.com/j16sdiz/egit-freenet for more detail reply. >> On pull: >> To support uploading from jSite, >> when we load the info/refs we first check >> u...@..../test.git-info-refs/-1/ >> if it is unavailiable, we would use u...@..../test.git/-1/info/refs >> >> The "traditional" type (u...@..../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? > hg have a per repository config. was quite easy here ;) > >> Currently, we use URI of form fcp://SSK@<public key>^<private key>/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? > inserting to an USK should be blocking until the toplevel chunk is in. this > is a helpful tactic to hold the edition chain clean. _______________________________________________ Devl mailing list [email protected] http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
