On Wednesday 11 March 2009 00:51:53 Daniel Cheng wrote: > On Wed, Mar 11, 2009 at 7:33 AM, Matthew Toseland > <toad at amphibian.dyndns.org> wrote: > > On Monday 09 March 2009 03:36:03 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. > >> > >> 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 at ..../test.git-objects-aa-bbbbbbb/-1/ > >> ? ?refs/heads/xxx ? ? ? ?--> USK at ..../test.git-objects-ref-heads-xxx/-1/ > >> > >> On pull: > >> ? ?To support uploading from jSite, > >> ? ? when we load the info/refs we first check > > USK at ..../test.git-info-refs/-1/ > >> ? ? if it is unavailiable, we would use USK at ..../test.git/-1/info/refs > >> > >> ? ?The "traditional" type (USK at ..../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@<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? > > > > Very nice. To be clear, the "alternative object repository" is what you get > > when you insert the whole thing with jSite? Which it is recommended you do > > occasionally for longevity? > > "alternative object repository" is a git term (and most git user never > use, or even heard about it) > Basically, if it can't find an object in > USK at ..../xx.git-objects-packs-pack-xxxx.pack/1/ , > it will try USK at ..../xx.git/1/objects/xx/xxxxxx and then > USK at ..../xx.git/1/objects/packs/pack-xxxx.pack/ . > > I think we should use this only _only_ when we are initializing a > large repository, > or try to recover from file fall out from the network.
Well, if it is used rarely then it will fall out... dunno what the best way forward is... -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 835 bytes Desc: This is a digitally signed message part. URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20090311/5021753c/attachment.pgp>
