разница между выводами различий с использованием "git add --patch" и "filemerge" - PullRequest
2 голосов
/ 03 июня 2011

Я пытаюсь использовать git add --patch, и я заметил, что это различия не такие, как сгенерированные с использованием opendiff.

  1. Это часто встречается?Существуют ли разные алгоритмы сравнения?Я просто чокнутый?
  2. Если предположить, что выше "да", есть ли способ заставить git использовать алгоритм opendiff?

1 Ответ

2 голосов
/ 03 июня 2011

Есть действительно разные алгоритмы сравнения. (И есть много возможных различий, которые приведут к точно таким же изменениям в файле - это одна из причин, почему это так разумно, что git не сохраняет изменения, он только сохраняет состояние дерева при каждом коммите :))

Даже в git для некоторых команд вы можете выбрать один из двух различных алгоритмов сравнения - например, попробуйте переместить функцию в некотором коде C и сравнить вывод:

git diff

... и:

git diff --patience

Последний обычно более читабелен, хотя и медленнее для вычисления.

Я не уверен, какой алгоритм использует opendiff, но, возможно, он похож на diff терпения ?

К сожалению, я не верю, что в git в настоящее время возможно использовать другой алгоритм сравнения в git add -p, хотя я также считаю, что это очень полезно. Здесь есть серия патчей для добавления этой функции, но кажется, что автор еще не отправил эту апстрим.

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