Re: Resumable clone/Gittorrent (again) - stable packs?
- From
- Zenaan Harkness <zen@freedbms.net>
- Date
- Jan 6, 2011, 02:29 UTC
- Message-ID
- <AANLkTikv+L5Da7A5VM7BAgnue=m0O_-nHmHchJzfGxJa@mail.gmail.com>
Bittorrent requires some stability around torrent files.
Can packs be generated deterministically? If not by two separate repos, what about by one particular repo?
For Linus' linux-2.6.git, that repo is considered 'canonical' by many.
Pack-torrents could be ~1MiB, ~10MiB, ~100Mib, ~1GiB, or as configured in a particular repo, which repo is the canonical location for pack-torrents for all who consider that particular repo as canonical.
Perhaps a heuristic/ algorithm: once ten 10MiB (sequentially generated) pack-torrents are floating around, they could be simply concatenated to create a 100MiB pack-torrent, with a deterministic name and SHA etc, so that all those 10MiB pack-torrent files that torrent clients have, can be re-used and locally combined into the 100MiB torrent as needed, on demand.
Same for 100MiB -> 1GiB pack-torrents.
Individual extra commits: While "small" number of additional commits go into a repo, clients fall back to git-fetch, _after .
If Linus linus-2.6.git (currently configured "canonical" repo) goes offline, simply configure a new remote canonical repo.
Branches: Other "branches" repos of linux-2.6.git could create their own consistent 50MiB (or as configured) pack-torrents which are commits-only-missing-from-linux-2.6 pack-torrents (ie, those missing from that repo's "canonical" upstream).
This would require clients have a recursive torrent locator (I start at linux-net.git, which requires linux-2.6.git, so I go get those packs as well as the linux-net.git packs).
Perhaps have a system-wide or user-wide git repo/ torrent config, or check with user running git-clone linux-net.git "Do you have an existing git.vger.kernel.org/linux-2.6.git archive?".
Zen