Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

SourceTree / Kaleidoscope mergetool behavior broken

Warren Dodge
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
April 18, 2016

For the last several months there has been a problem with the integration between SourceTree and Kaleidoscope. This is not the launching problem with 2.2.* – Kaleidoscope is launching correctly. What happens is this:

  • Kaleidoscope integrations are set up: ksdiff & git difftool/mergetools
  • SourceTree is set to use Kaleidoscope as its difftool & mergetool
  • Have a file with merge conflicts
  • Launch external merge tool from SourceTree to resolve the conflicts
  • Make changes in Kaleidoscope & save
  • (check the files on disk and note that Kaleidoscope has saved the changes to the file correctly)
  • Quit Kaleidoscope
  • SourceTree cleans up the temporary files and returns the conflicted file to its previous unedited state with conflict markers

Configuring SourceTree to use FileMerge as the difftool/mergetool works fine.

Any ideas how to fix this? Thanks!

 

Warren

1 answer

0 votes
Warren Dodge
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
April 29, 2016

SourceTree sets up the .gitconfig file with this entry for Kaleidoscope:

[mergetool "sourcetree"]
    cmd = /usr/local/bin/ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
    trustExitCode = true

 

But it appears that ksdiff's exit code cannot be trusted. Changing the entry to the following makes everything work fine.

[mergetool "sourcetree"]
	cmd = /usr/local/bin/ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
	trustExitCode = false

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events