cjb / GitTorrent

A decentralization of GitHub using BitTorrent and Bitcoin
MIT License
4.75k stars 262 forks source link

multi protocol handoff #74

Open graingert opened 8 years ago

graingert commented 8 years ago

it would be great to support handing off to different git protocols with:

gittorrent+https://some.http.git.server/path/to/repo.git

cjb commented 8 years ago

I'm not sure I understand what this would do, sorry -- could you give a little more detail?

Oh, maybe you mean:

gittorrent://user/repo+https://server/user/repo

where it first tries gittorrent, and if that fails, it knows where a backup centralized server is?

graingert commented 8 years ago

@cjb no I mean gittorrent://some.http.git.server/path/to/repo.git tries git://some.http.git.server/path/to/repo.git and fails because the endpoint only supports https.

I'd like gittorrent+https://some.http.git.server/path/to/repo.git to grab commit hashes from https://some.http.git.server/path/to/repo.git and I'd like gittorrent+xyz://some.http.git.server/path/to/repo.git to grab commit hashes from xyz://some.http.git.server/path/to/repo.git

cjb commented 8 years ago

Oh! Cool, thanks. Makes sense.

If git and https are the only protocols you could imagine using this way, we could also just make gittorrent:// try Git, and then HTTPS.

graingert commented 8 years ago

@cjb there are a handful of other git protocols that I might use but I won't be able to list them all

Also there are other git protocol wrappers that hand off in this way, so you can do protocolx+protocoly+protocolz:// and each wrapper pops itself off the front of the URL