WinMerge - игнорировать все пробелы, включая новые строки и изменения форматирования - PullRequest
0 голосов
/ 10 июля 2020

Как я могу игнорировать изменения «стиля кода» при использовании WinMerge в качестве средства различения? В частности, для двух коммитов.

Так что

thing
{
  a,
  b
}

и

thing { a, b }

будут рассматриваться как идентичные.

По сути this вопрос, но для winmerge, а не diff.

.gitconfig :

[diff]
    tool = winmerge
[difftool]
    prompt = false
[difftool "winmerge"]
    cmd = "$HOME/scripts/winmerge.sh" "$LOCAL" "$REMOTE"
[mergetool]
    prompt = false
    keepBackup = false
    keepTemporaries = false
[merge]
    tool = winmerge
[mergetool "winmerge"]
    cmd = "'C:/Program Files (x86)/WinMerge/WinMergeU.exe'" -e -u -fm -dl \"Local\" -dr \"Remote\" "$LOCAL" "$MERGED" "$REMOTE"

(winmerge.sh просто вызывает WinMergeU.exe -e -u -wr "$1" "$2")

Ни один из параметров командной строки не подходит, и я думаю, что строковые фильтры не будут работать, потому что они построчные.

1 Ответ

1 голос
/ 10 июля 2020

Вы можете добавить .gitattributes для своего файла. Это запустит инструмент для нормализации / украшения / претификации обоих файлов перед сравнением.

Это запустит .json файлы через json_pp перед сравнением:

echo "*.json diff=json" >> .gitattributes
git config diff.json.textconv json_pp

Проверить git документация для деталей: https://git-scm.com/docs/gitattributes

Источник: https://t-a-w.blogspot.com/2016/05/sensible-git-diff-for-json-files.html

...