Wie Guerilla VC mit Git, während gezwungen, CVS bei der Arbeit verwenden?

8

Mein Arbeitsplatz verwendet derzeit CVS. Eine Migration nach Gittern ist geplant, aber es könnte noch lange dauern. In der Zwischenzeit habe ich ein Ein-Mann-Projekt und habe mich entschieden, git für meine persönliche Entwicklung zu verwenden. Die Verzweigung, inszenierten Commits, Rebasing etc. war fantastisch! Aber irgendwann muss dieses Projekt und seine Geschichte in CVS importiert werden, damit andere meinen Fortschritt überprüfen können.

Was ist der beste Weg zu ...

  • importiert das aktuelle Projekt (idealerweise als eine Menge separater Commits / Revisionen) in CVS
  • ermöglichen wiederholbare Importe von zukünftigen Änderungen in CVS
  • (Bonusfrage - ideal, aber nicht erforderlich) füge alle CVS-Änderungen anderer Entwickler wieder in git ein

Im Moment ist nichts in CVS, wenn es darauf ankommt. (Und wenn ich meinen Weg hätte, wäre nie etwas in CVS, aber ich stecke vorerst fest!) Danke im Voraus!

    
rjh 05.03.2010, 22:20
quelle

2 Antworten

2

Obwohl ich kein explizites CVS-Wissen habe, würde ich folgendes Setup vorschlagen.

  • Work\Project.git & lt; - git Repo
  • Sync\Project & lt; - git Klon des Masters Zweig in ..\Work\Project.git + CVS Versionskontrolle für diesen Ordner.

Dann kannst du all deinen Git-Kram in Project.git machen und wenn du in CVS importieren willst, gehst du zu Sync\Project und tust einen git pull , um die Änderungen in deinem Sync-Verzeichnis zu wiederholen (vielleicht musst du das machen) eine vollständige Dir Kasse in CVS?).

Für das umgekehrte Szenario müssen Sie möglicherweise mit der Import-Verzweigung arbeiten, aber ich denke, es wäre möglich, die Änderungen von Ihren Kollegen im Sync-Ordner zu erhalten, aber in einen neuen Zweig zu importieren und diesen mit Ihrem Master zu verbinden Zweig, den Sie aus Ihrem Haupt-Git-Repository gezogen haben. Nach dieser Zusammenführung könntest du git push die Änderungen zurück zu deinem Work\Project.git machen.

Im Wesentlichen verwenden Sie Ihr Synchronisierungsrepository genauso, als wären Sie ein anderer Entwickler. Sie könnten sogar das reguläre Repository von Ihrer Synchronisierung abziehen lassen (also eine Pull-Anfrage an sich selbst senden ;-)) oder den git send patch-Mechanismus verwenden, um Ihr Haupt-git-Repository zu aktualisieren.

Beim Importieren des CVS-Änderungssatzes in git gibt es einen git-cvsimport, der Ihnen dabei helfen soll.

    
Davy Landman 05.03.2010, 22:33
quelle
2

git cvsimport und git cvsexportcommit können Ihnen einen ähnlichen Workflow wie git svn

geben     
Dustin 06.03.2010 00:29
quelle

Tags und Links