Unsere Entwickler verwenden eine Mischung aus Windows- und Unix-basierten Betriebssystemen. Daher werden auf Unix-Computern erstellte Symlinks für Windows-Entwickler zu einem Problem. In Windows (msysgit) wird der Symlink in eine Textdatei mit einem Pfad zu der Datei konvertiert, auf die er verweist. Stattdessen möchte ich den Symlink in einen tatsächlichen Windows-Symlink konvertieren.
Die ( aktualisierte ) Lösung, die ich dafür habe, ist:
- Schreiben Sie ein Post-Checkout-Skript, das rekursiv nach "Symlink" -Textdateien sucht.
- Ersetzen Sie sie durch Windows Symlink (mit mklink) mit demselben Namen und derselben Erweiterung wie Dummy "Symlink".
- Ignorieren Sie diesen Windows-Symlink, indem Sie einen Eintrag in .git / info / exclude hinzufügen
Ich habe dies nicht implementiert, aber ich glaube, dass dies ein solider Ansatz für dieses Problem ist.
Fragen:
- Welche Nachteile sehen Sie bei diesem Ansatz, wenn überhaupt?
- Ist dieses Post-Checkout-Skript überhaupt implementierbar? dh kann ich rekursiv herausfinden, welche Dummy-Symlink-Dateien git erstellt?
- Hat jemand schon an einem solchen Skript gearbeitet?