Git Checkout und Reset unter Windows zeigt gelegentlich zufällige Dateien haben sich geändert

8

Wenn ich einen anderen Zweig oder eine Zurücksetzung auschecke, erhalte ich oft "Berechtigungsverweigerungs" -Fehler von Windows für ein bis zu ein Dutzend Dateien - aber die einzelnen Dateien variieren von Lauf zu Lauf. Hier ist die Ausgabe eines Tests, den ich gerade gemacht habe, mit GIT_TRACE = 1. Die Ablaufverfolgung fügte nur die eine Zeile vor der Fehlermeldung hinzu:

%Vor%

Ich bin mir ziemlich sicher, dass dies ein Rennen mit einem Virenscanner oder einem anderen Indexierungsdienst auf meinem Rechner ist. 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 stoppen oder das Problem weiter diagnostizieren?

Ich möchte insbesondere das Dateizugriffsrennen beenden, indem ich feststelle, welcher Prozess den simultanen Zugriff durchführt. Also Vorschläge für ein Tool, das anzeigt, welcher Prozess eine Datei gesperrt hat, wenn eine Bearbeitung verweigert wird sehr hilfreich sein. 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.

    
Michael Donohue 30.07.2009, 23:15
quelle

5 Antworten

3

Das Deaktivieren der UAC-Virtualisierung scheint das Problem behoben zu haben.

Siehe Ссылка

    
Michael Donohue 11.11.2009, 16:37
quelle
5

Es könnte der Windows Search-Indexer sein, der versucht, Indexdateien so zu erstellen, 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.

    
mynameistechno 16.05.2011 18:21
quelle
5

Siehe meinen Beitrag Ссылка

Nicht git verwandt!

Der Prozessmonitor von Sysinternals zeigt, dass der Windows Explorer mit neu erstellten Dateien interagiert, vielleicht aufgrund eines Plugins oder was, aber es passiert.

    
Andreas Vergison 20.07.2011 18:48
quelle
1

Sie können mit a beginnen:

%Vor%

Aber es zeigt möglicherweise nicht viel mehr als Ihre ursprüngliche Nachricht bezüglich dieser Datei an.

Die übliche Ursache ist ein geöffneter Editor, der die Dateien neu laden will, wenn sie geändert werden, und dies kann mit den Manipulationen von Git kollidieren.
Das bedeutet: Die übliche Strategie besteht darin, Ihren git-Befehl zu wiederholen, nachdem so viele Anwendungen wie Sie haben.

  

Ich habe niemanden gefunden, der ähnliches Verhalten beschreibt

Siehe diesen Thread zum Beispiel, dieser , beide auf Cygwin.
Welche Version von Git verwendest du (Git auf Cygwin oder MSysGit, in einer Cygwin-Sitzung oder einer Dos-Sitzung?)

    
VonC 31.07.2009 03:54
quelle
0

Sie könnten versuchen Filemon von sys internals

    
Tim Abell 16.09.2009 10:11
quelle

Tags und Links