La fonctionnalité diff de git a une "détection de copie" - si elle détecte qu'un nouveau fichier est réellement une copie (éventuellement modifiée) d'un fichier existant, la sortie diff montre les différences entre le fichier source et le nouveau fichier. juste un tas d'ajouts d'un fichier vide dans le nouveau fichier. Pour autant que je sache, git diff
utilise des heuristiques pour détecter cette situation. Malheureusement, il ne détecte pas un nouveau fichier particulier en tant que copie d'un autre fichier car je suppose qu'il a trop changé. J'aimerais toujours voir le diff comme s'il s'agissait d'une copie. Y at-il un moyen d'informer git diff
que le nouveau fichier est une copie d'un autre afin qu'il le fasse pour moi?Puis-je forcer git diff à traiter un fichier comme une copie?
9
A
Répondre
3
git diff
(au moins ma version 1.5.6 le fait) est livré avec le commutateur --find-copies-harder
, qui fait plus de détection de copie intensive du processeur que le -C
fait.
0
Je veux juste m'assurer qu'il a été ajouté au repo git.
Aussi si vous connaissez le fichier original, pourquoi ne pas utiliser diff directement?
0
Avez-vous essayé de mettre les deux fichiers dans le diff?
quelque chose comme
git diff --stat -p --find-copies-harder -- src/OldFile.java src/main/NewFile.java
Je suppose que vous avez fait, juste au cas où ...
J'ai essayé --find-copies plus dur et il n'a toujours pas détecté mon nouveau fichier en tant que copie de un fichier existant. – nohat