From: Luke Kenneth Casson Leighton <luke.leighton@gmail.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: git <git@vger.kernel.org>
Subject: Re: http://tech.slashdot.org/comments.pl?sid=1885890&cid=34358134
Date: Sat, 27 Nov 2010 19:06:13 +0000 [thread overview]
Message-ID: <AANLkTima6meFsovFS-15X7CMTD53n=kkvueKrOeN4Yd4@mail.gmail.com> (raw)
In-Reply-To: <AANLkTim0FeCE94R1zacOxGiEP8vZRSoDqNuNRUotnd9B@mail.gmail.com>
On Sat, Nov 27, 2010 at 6:36 PM, Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
> On Sat, Nov 27, 2010 at 18:33, Luke Kenneth Casson Leighton
> <luke.leighton@gmail.com> wrote:
>
>> I believe it is important that git-over-p2p be given a higher
>> priority than it is at present.
>
> We give "priority" to the stuff people submit patches for. There isn't
> a git-over-p2p because nobody is working on it, would you like to work
> on it?
i was / have been. unfortunately it's unfunded work, and, thanks to
receiving less money than i require for living and for feeding my
family i now face a court hearing on 16th december (3 weeks time)
which has the aim and ultimate goal of making us homeless. i
therefore respectfull request that you please don't try to make me
feel like i _should_ be working on this in order to "earn your
respect" ( that goes for you too, johnathon ).
> I'm also not convinced that this is actually needed. It's trivial to
> set up a p2p-like network by just emulating a darknet by manually
> adding remotes & fetching/pushing.
ah.. but that's the single-use case for a single shared repository.
git "as-is" the fetch/push over http is limited to a single
repository. i'm thinking more in terms of a global network, with
searches for checksummed objects "accidentally" potentially coming
from wildly different repositories.
the work i did a few months ago showed that just "dropping" git on
top of e.g. the bittorrent protocol as-is, files/dirs mapped to git
objects, wouldn't cut the mustard, because the bloody bittorrent
protocol "chunks" system treats the entire fileset as an ordered but
contiguous "stream" of data (metadata in the actual .torrent file says
how long each of the files are and in what order they are, and this is
utilised at the receiving end to reconstruct the files after the
datablocks have been received. it means that if you want just one
single file, even of 2 bytes in length, you might have to pull 2
blocks of e.g. 256k and grab the byte and the end of the 1st and the
byte at the beginning of the 2nd! yukk...)
but i believe that a system where each git object was given its own
.torrent file _would_ work, and you utilise DHT or other mechanism
(perhaps even a torrent containing the metadata!) to get the
structural information. the success of this model depends on everyone
being connected to everyone (a global network), in order to be able to
do a DHT search for the node(s) that are seeding that git object's
torrent file.
the "global network" concept has the advantage of being far more
robust in the face of DNS take-overs, as you actually just need to
know _one_ DNS name out of potentially an unlimited number of DNS
names (or even an IP address or set of IP addresses) and you're joined
to other peers.
> That's not viable for the stuff that usually gets distributed on p2p
> networks, but it sure is viable when you have people working on the
> same codebase.
codebase-in-a-git, wiki-in-a-git, website-in-a-git,
backups-of-filesystem-in-a-git (joey hess, one of the most amazing
debian developers around, has done all these things :)
> Which would be the use case for a git-over-p2p client,
> right?
yes it would... but i'm thinking well beyond that :)
at first glance the concept of git-over-darknet for example looks
great. however it doesn't satisfy what i believe to be one of the key
strategic requirements to be "many-pushers to many-pullers real-time
resilient". lose access to the darknet, or even if the git server
dies, what do you do?? if it's a darknet, you've got serious
problems: you can't find out who it was!
git-over-p2p on the other hand _would_ be [m-p-t-m-p-r-t-r], because
once the git-objects have been pulled by one client, they can be
pulled from that client by other clients too. it's this feature of
p2p distribution that is so distinct from the way in which git is
normally described as "a distributed revision control system", and
makes it a bugger to explain what the fuss is all about over this
git-p2p stuff :)
l.
next prev parent reply other threads:[~2010-11-27 19:06 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-27 17:33 http://tech.slashdot.org/comments.pl?sid=1885890&cid=34358134 Luke Kenneth Casson Leighton
2010-11-27 18:36 ` http://tech.slashdot.org/comments.pl?sid=1885890&cid=34358134 Ævar Arnfjörð Bjarmason
2010-11-27 19:06 ` Luke Kenneth Casson Leighton [this message]
2010-11-27 19:28 ` http://tech.slashdot.org/comments.pl?sid=1885890&cid=34358134 Jonathan Nieder
2010-11-27 20:19 ` http://tech.slashdot.org/comments.pl?sid=1885890&cid=34358134 Ævar Arnfjörð Bjarmason
2010-11-29 10:12 ` http://tech.slashdot.org/comments.pl?sid=1885890&cid=34358134 Will Palmer
2010-11-29 10:35 ` http://tech.slashdot.org/comments.pl?sid=1885890&cid=34358134 Nguyen Thai Ngoc Duy
2010-11-29 19:27 ` http://tech.slashdot.org/comments.pl?sid=1885890&cid=34358134 J.H.
2010-11-30 9:43 ` http://tech.slashdot.org/comments.pl?sid=1885890&cid=34358134 Will Palmer
2010-11-30 10:08 ` http://tech.slashdot.org/comments.pl?sid=1885890&cid=34358134 Jan Krüger
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='AANLkTima6meFsovFS-15X7CMTD53n=kkvueKrOeN4Yd4@mail.gmail.com' \
--to=luke.leighton@gmail.com \
--cc=avarab@gmail.com \
--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).