2014-03-25 15 views
5

Ich habe versucht, git Hooks auf Windows zu tun, um automatisch Unix Symlinks im Repository zu Hardlinks + Kreuzungen Windows auf dem lokalen Rechner zu konvertieren. Wie kann ich das tun? Wir verwenden eine Mischung aus Windows und Unix-basierten Betriebssystemen.Git-Hooks für Symlink-Konvertierung unter Windows

I erweitert Befehlsliste Git wie diese Git Symlinks in Windows

ich über Haken gelesen und erstellt Post-Kasse Haken:

#!/bin/sh 
exec git rm-symlinks 

Es funktioniert, wenn ich git checkout #branch_with_symlink ausführen, aber wenn ich als nächstes tun Kasse, git schrieb:

error: Your local changes to the following files would be overwritten by checkout: 
#path_to_symlink 
Please, commit your changes or stash them before you can switch branches. 

git status:

# On branch #branch_with_symlink 
nothing to commit, working directory clean 

git haben nicht vor-Kasse Haken, und ich verstehe nicht, wie ich diese convertion

machen
+1

Ich habe das gleiche Problem (gleiche Fehler, der mich nicht selbst wechseln Zweig nicht lassen, wenn es keine Änderungen). Der Unterschied zu Ihnen besteht darin, dass ich die Junction-Punkte manuell (in Windows 8) erstellt habe. Es scheint, dass es ein Problem mit Git gibt. Wenn Sie eine Lösung finden, teilen Sie sie bitte mit. – Durden81

Antwort

1

Anstatt einen Haken verwenden, könnten Sie versuchen, eine wischFilter. Sie sind eher darauf ausgelegt, den Inhalt von Textdateien zu ändern als von Symlinks, aber ich denke, Sie könnten sie zum Laufen bringen.

Einige Dokumentation hier: http://git-scm.com/docs/gitattributes#__code_filter_code