Могу ли я заставить git diff рассматривать файл как копию? - PullRequest
9 голосов
/ 21 апреля 2009

Функция diff в git имеет «обнаружение копирования» - если он обнаруживает, что новый файл является (возможно, измененной) копией существующего файла, вывод diff скорее показывает различия между исходным файлом и новым файлом чем просто набор дополнений из пустого файла в новый файл.

Насколько я могу судить, git diff использует некоторую эвристику для обнаружения этой ситуации. К сожалению, он не обнаруживает новый файл как копию другого, потому что, я думаю, он слишком сильно изменился. Я все еще хотел бы видеть различие, как будто это была копия. Есть ли способ сообщить git diff, что новый файл является копией другого, чтобы он сделал это для меня?

Ответы [ 3 ]

2 голосов
/ 21 апреля 2009

git diff (по крайней мере, для моей версии 1.5.6) поставляется с переключателем --find-copies-harder, который делает более интенсивное обнаружение копий процессором, чем обычный -C.

0 голосов
/ 03 декабря 2013

Вы пытались поместить оба файла в diff?

что-то вроде

git diff --stat -p --find-copies-harder -- src/OldFile.java src/main/NewFile.java

Я полагаю, вы сделали, на всякий случай ...

0 голосов
/ 21 апреля 2009

Просто хочу убедиться, что он был добавлен в репозиторий git.

Также, если вы знаете оригинальный файл, почему бы не использовать diff напрямую?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...