2011-01-11 15 views
6

Gibt es eine Möglichkeit, einen Svn-Checkout aus einem Git-Repository zu machen?svn-checkout aus einem GIT-Repository

Das Problem ist, dass ich möchte ein Git-Repository auf einem Server gespeichert haben und ich kann arbeiten mit Git normalerweise, Push-und Pull-Änderungen.

Es gibt jedoch Entwickler, die keine Änderungen am Code vornehmen müssen, aber sie müssen in der Lage sein, den neuesten Snapshot des Quellcodes zu holen und auf ihrem Rechner zu erstellen. Diese sogenannten "Entwickler" würden SVN gerne als SCM verwenden, mit dem sie bereits vertraut sind.

Also, gibt es eine Möglichkeit, ein solches Szenario einzurichten? Oder ist das der einzig mögliche Weg - ein SVN-Repository zu verwenden und mit git-svn zu arbeiten, wenn ich für mich selbst und SVN für den Rest meiner Kollegen git?

Danke!

+0

Das wäre ziemlich nützlich, aber ach, ich kenne so etwas nicht. Nur Möglichkeiten, um in die andere Richtung zu gehen, wie Sie bereits erwähnt haben. Ich frage mich, was es braucht, um einen zu schreiben. –

Antwort

-1

Vielen Dank für Ihre Antworten, svick und Damien! Sie sind beide gut, aber da ich sie beide nicht akzeptieren kann, werde ich das Ganze in meiner eigenen Antwort aufgreifen.


Also, im Grunde könnte man einen Git Repository mit read-only SVN-Zugriff darauf hat. Als Damien sagte

die offizielle repo machen ein git eine und automatisch an einen Slave Svn repo schieben Haken mit git-Svn, entweder mit cron oder in einem post-commit.

Ein anderer Weg Read-Only Zugriff auf den Code in einem beliebigen Repository zu erhalten, ist ein Archiv mit dem neuesten Snapshot des Quellcodes zu haben, irgendwo auf dem Server und zum Herunterladen gespeichert.


Wenn es eine Notwendigkeit für einige Benutzer ist der Code, um Änderungen in die einzig angemessene Art und Weise zu speichern, um sie sie wäre wieder in die Repo zu begehen, egal was SCM verwendet wird.Wenn in diesem Fall der Benutzer, der eine Änderung vorgenommen hat, nicht wissen kann, wie er zu schreiben ist, sollte es einen Programmierer geben (verantwortlich für den Quellcode), der die Änderung gerne überprüfen und in den Repo zurückversetzen wird.

4

Wenn Sie ein Repository mit SVN auschecken möchten, müssen Sie ein SVN-Repository haben, nicht überraschend. Ohne das wäre es schwierig, die Dinge im Auge zu behalten, die nicht gut zwischen SVN und git übersetzen (z. B. Revisionsnummer, Zweigstellen).

Aber was Sie suchen, scheint nicht wirklich wie ein Repository zu sein, Sie müssen nur einen Ordner synchronisieren. Dafür sind andere Werkzeuge als SVN wahrscheinlich besser geeignet, z.B. rsync. Eine andere Möglichkeit besteht darin, ein immer aktuelles Archiv zu haben, das den Quellcode enthält (zum Beispiel stellt Github dies bereit).

4

Mit einem SVN Repo über git-svn für Sie würde funktionieren, aber wenn es andere Leute, die git mögen, werden Sie die Vorteile der Zusammenarbeit mit Git verlieren. Das ist es, was ich bei der Arbeit benutze, wo SVN der De-facto-Standard ist, und ich bevorzuge nur gits Befehle und bessere Protokollanzeige. Wir verwenden SVN meistens als Archivierungswerkzeug: keine Zweige, und wir synchronisieren im echten Leben, um an einem einzigen Dokument zu arbeiten.

Eine andere Lösung wäre, die offizielle Repo ein git, und automatisch zu einem Slave-Svn-Repo mit git-svn, entweder mit Cron oder in einem Post-Commit Hook. Dies scheint der beste zu sein, wenn du sagst, dass die svn-Benutzer niemals ein Commit machen müssen.