Jump to content

Git auto-merge doesn't seem to be using Semantic Merge


ivanz

Recommended Posts

Just installed and configured Semantic Merge both in .gitconfig as the default merge and diff tool, but it doesn't seem to be working for me.

 

The Git GUI client (SmartGit) I am using is invoking git merge in a rebase scenario like this:

 

$ git.exe merge-recursive 02b45fc5f223d1c064fa005d7afb4f0ae2c994c0^ -- 07d63759f95b7e0917e6d405ecb010148856586d 02b45fc5f223d1c064fa005d7afb4f0ae2c994c0
 
and that doesn't seem to trigger Semantic Merge at all, since I end up with 2 C# file conflicted which when I open for conflict resolving get auto-merged (no conflicts) by Semantic Merge, so I just literally need to click on Save and that's it.
 
Here is my git config (I used your configuration docs). My git version is :
 

 

$ git --version

git version 1.8.4.msysgit.0

 

 

 

[diff]

tool = semanticdiff
 
[difftool "semanticdiff"]
cmd = C:/Users/Ivan/AppData/Local/PlasticSCM4/semanticmerge/semanticmergetool.exe -s \"$LOCAL\" -d \"$REMOTE\"
[difftool]
prompt = false
 
[merge]
tool = semanticmerge
 
[mergetool "semanticmerge"]
cmd = C:/Users/Ivan/AppData/Local/PlasticSCM4/semanticmerge/semanticmergetool.exe -d \"$LOCAL\" -s \"$REMOTE\" -b \"$BASE\" -r \"$MERGED\"
trustExitCode = true
 
[mergetool]
prompt = false
keepBackup = false

 

Auto-merging ####/$$$$.cs
CONFLICT (content): Merge conflict in ####/$$$$.cs

 

 

P.S: Also Semantic Merge is soooo slow to start-up here every time I have to trigger it (as external tool)
Link to comment
Share on other sites

Maybe I am misunderstanding something though. When configured in .gitconfig isn't SemanticMerge supposed to replace the default merge functionality and use semantic for C#/Java files, so that I end up with less conflicts and then I can use the GUI Tool for manual resolve where the SemanticMerge can't auto-resolve? 

Link to comment
Share on other sites

Hi,

 

yes, it should start semantic merge so the conflicts will be easier to resolve, even automatic.

 

I've just tested SmartGit and works for me just overriding the Built-in diff and merge tool by semantic merge. I didn't modify the git config.

 

Can you double check if the path is correctly specified... or if the SmartGit tool has access to it...

Can you restore the original git config and test it like I do?

Does your SmartGit installation work with another mergetool than the default built-in tool?

Link to comment
Share on other sites

Hi,

 

yes, it should start semantic merge so the conflicts will be easier to resolve, even automatic.

 

I've just tested SmartGit and works for me just overriding the Built-in diff and merge tool by semantic merge. I didn't modify the git config.

 

Can you double check if the path is correctly specified... or if the SmartGit tool has access to it...

Can you restore the original git config and test it like I do?

Does your SmartGit installation work with another mergetool than the default built-in tool?

 

Semantic Merge  starts when I double click on a conflicted file in SmartGit. That's cool, but I want it to also be used in the git pipeline during its own auto-merge to avoid the conflict in the first place (e.g. Semantic Merge can auto-resolve conflicts that normal text-merge can't). Is that possible?

Link to comment
Share on other sites

  • 7 months later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...