In unserer Firma arbeiten wir derzeit auf Svn, und haben sich gefragt, ob es möglich ist, auf Git, aber natürlich ist es nicht so trivial.Helfer Funktionen für Git und Svn Repositories API Abstraktion
Zuerst verwenden wir aktiv svn Revisioning, um aktuelle Build zu identifizieren, und svn Revisionsnummerierung ist viel einfacher zu verwenden als Git Hashes. Es gibt tatsächlich einen gemischten Ansatz - aber das ist nur auf Github verfügbar:
git hash to svn number generation scheme
Mit git es ist möglich Git Hash zu verwenden, um Nummer zu identifizieren zu begehen, und sogar Tagging durchzuführen, aber es höchstwahrscheinlich wird Handbuch benötigen Tagging für jedes Commit, was etwas schwierig klingt.
Außerdem haben wir nicht ein Svn-Repository, sondern mehrere Svn-Repositories, die sich über externe Referenzen gegenseitig referenzieren. Wie Sie sich vorstellen können, ist dies in git auch nicht so trivial - es gibt Untermodule, aber die Verpflichtung zum Untermodul erfordert Commit zu dessen Eltern-Git-Repository.
Wie auch immer ... Ich denke, Git könnte noch in Gebrauch genommen werden, aber ich begann zu fragen, ob es tatsächlich Helfer Build-Systeme gibt, die Svn und Git vollständig abstrahieren können.
denke ich, dass die Helfer Build-System:
- müssen Open Source sein Code
- muss abstrakt git und svn, und sie gleich auf beide arbeiten.
- Es sollte externe Repositories unterstützen, möglicherweise Verzweigung, möglicherweise automatische Commit-Nummerierung ähnlich wie Svn.
- könnte es "Svn" oder "Git" Kommandozeilen-Tools verwenden, um die notwendigen Operationen durchzuführen.
Ich habe mindestens SvnClient gefunden:
https://sharpsvn.open.collab.net/servlets/ProjectProcess?pageID=3797&freeformpage=Samples
Aber durch diesen Code schnell Blick - es C++ verwaltet wird, schwer, und ich vermute, nicht-trivial zu ändern. Nicht leicht in die richtige Richtung zu ändern. Unterstützt auch nicht git.
Ich würde bevorzugen, dass als Programmiersprache wäre C# oder C++. (aber nicht verwaltet C++)
Können Sie mir etwas empfehlen?
Und natürlich, wenn solche Helferfunktionen existieren nicht, vielleicht kann jemand empfehlen, von wo aus (entweder SVN-Client oder git Client, Open-Source-Code Alternativen) starten
Grundidee ist, dass ich Git & Svn abstrahieren möchte, also nach der Übertragung aller Daten von einem Repository zu einem anderen, hätte ich die gleiche Art von Toolset für die Verwendung beider Repositories. So würden Helfer-Tools (zB C# -Skript) den Übergang für mich reibungslos machen. – TarmoPikaro
Da Sie nur eine Art von VCS-Befehlen für ein bestimmtes Repo verwenden müssen, ist es für den Entwickler kein großes Problem, die beiden Arten von VCS-Befehlen zusammenzuführen. –