rburgst Posted March 7, 2014 Report Share Posted March 7, 2014 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. Link to comment Share on other sites More sharing options...
vsanchezm Posted March 18, 2014 Report Share Posted March 18, 2014 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 Link to comment Share on other sites More sharing options...
MrTact Posted June 23, 2014 Report Share Posted June 23, 2014 I assume this is still the case as of 1.0.59? I'm not getting any output from a straight difftool call either. Link to comment Share on other sites More sharing options...
vsanchezm Posted June 25, 2014 Report Share Posted June 25, 2014 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.