How can I ignore "code style" changes while using WinMerge as a difftool? Specifically across two commits.
So that
thing
{
a,
b
}
and
thing { a, b }
would be treated as identical.
Essentially this question, but for winmerge rather than 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 just calls WinMergeU.exe -e -u -wr "$1" "$2")
None of the command line options seem to fit, and I think line filters won't work because they are per-line.
These options work for me:
WinMerge -> Edit -> Options -> Compare -> General ->
The answer was taken from https://superuser.com/questions/174275/can-i-compare-only-file-contents
To answer my own question with the benefit of more time:
difftastic does this for read-only diffs at the cost of speed and memoryIgnore blank lines; Ignore carriage return differences (Windows/Unix/Mac)
This ignores line feed differences, and full blank line differences, but does not compare files semantically. It does help in certain simple cases.
Line filter
^\s*$
Same as "Ignore blank lines"
.gitattributesformatter withtextconvfor specific file types
This is the closest option for read-only diffs, with the downsides of:
difftastic is slow or hogging memory, fall back to diff/WinMerge/VSCodeIf you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With