Jump to content
rburgst

Cannot get the mac version configured

Recommended Posts

Hi

 

Downloaded the mac version and failed to get it properly working

 

1. tried the following git config (among a myriad of combinations)

 

[diff]
tool = semanticdiff


[difftool "semanticdiff"]
cmd = \"/Applications/semanticmerge.app/Contents/MacOS/semanticmerge\" -s \"$LOCAL\" -d \"$REMOTE\"
[difftool]
prompt = false


[merge]
tool = semanticmerge
[mergetool "semanticmerge"]
cmd = \"/Applications/semanticmerge.app/Contents/MacOS/semanticmerge\"  -b=\"$BASE\" -d=\"$LOCAL\" -s=\"$REMOTE\" -r=\"$MERGED\" -l=csharp -emt=\"mergetool.exe -b=\"\"@basefile\"\" -bn=\"\"@basesymbolic\"\" -s=\"\"@sourcefile\"\" -sn=\"\"@sourcesymbolic\"\" -d=\"\"@destinationfile\"\" -dn=\"\"@destinationsymbolic\"\" -r=\"\"@output\"\" -t=\"\"@filetype\"\" -i=\"\"@comparationmethod\"\" -e=\"\"@fileencoding\"\"\" -edt=\"mergetool.exe  -s=\"\"@sourcefile\"\" -sn=\"\"@sourcesymbolic\"\" -d=\"\"@destinationfile\"\" -dn=\"\"@destinationsymbolic\"\" -t=\"\"@filetype\"\" -i=\"\"@comparationmethod\"\" -e=\"\"@fileencoding\"\"\"
trustExitCode = true


[mergetool]
prompt = false
keepBackup = false

Then executing the following command

git difftool

yields the following output into the log file

2014-03-07 21:58:36,071 ERROR [-1596186200] SemanticMerge - Could not find a part of the path "/Applications/semanticmerge.app/Contents/Resources/devices/tmcs-reservation-sync/src/main/java/com/apcoa/tmcs/devices/reservation/sync/internal/OnlineReservationSyncAdapter.java".
System.IO.DirectoryNotFoundException: Could not find a part of the path "/Applications/semanticmerge.app/Contents/Resources/devices/tmcs-reservation-sync/src/main/java/com/apcoa/tmcs/devices/reservation/sync/internal/OnlineReservationSyncAdapter.java".
at System.IO.FileStream..ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,bool,System.IO.FileOptions) <0x0019b>
at System.IO.FileStream..ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare) <0x00023>
at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare) <0x00053>
at System.IO.File.OpenRead (string) <0x0002f>
at System.IO.StreamReader..ctor (string,System.Text.Encoding,bool,int) <0x0007f>
at System.IO.StreamReader..ctor (string,System.Text.Encoding) <0x0001f>
at (wrapper remoting-invoke-with-check) System.IO.StreamReader..ctor (string,System.Text.Encoding) <0x00037>
at Codice.CM.SemanticMerge.SemanticMergeSource.ReadFile (string,System.Text.Encoding) <0x0004b>
at Codice.CM.SemanticMerge.SemanticMergeSource.GetTree (Codice.Tree.SemanticMergeFileInfo) <0x00023>
at Codice.CM.SemanticMerge.Gui.DiffController.a () <0x000e7>
at Codice.CM.SemanticMerge.Gui.DiffController.BuildMergeSource () <0x00013>
at semanticmergeguimonomac.AppDelegate.LaunchSemanticTool (Codice.CM.SemanticMerge.Gui.Model.SemanticToolInfo) <0x0002d>
at semanticmergeguimonomac.AppDelegate.FinishedLaunching (MonoMac.Foundation.NSObject) <0x00077>
at (wrapper dynamic-method) object.[semanticmergeguimonomac.AppDelegate.Void FinishedLaunching(MonoMac.Foundation.NSObject)] (MonoMac.Foundation.NSObject,MonoMac.ObjCRuntime.Selector,MonoMac.Foundation.NSObject) <0x00033>
at (wrapper native-to-managed) object.[semanticmergeguimonomac.AppDelegate.Void FinishedLaunching(MonoMac.Foundation.NSObject)] (MonoMac.Foundation.NSObject,MonoMac.ObjCRuntime.Selector,MonoMac.Foundation.NSObject) <0x0011b>
at (wrapper managed-to-native) MonoMac.AppKit.NSApplication.NSApplicationMain (int,string[]) <0x00003>
at MonoMac.AppKit.NSApplication.Main (string[]) <0x00097>

notice that it messes up the paths, tried a couple of combinations with and without quotes, but so far no joy

 

2. tried to set it up in sourcetree

 

Diff Command: /Applications/semanticmerge.app/Contents/MacOS/semanticmerge

Arguments: -s \"$LOCAL\" -d \"$REMOTE\"

 

Clicking the External Diff Tool button yields the following error message when trying to diff a java file

Oops! We do not support your language... yet!
SemanticMerge received the following files: aWxgm5_ReservationMapper.java", ReservationMapper.java".
The file extensions are not recognized as supported languages.
You can run your default text-based diff tool.
 
Note: in case you know these files contain a supported language check how to use the -l param in SemanticMerge.

If I click the "run text diff" button, I get

No external diff tool has been specified in order to proceed with the diff.

Haven't tried with merging yet, but the diff results are far from promising

 

3. a last problem is that by default the user does not have write access to the directory where semantic merge is trying to put the log file

so I had to do the following as root

git chmod a+w Applications/semanticmerge.app/Contents/MonoBundle

So all in all either I am doing something completely wrong, or this tool just plain does not work right with git and the mac.

 

  • Like 1

Share this post


Link to post
Share on other sites

Hi!

 

Thanks for your feedback!

 

I'm sorry, but we don't have semantic diff tool for mac yet :( only merge tool. We are working to have it ASAP.

 

Regarding the configuration to use semantic merge as your merge tool with git, you can check it at http://www.semanticmerge.com/sm-guides/main.shtml#HowtoconfigurewithGit. Taking into account that:

* The path of semanticMerge is different in Mac, yours was correct (/Applications/semanticmerge.app/Contents/MacOS/semanticmerge)

* The external based-text merge tool cannot be our "mergetool.exe" since we are not providing it in Mac yet. You can use any other merge tool you have in your mac.

 

Sorry for the inconveniences, it is still beta, we are working to fullfill these kind of things.

 

Regarding your last point, we should move the log file to the user directory instead of inside the app. I will change this for the next release!

 

Let me know if it helps and you like what we got until now.

 

Violeta

Share this post


Link to post
Share on other sites

Hi,

 

Yes, I'm sorry but it's still the case :( The diff tool is still not available in Mac.

 

This version only has core improvements and fixes in complex merge cases.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...