dvcs - Verschiedene verteilte Versionskontrollsysteme arbeiten zusammen

Translate

Mein Büro verfügt über eine zentrale Source Safe 2005-Installation, die wir für die Quellcodeverwaltung verwenden. Ich kann nicht ändern, was das Büro auf dem Server verwendet.

Ich entwickle auf einem Laptop und möchte ein anderes lokales Quellcodeverwaltungs-Repository haben, das mit dem zentralen Server (sofern verfügbar) synchronisiert werden kann, unabhängig davon, um welchen zentralen Anbieter es sich handelt. Der Grund für die Anfrage ist, dass ich einen lokalen stabilen Zweig / Build für Kundenpräsentationen unterhalten kann, während ich mich weiterentwickle, ohne durch brennende Reifen springen zu müssen. Als Berater können meine Kunden auch verlangen, dass ich ihren Versionsverwaltungsanbieter benutze, und Flexibilität würde hier das Leben erleichtern.

Kann einer der vorhandenen Clients für verteilte Quellcodeverwaltung damit umgehen?

This question and all comments follow the "Attribution Required."

Alle Antworten

Translate

Nun ... KernelTrap hatetwas dazu. Sieht aus wie Sie verwenden könnenvss2svnUm das Source Safe-Repo in ein Subversion-Repository zu leiten, verwenden Sie das sehr nette git-svn, um es in ein lokales git-Repo zu ziehen.

Ich würde davon ausgehen, dass die Rückgabe an VSS mit dieser Methode kein reibungsloser, automatischer Prozess ist.

Quelle
Translate

Sie sollten in der Lage sein, die aktuelle Version des Codes zu überprüfen und dann ein Git-Repository darum herum zu erstellen. Das Aktualisieren und Festschreiben in Ihrem lokalen Git-Repository sollte problemlos sein. Wie sollte es klonen.

Der einzige Haken ist, dass beide sich gegenseitig ignorieren müssen (ich habe etwas Ähnliches mit SVN gemacht), indem Sie mit den entsprechenden Ignorierdateien herumspielen. Ich gehe davon aus, dass SourceSafe Sie Dinge ignorieren lässt. Und Sie müssen bestimmte Vorgänge zweimal ausführen (z. B. beiden mitteilen, dass Sie eine Datei löschen).

Quelle
Translate

DieseDie Folge von HanselMinutes behandelt genau das, was ich mir erhofft hatte. Anscheinend kann Git lokal verwendet und dann bei Bedarf an externe Subversion / vss-Repositorys angehängt werden. Sie reden 14 ~ 15 Minuten darüber.

Quelle
Translate

Eines Tages arbeite ich in einer Firma, die VSS verwendet (und in anderen Firmen, die andere weniger unbekannte verwendenSCM) aber ich bevorzuge SVN (eines Tages werde ich GIT ausprobieren) für die aktive Entwicklung, für mich und meine Gruppe.

Zuallererst ist diese Situation nur dann eine gute Idee, wenn es nur wenige Commits für VSS über einen Monat gibt, da die Arbeit mit anderen SCM (als VSS) mehr Flexibilität bietet, aber das Commint zu VSS von SVN zeitlich teuer ist.

Meine Lösung war:

VSS -> SVN: Ich habe ein Linux-Skript (oder ein Ant-Skript oder ein XXX-Skript), das aus dem aktuellen Update-Verzeichnis von VSS in das aktuelle SVN kopiert, dann den SVN-Client aktualisiert und das SVN aktualisiert / zusammenführt / festschreibt. Damit werden Sie über Änderungen des restlichen Unternehmens informiert, die VSS verwenden.

SVN -> VSS: Auf diese Weise müssen Sie alle Ihre Änderungsdateien in VSS auschecken. Anschließend können Sie einfach das umgekehrte Skript verwenden, um aus dem aktuellen SVN-Aktualisierungsverzeichnis zu kopieren (SVN-Verzeichnisse ignorieren) und in das aktuelle VSS-Aktualisierungsverzeichnis zu kopieren. aktualisieren und festschreiben.

Aber denken Sie daran, in einigen Fällen lohnt sich Ihre Zeit dafür.

Quelle