GitTorrent

From Software Heritage Wiki
Jump to navigation Jump to search

GitTorrent is an experimental project by Chris Ball (AKA cjb) to use BitTorrent as a P2P distribution network for Git objects.

The key idea is to distribute Git packfiles, as created by Git smart protocol negotiation, via Bittorrent. The implementation of this idea is plugged into Git via the ad-hoc gittorrent:// URL scheme, implemented in turn by the git-remote-gittorrent helper.

Additionally, GitTorrent also aims at not relying on GitHub to retrieve the information about what is the last commit in a given repository. To that end, GitTorrent leverages the Bitcoin blockchain to distribute (signed) messages about what is the most recent commit in a given repository, and uses consensus there to decide who is assigned a given user name.

References