git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PoC PATCH JGIT 0/2] Proof of concept code for Git Freenet transport
@ 2009-03-09  3:36 Daniel Cheng (aka SDiZ)
       [not found] ` <1236569765-8882-1-git-send-email-j16sdiz+freenet-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Daniel Cheng (aka SDiZ) @ 2009-03-09  3:36 UTC (permalink / raw)
  To: devl-RdDMkVZAZeuJnvDnx1genB2eb7JE58TQ, git-u79uwXL29TY76Z2rM5mHXA

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@..../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@<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?

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-03-09 15:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-09  3:36 [PoC PATCH JGIT 0/2] Proof of concept code for Git Freenet transport Daniel Cheng (aka SDiZ)
     [not found] ` <1236569765-8882-1-git-send-email-j16sdiz+freenet-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-03-09  3:36   ` [PoC PATCH JGIT 1/2] Freenet Freenet Client Protocol (FCP) 2.0 Client Daniel Cheng (aka SDiZ)
     [not found]     ` <1236569765-8882-2-git-send-email-j16sdiz+freenet-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-03-09  3:36       ` [PoC PATCH JGIT 2/2] PoC Freenet transport Daniel Cheng (aka SDiZ)
2009-03-09  5:58   ` [PoC PATCH JGIT 0/2] Proof of concept code for Git " Daniel Cheng
2009-03-09  9:58 ` Johannes Schindelin
2009-03-09 14:59 ` Shawn O. Pearce

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).