git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Cheng <j16sdiz+freenet@gmail.com>
To: Discussion of development issues <devl@freenetproject.org>
Cc: git@vger.kernel.org
Subject: Re: [freenet-dev] [PoC PATCH JGIT 0/2] Proof of concept code for Git  Freenet transport
Date: Mon, 9 Mar 2009 19:35:38 +0800	[thread overview]
Message-ID: <ff6a9c820903090435n375b2e0ftde4c47f122d8132e@mail.gmail.com> (raw)
In-Reply-To: <1541866875@web.de>

On Mon, Mar 9, 2009 at 6:46 PM,  <bo-le@web.de> wrote:
>> -----Ursprüngliche Nachricht-----
>> Von: "Daniel Cheng (aka SDiZ)" <j16sdiz+freenet@gmail.com>
>> Gesendet: 09.03.09 04:36:25
>> An:  git@vger.kernel.org
>> 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://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
>
> 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   --> USK@..../test.git-objects-aa-bbbbbbb/-1/
>>    refs/heads/xxx        --> USK@..../test.git-objects-ref-heads-xxx/-1/
>>
> why not 'USK@..../test.git/1/objects/aa/bbbbbbb' ?

In freenet,
all files under   USK@..../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 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?
> 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.

           reply	other threads:[~2009-03-09 11:37 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <1541866875@web.de>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ff6a9c820903090435n375b2e0ftde4c47f122d8132e@mail.gmail.com \
    --to=j16sdiz+freenet@gmail.com \
    --cc=devl@freenetproject.org \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).