Schwellenwert für den Ähnlichkeitsindex für Git-Merge mit einbezogener Umbenennung ändern (wie -M [n] --find-renames [= n] für diff)

9

Wir haben einige Konfigurationsoptionen für die Heuristiken zur Umbenennungserkennung während diff ( log , show ) und merge :

diff.renameLimit Die Anzahl der Dateien, die bei der Erkennung von Kopieren / Umbenennen berücksichtigt werden sollen. äquivalent zur Option git diff -l.

diff.renames Weist git an, Umbenennungen zu erkennen. Wenn auf einen booleschen Wert gesetzt, wird die grundlegende Erkennung von Umbenennungen aktiviert. Wenn "Kopieren" oder "Kopieren" eingestellt ist, werden auch Kopien erkannt.

merge.renameLimit Die Anzahl der Dateien, die beim Ausführen der Umbenennung während einer Zusammenführung berücksichtigt werden sollen. Wenn nicht angegeben, wird standardmäßig der Wert von diff.renameLimit verwendet.

Außerdem haben wir die Möglichkeit zu kontrollieren, wann Dateien mit unterschiedlichen Inhalten als umbenannt werden für diff ( log , show ):

-M [& lt; n & gt;] (oder --find-renames [= & lt; n & gt;])

Erkennen umbenennt. Wenn n angegeben ist, ist dies ein Schwellenwert für den Ähnlichkeitsindex (d. H. Menge an Hinzufügungen / Löschungen verglichen mit der Dateigröße). Zum Beispiel bedeutet -M90%, dass git ein Lösch / Hinzufügen-Paar als Umbenennung betrachten sollte, wenn mehr als 90% der Datei nicht geändert wurden.

FRAGE : Wie wird ein Schwellenwert für den Ähnlichkeitsindex für die Zusammenführung gesteuert? Es scheint nur als Befehlszeilenoption für diff und einige andere verfügbar zu sein, aber nicht für merge . Und auch für diff kein Konfigurationsschlüssel. Ist es aus irgendeinem Grund nicht für merge anwendbar?

    
IgorK 11.01.2012, 21:33
quelle

1 Antwort

4
___ tag123git ___ Git ist ein Open-Source-Versionskontrollsystem (DVCS). Verwenden Sie dieses Tag für Fragen zur Verwendung von Git und Workflows. Verwenden Sie dieses Tag nicht für allgemeine Programmierfragen, die ein Git-Repository betreffen. ___ qstntxt ___

Wir haben einige Konfigurationsoptionen für die Heuristiken zur Umbenennungserkennung während %code% ( %code% , %code% ) und %code% :

diff.renameLimit Die Anzahl der Dateien, die bei der Erkennung von Kopieren / Umbenennen berücksichtigt werden sollen. äquivalent zur Option git diff -l.

diff.renames Weist git an, Umbenennungen zu erkennen. Wenn auf einen booleschen Wert gesetzt, wird die grundlegende Erkennung von Umbenennungen aktiviert. Wenn "Kopieren" oder "Kopieren" eingestellt ist, werden auch Kopien erkannt.

merge.renameLimit Die Anzahl der Dateien, die beim Ausführen der Umbenennung während einer Zusammenführung berücksichtigt werden sollen. Wenn nicht angegeben, wird standardmäßig der Wert von diff.renameLimit verwendet.

Außerdem haben wir die Möglichkeit zu kontrollieren, wann Dateien mit unterschiedlichen Inhalten als umbenannt werden für %code% ( %code% , %code% ):

-M [& lt; n & gt;] (oder --find-renames [= & lt; n & gt;])

Erkennen umbenennt. Wenn n angegeben ist, ist dies ein Schwellenwert für den Ähnlichkeitsindex (d. H. Menge an Hinzufügungen / Löschungen verglichen mit der Dateigröße). Zum Beispiel bedeutet -M90%, dass git ein Lösch / Hinzufügen-Paar als Umbenennung betrachten sollte, wenn mehr als 90% der Datei nicht geändert wurden.

FRAGE : Wie wird ein Schwellenwert für den Ähnlichkeitsindex für die Zusammenführung gesteuert? Es scheint nur als Befehlszeilenoption für %code% und einige andere verfügbar zu sein, aber nicht für %code% . Und auch für %code% kein Konfigurationsschlüssel. Ist es aus irgendeinem Grund nicht für %code% anwendbar?

    
___ tag123dvcs ___ DVCS steht für Distributed Versions Control System. ___ qstnhdr ___ Schwellenwert für den Ähnlichkeitsindex für Git-Merge mit einbezogener Umbenennung ändern (wie -M [n] --find-renames [= n] für diff) ___ answer10013130 ​​___

Wenn Sie mit der rekursiven Zusammenführungsstrategie (Standard) zusammenführen, können Sie die Umbenennungsschwelle verwenden:

%Vor%     
___
lhunath 04.04.2012, 14:23
quelle

Tags und Links