Re: git pack/unpack over bittorrent - works!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



nicolas, thanks for responding: you'll see this some time in the
future when you catch up, it's not a high priority, nothing new, just
thinking out loud, for benefit of archives.

On Thu, Sep 2, 2010 at 6:21 PM, Nicolas Pitre <nico@xxxxxxxxxxx> wrote:
>>  * what _can_ be guaranteed?
>
> You can guarantee that if the SHA1 name of different packs is the same
> then they contain the same set of objects.  Obviously their packed
> encoding will be different, and even the pack sizes might be quite
> different too.

 ack.  ok, so the idea of creating lots and lots of 2nd level
.torrents by name {ref}-{commitref}-{SHA-1}.torrent is about the only
way to get around that.

@begin lots of no, no and hell no...
> [...]
@end

 dang.  diffs, versions, threads and zlibs as well, all conspiring against me :)

>> * is it possible to _make_ the repository guaranteed to produce
>> identical pack objects?
>
> Sure, but performance will suck.

 that's fiiine :)  as i've learned on the pyjamas project, it's rare
that you have speed and interoperability at the same time...

> The only way to get a bit-for-bit reproducible pack one one specific
> system is to use 'git repack' with the -f switch, and limit it to only
> one thread.

 whew - a way out, at last.  you had me going, for a minute :)

>> * is it a versioning issue?  is it because there are different
>> versions (2 and 3)?  if so, that's ok, you just force people to use
>> the same pack-object versions.
>
> Not at all.  FYI [....]

 appreciated.


> I'm sorry as this isn't going to help you much unfortunately.

 neeh, i'm flexible.  it looks like i'm going to need to deviate from
bittorrent, after all, start adding new commands over which the git
rev-list gets transferred, rather than as a VFS layer.  the reason is
that bittorrent depends on the files and the data in the files being
all the same, so that a hash can be taken of the whole lot and the
end-result verified.

 if the pack-objects are going to vary, then the VFS layer idea is
blown completely out the water, except for the absolute basic
meta-info such as "refs/heads/*".  so i might as well just use
"actual" bittorrent to transfer packs via
{ref}-{commitref}-{SHA-1}.torrent.

ho hum, drawing board we come...


l.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]