2013-07-26 6 views
5

Ich versuche, Git über P2P zu erstellen. (Es ist verrückt, ich weiß.)Kann ich ein benutzerdefiniertes Protokoll für Git erstellen?

Die Frage ist einfach: Kann ich ein benutzerdefiniertes Protokoll für Git Alternative zu SSH: //, Git: // und http: //?

+1

Git ist nicht speziell erweiterbar, Sie müssten den Quelltext durchsuchen (suchen Sie nach Transportschicht). Ist Git schon P2P? – CharlesB

+0

Eigentlich glaube ich nicht. [Sehen Sie sich "Über GIT"] (http://git-scm.com/about/distributed) an, es erwähnt P2P überhaupt nicht. Ich dachte, ich könnte ein DHT verwenden, um Git-Daten zu speichern. – gioi

+2

Was Sie meinen, ist * verteilter Speicher *. P2P als eine Transportschicht bedeutet lediglich, dass es keinen Typ von Knoten gibt, der eine voreingestellte Rolle hat, die sich von anderen Knoten unterscheidet (d. H. Es gibt kein Konzept eines "Servers", der ein zentraler Verbindungspunkt ist). In diesem Sinne ist Git (ein DVCS) bereits P2P. –

Antwort

7

Ja, das ist definitiv möglich. Git unterstützt nur Remote-Helfer. Vom git fetch manpage:

Wenn git nicht weiß, wie ein bestimmtes Transportprotokoll zu handhaben, versucht er, die Remote- Fern Helfer zu verwenden, falls vorhanden. Um explizit einen Remote-Helfer zu anfordern, kann die folgende Syntax verwendet werden:

<transport>::<address> 

Weitere Informationen über Remote-Helfer können bei the appropriate man page finden. Wenn diese Fähigkeit nicht stark genug für Sie ist (ein schneller Scan schlägt vor, dass es sein sollte), sollten Sie daran denken, dass git Open Source ist;).

+0

Ich bin nicht mehr sicher, ob es nützlich sein wird. Aber danke, dass Sie mir die genaue Antwort auf meine Frage gegeben haben! – gioi

+0

Es gibt jetzt https://github.com/clehner/git-ssb zum Beispiel. –