Kaleidoscope for git difftool

15,855

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.

Kaleidoscope "Integration" configuration window

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 to Kaleidoscope in our .gitconfig file.
Share:
15,855

Related videos on Youtube

svassr
Author by

svassr

Updated on September 18, 2022

Comments

  • svassr
    svassr almost 2 years

    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

  • stigi
    stigi over 9 years
    In my case I also had to add [merge] tool = Kaleidoscope to my .gitconfig.
  • Hadeer Zayat
    Hadeer Zayat over 3 years
    You can also use [difftool] prompt = false (and same for [mergetool]) in .gitconfig to always "avoid prompting for asking if we want to use Kaleidoscope for difftool for each file".