2013-07-26 13 views
5

Próbuję utworzyć Git przez P2P. (To szaleństwo, wiem.)Czy mogę utworzyć niestandardowy protokół dla git?

Pytanie jest proste: czy mogę utworzyć niestandardowy protokół dla alternatywnej wersji Git dla ssh: //, git: // i http: //?

+1

Git nie jest specjalnie rozszerzalny, musisz wykopać kod źródłowy (poszukaj warstwy transportowej). Czy Git nie jest już P2P? – CharlesB

+0

Właściwie to nie sądzę. [Spójrz na "O GIT"] (http://git-scm.com/about/distributed), w ogóle nie wspomina o P2P. Myślałem, że mogę użyć DHT do przechowywania danych git. – gioi

+2

Co masz na myśli, to * pamięć rozproszona *. P2P jako warstwa transportowa oznacza po prostu, że nie ma jednego rodzaju węzła, który ma wstępnie ustawioną rolę różną od innych węzłów (tj. Nie ma koncepcji "serwera" będącego centralnym punktem połączenia). W tym sensie Git (będąc DVCS) jest już P2P na wskroś. –

Odpowiedz

7

Tak, to zdecydowanie możliwe. Git obsługuje tylko zdalnych pomocników. Z git fetch manpage:

Kiedy git nie wie, jak radzić sobie pewną protokołu transportowego, próbuje użyć zdalnie zdalnego pomocnika, jeśli taki istnieje. Jawnie zażądać zdalnego pomocnika następujące składnia może być stosowany:

<transport>::<address> 

Dalsze informacje o zdalnych pomocników można znaleźć na the appropriate man page. Jeśli ta zdolność nie jest wystarczająca dla ciebie (szybki skan sugeruje, że powinno być), powinieneś pamiętać, że git jest open source;).

+0

Nie jestem już pewien, czy to będzie przydatne. Jednak dziękuję za udzielenie dokładnej odpowiedzi na moje pytanie! – gioi

+0

Na przykład jest https://github.com/clehner/git-ssb. –

Powiązane problemy