I tried using kaleidoscope for git difftool to compare two branches.
So I installed ksdiff and setted it like follow in my .gitconfig
[diff] tool = kaleidoscope [difftool "kaleidoscope"] cmd = ksdiff --changeset $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")when running
git difftool myBranch otherBranch I Receive the error cannot use duplicate files within the same file list
1 Answer
I found a way to configure it. In Kaleidoscope itself under Kaleidoscope menu there is a link called Integration which open a configuration window for several versioning solutions.
After installing ksdiff clicking on Configure button will add the following lines to your .gitconfig file.
[diff] tool = Kaleidoscope
[difftool "Kaleidoscope"] cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[merge] tool = Kaleidoscope
[mergetool "Kaleidoscope"] cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot trustExitCode = truethen running the following command will open successively each different file
git difftool myBranch otherBranch -y -t Kaleidoscope--
Notes:
-ystands to avoid prompting for asking if we want to use Kaleidoscope for difftool for each file. Default answer is "yes".-t Kaleidoscopeis optionnal here as default difftool is already set toKaleidoscopein our.gitconfigfile.