2013-03-14 5 views
5

Ich habe ein großes Ameisenprojekt in Git versioniert. Wir ändern derzeit Bauwerkzeug zu Maven. Es bedeutet, dass alle Java-Quelldateien in eine andere Verzeichnisstruktur verschoben werden. Ich habe ein Bash-Skript erstellt, um Java-Quellen in einen Verzeichnisbaum und andere Ressourcen in ein anderes Verzeichnis zu verschieben. Baum. Ich konvertiere ein Modul (Quellcode) nach dem anderen.Git stoppt das Auflösen von Dateien, wie umbenannt, nachdem eine bestimmte Anzahl von hinzugefügten/gelöschten Dateien erreicht wurde

Ich laufe git status nach dem Verschieben jedes Moduls und zunächst sehe ich richtigen Status RENAMED mit jeder Datei.

Nachdem ich ein anderes Modul verschoben habe und die Anzahl der verschobenen Dateien über 100 erreichen, hört Git auf, bewegte Dateien zu erkennen und entkoppelt sie. Das bedeutet, dass ich nach der Ausführung von git status jede Datei (Ereignis, das zuvor korrekt erkannt wurde) zweimal sehe. Ein DELETED im alten Pfad und ein NEW FILE im neuen Pfad.

Gibt es etwas, das die Anzahl der automatisch aufgelösten Dateien als umbenannt begrenzt?

+1

Verschieben Sie die Dateien über "mv" oder "git mv"? Ich habe keine Ahnung, ob das einen Unterschied macht, aber ich bin selbst an der Lösung interessiert;) – creinig

+2

git mv bringt auch die Änderungen in Gang. Es gibt keinen anderen Unterschied nach Gitbuch http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#Moving-Files – UltraMaster

Antwort

4

Was Sie Wert von

diff.renameLimit 

?

Versuchen

git config diff.renameLimit 0 

, um die Grenze zu deaktivieren oder versuchen zu setzen einen sehr hohen Wert zu setzen.

+0

Ich habe es nicht in meiner Konfiguration. Wenn ich diese Option auf 0 setze, half das nicht. Ich habe auch Wert 100000 versucht, aber es hat auch nicht funktioniert. – UltraMaster

+0

IHRE ANTWORT IST RECHT. Fügen Sie bitte Informationen hinzu, dass 'git status' schlechte (' deleted' und 'new file') Informationen anzeigt, aber' git commit' benennt die Knoten richtig um. Vielen Dank für Ihre Antwort. ||| Darüber hinaus in diesem Artikel http://git.661346.n2.nabble.com/Re-Intensity-rename-detection-td1452403.html Linus schreibt, dass neue Versionen von git mit beliebig vielen "exakten Umbenennungen" umgehen können Wirklich, diese Dateien, die vorher nicht richtig umbenannt wurden, haben in commit messesse nicht vollständigen Prozentsatz (dh 97%) ich weiß nicht warum ... es war nur mv der Datei .. ist egal Commit haben. Danke noch einmal – UltraMaster