semanticmerge

The merge tool that understands your code

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Separate out C# comment changes from other changes

    I think that the comments should be treated as a separate category of changes. That is, we have sections for Added, Removed, Moved, Changed. I would think it useful to have a Changed Comments. This is worthwhile because comment changes are much less important than code changes. If I do a lot of documentation changes, and in the same commit I happened to make a small code change (intentionally or not), I want that code change to stand out. The documentation is not nearly as important as the code itself.

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  2. .Net, C#: Make #region/#endregion sections their own entity, rather than treating them as comments

    Currently, the #region and #endregion tags are treated as part of the comments for the method that occurs after them. As such, if you organize your code with these #region sections, and then you happen to move a method just below a #region to a different place, and then you have a merge conflict over that method, then the regions get messed up.

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Diff control for .Net application.

    Maybe many will is interesting to compare files in your application. Is it possible to create a new product in the form of control for the .Net applications?

    I apologize if this is a silly suggestion, but the market I have not seen something like that.
    Thank you.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. JetBrains IDE Support (Intellij IDEA, Rider, CLion, WebStorm, AppCode)

    I would love to use this with my favorite IDE!

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. OpenSource/OpenCore

    It would be awesome if you created an open core product so that others could contribute to the merge algorithms, port to external IDE's, and add support for additional languages.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Support for merging NuGet packages.config files

    NuGet package files are simple XML files, and the merge procedure should be reasonably simple too.

    Packages are keyed by ID, so if there's a collision based on the ID, take the package reference with the highest version number.

    If the two sources include unique packages, the result should be the union of the two.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  7. Markdown/CommonMark support

    README.md files and more are pretty common to store in source control because they generally work better in line-differencing environments than most other formats. However, adding a word to a line and reflowing a paragraph still results in more noise than actual, functional difference between the content with traditional differencing tools. Using the CommonMark AST, differences would be far less noisy.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  8. Update the manual!

    on semanticmerge.com is no explanation how to integrate it into visualstudio and/or beyondcompare.
    this might be a good tool but without thorough explanation on how to integrate it into my and my colleuges working desktop it's just a useless nothingness.
    best would be you get your a$$e$ up and create an automatic installer that fully integrates semanticmerge into common configurations.
    i'm working for a global player company, hundreds of devs only in the branch where i work, but they don't buy licenses because of this!
    think about it $$$...

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. 3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. Add --slient CLI flag to skip GUI for automatically resolved conflicts

    Typically when rebasing in git, there will be a ton of trivial merge conflicts where I have to click Save & Exit in the GUI on each and every one.

    I believe there was a --slient flag at one point, but I never worked and I can no longer find documentation on it. Running 1.0.80.

    --slient together with -a (automatic merge) would ideally do what I want.

    My .gitconfig is as follows:

    [mergetool "semanticmerge"]
    cmd = \"C:/Users/Andreas/AppData/Local/PlasticSCM4/semanticmerge/semanticmergetool.exe\" -d \"$LOCAL\" -s \"$REMOTE\" -b \"$BASE\" -r \"$MERGED\" -a --nolangwarn --silent
    trustExitCode = true

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  11. Debian packages are signed with an expired key

    Currently (for some time now) when running 'update' in aptitude the following error is reported:

    A: GPG error: https://www.semanticmerge.com ./ Release: The following signatures are not valid: KEYEXPIRED 1442157655

    Of course, this has nothing to do with 'aptitude'.

    A new key needs to be provided and packages need to be signed with that key.

    The way Debian and Ubuntu do this is to have a separate package which is signed with the old key, and, when needed, delivers the new keys, then, after that package is available, the new key can be used for signing.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. Merge should ignore all references to renamed item.

    If a method, field, or property is renamed, the tool understands this and lets you know it was just a rename. However, it still flags every place in the code that references that item as a change. This seems like a simple thing for the tool to recognize and filter these out.

    Renames (especially in Visual Studio) are done in an almost guaranteed bug free way. So, I would love to not have to see them in diffs at all.

    14 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. Allow me to reset machine license keys and create additional keys

    You've stated in a previousl request that you will allow us to request as many additial keys as we need since many of us have mutiple machines. Tha is an OK work around for now, but the request process is too cumbersone. ON top of that, if we reinstall Windows or get a new machine, which my team does often, then we need to request a reset of that key via email. This process needs dramatic improvement. At the very least, we need the ability to reset our own keys via the web interface and as added functionality, just allow…

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  14. Handle project.json files

    Provide a nice view of the changes in project.json files that are the new standard for DNX development.

    Not looking for generic JSON support, just for the project files (although I wouldn't complain...)

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  15. text alignment after resolving merge conflicts

    - Version
    semanticmergetool.exe 1.0.77.0
    mergetool.exe 5.4.10.77

    - Language
    C#

    Everything works great for C#
    Sometimes, however, semanticmerge makes my code ugly like the screenshot I attached.
    It seems it has some problem on tab character merging or my fault.
    any idea?

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. Go support

    Go is a very small and simple language with easy rules for packages and visibility. Growing rapidly in popularity as well should make it a good target for semantic merge.

    23 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. unified diff

    Be able to view unified diff-files directly

    you should be able to directly take a look at unified diffs.
    if you run the command "git diff <commit>...<commit> >> changes.diff" you should be able to directly open that .diff-file. this would be really convenient.

    tortoiseSVN merge/diff for example is capeable of doing that.

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. Resolved conflicts shouldn't show on the scroll bar

    When a conflict is resolved, it still uses a red color in the scroll bar, meaning there's no easy way to check which ones are solved and which aren't.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. Show blank lines to align text

    When blocks differ in number of lines, they aren't correctly aligned in the panels. Where new lines were added/removed, blank lines should be displayed (like BeyondCompare does) which helps comparing line-by-line.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. Make showing removed blocks from the Result File optional

    If the selected changeset removed something and added something else, the result file panel will show the old line with a strikethrough. That's a bit counter-intuitive, IMO, for I want to see the actual result (which wouldn't include any removed lines).

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

semanticmerge

Feedback and Knowledge Base