Kaleidoscope for git difftool
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
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 = true
then running the following command will open successively each different file
git difftool myBranch otherBranch -y -t Kaleidoscope
--
Notes:
-
-y
stands to avoid prompting for asking if we want to use Kaleidoscope for difftool for each file. Default answer is "yes". -
-t Kaleidoscope
is optionnal here as default difftool is already set toKaleidoscope
in our.gitconfig
file.