Oft haben sie geändert, als ich eine Kasse von einem anderen Zweig tun, oder ein Reset, erhalte ich die Erlaubnis verweigert "Fehler aus den Fenstern für eine bis ein Dutzend Dateien - aber die besonderen Dateien variieren von Lauf zu Lauf. Hier ist die Ausgabe eines Tests, den ich gerade gemacht habe, mit GIT_TRACE = 1. Die Spur nur hinzugefügt, um die eine Zeile vor der Fehlermeldung:Kasse Git und gelegentlich auf Windows zurückgesetzt zeigt zufällige Dateien
$ git checkout master trace: built-in: git 'checkout' 'master' error: git checkout-index: unable to create file dotnet/src/myfile.cs (Permission denied) D dotnet/src/myfile.cs Switched to branch "master"
Ich bin ziemlich sicher, das einige Rennen mit einem Virenscanner oder anderem Indexdienst auf meinem Rechner. Wenn das Rennen weiter bestehen würde, könnte ich sysinternals verwenden, um zu sehen, welcher Prozess das Dateihandle geöffnet hat. Es passiert jedoch sehr schnell, und mir ist kein Werkzeug bekannt, das mir diesen Konflikt zeigt. Überraschenderweise habe ich niemanden gefunden, der ähnliches Verhalten beschreibt. Wie kann ich diese Fehler zu stoppen, oder das Problem weiter diagnostizieren?
Ich suche speziell die Dateizugriffs Rennen zu beenden, indem die Identifizierung, was Prozess den gleichzeitigen Zugriff tut. So Vorschläge für ein Werkzeug, das zeigt, welcher Prozess eine Datei gesperrt hat, wenn ein Bearbeitungs verweigert wäre sehr hilfreich. Ich kenne 'Unlocker' und ähnliche Werkzeuge, die mir zeigen, in welchem Prozess eine Datei für eine bestimmte Zeit gesperrt ist. Dies funktioniert nicht für dieses Problem, da der Prozess die Datei für einen sehr kurzen Zeitraum gesperrt hält. Also muss das Tool die passenden Daten ohne meine Intervention sammeln, da ich zu langsam bin.
Beachten Sie auch den Kommentar # 16 dort. Wenn Sie Ihren Repo auf eine Nicht-Systempartition stellen, wird das Problem ebenfalls gelöst. http://code.google.com/p/msysgit/issues/detail?id=320#c16 –