2009-07-30 5 views
8

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.

Antwort

3

Deaktivieren UAC-Virtualisierung scheint die behoben haben Problem.

Siehe http://code.google.com/p/msysgit/issues/detail?id=320

+1

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 –

1

Sie können mit einem beginnen:

GIT_TRACE=1 

Aber es kann nicht viel mehr als die ursprüngliche Nachricht zu dieser Datei anzuzeigen.

Die übliche Ursache ist etwas geöffnet Editor, der die Dateien neu zu laden will, wenn geändert, und das kann mit git Dateimanipulationen in Konflikt geraten.
Das bedeutet: Die übliche Strategie ist es, Ihren Git-Befehl nach zu wiederholen, so viele andere Anwendungen wie Sie können .

Ich habe nicht gefunden jemand

Siehe this thread zum Beispiel ot this one, sowohl auf Cygwin ein ähnliches Verhalten zu beschreiben.
Welche Version von Git spielst Du (Git auf Cygwin oder msysGit, in einer Cygwin-Sitzung oder einer DOS-Sitzung?)

+1

Der Grund, warum ich diese Frage stelle, ist, die abergläubischen Handlungen zu vermeiden, die mir helfen können oder nicht, und tatsächlich die Ursache meines Problems herauszufinden. Also "die übliche Strategie ist es, Ihren Git-Befehl zu wiederholen, nachdem Sie so viele andere Anwendungen wie möglich haben." ist genau das, was ich nicht machen will. –

+2

@Michael: Ich verstehe. Es tut uns leid, dass wir den * exakten * Ratschlag gefunden haben, den Sie nicht befolgen wollten;) – VonC

0

Sie Filemon von sys Interna könnten versuchen

5

Es könnte das Windows Search Indexer, wird die Indexdateien tun versucht, wie sie erstellt werden. Ich stieß auf dieses Problem mit Svn Checkout und musste dieses Verzeichnis von der Indizierung ausschließen, bevor ich ein komplettes Projekt erfolgreich auschecken konnte.

+2

Die Deaktivierung der Indizierung für meinen Repo-Ordner hat dieses Problem für mich behoben. Windows Search Indexer ist standardmäßig so konfiguriert, dass der Ordner "Benutzer" indiziert wird. Wenn Ihr Repo in "Eigene Dateien" oder ähnlich gespeichert ist, kann dies die Ursache sein. Anweisungen zum Ausschließen von Verzeichnissen: http://www.windowsnetworking.com/articles-tutorials/windows-7/Exploring-Windows-7s-New-Search-Features-Part2.html –

Verwandte Themen