Frage

Ich werde bald meinen Teil einer Anwendung von der Verwendung eines von svn unterstützten Repositorys auf die Verwendung von git 1 konvertieren.

Ich habe zuvor git-svn verwendet, aber das gesamte Team wird auf git umgestellt, und ich wurde gebeten, an der Spitze dieses Umzugs zu stehen. Obwohl ich froh bin, dass ich verstehe, wie man den größten Teil des Umzugs macht, gibt es einen Aspekt, den ich noch nicht ausgearbeitet habe.

Ein Verzeichnis meines Konfigurationsrepositorys wurde immer verwendet, um das Skriptverzeichnis einer externen Anwendung auf einem eigenständigen Windows-Computer zu verfolgen. Das Skriptverzeichnis für diese Anwendung befindet sich im Installationsverzeichnis der Anwendung. Mit svn habe ich also genau dieses Verzeichnis an der entsprechenden Stelle ausgecheckt.

Ich hatte gehofft, dass ich mit dieser Struktur fortfahren kann, aber meine Forschung legt nahe, dass enge Klone im git erfordern, dass Sie dieselbe relative Struktur beibehalten, was in meinem Fall schwierig wäre.

Um explizit zu sein, möchte ich den Inhalt von myrepo:config/scripts dem C:\application\scripts zuordnen.

Soweit ich es sehen kann, habe ich mehrere Möglichkeiten:

1. Verwenden Sie für diese Skriptdateien ein separates Repository.

Dies wäre wahrscheinlich vorzuziehen, da ich das Repo genau an der richtigen Stelle klonen kann.

Leider gibt es derzeit keine Struktur, in der Konfigurationsdaten (wie diese Skripte sind) an einer anderen Stelle als im Konfigurationsverzeichnis gespeichert werden können. Dies würde eine Umstrukturierung unserer Repositorys erfordern, die über die von uns erhoffte direkte Konvertierung von svn in git hinausgeht.

2. Verwenden Sie Verbindungspunkte.

Ich könnte die git-Arbeitskopie des config-Verzeichnisses an einer anderen Stelle im C:\ ablegen und dann einen Knotenpunkt verwenden, um das Verzeichnis als Unterverzeichnis des Anwendungsverzeichnisses anzuzeigen, genau wie Ger4ish schlägt vor, Symlinks unter Unix zu verwenden.

Leider habe ich keinen Administratorzugriff auf diesen Computer, daher ist dies nicht so einfach, wie es zuerst erscheint.

Andere Optionen?

Ich frage mich, ob es Optionen gibt, die ich verpasst habe.

Wenn ich mir die Antworten auf die Frage ansehe, kann ich einen Teil des Weges finden, sparsame Prüfung in Git 1.7.0? Die Anforderung, die Struktur gleich zu halten, kombiniert mit der Notwendigkeit, an einer bestimmten Position auszuchecken, bedeutet jedoch, dass diese Methode nicht funktioniert.

War es hilfreich?

Lösung

Haben Sie sich Submodule angesehen?Sie können ein separates Git-Repository für Ihre Konfigurationsskripte erstellen und es als Submodul zu Ihrem Haupt-Repository hinzufügen.Auf diese Weise können Sie das Auschecken direkt in application/scripts durchführen, das Konfigurationsverzeichnis jedoch weiterhin im primären Repository behalten.

Es gibt einige Nuancen in Bezug auf die Beziehung zwischen Submodulen und dem primären Repository. Sie möchten also, dass jeder, der sich in das Skriptverzeichnis einfügt, diesen Workflow versteht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top