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. c# 7 support

    Please add support for c# 7

    18 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
    • Allow external parsers to be configured extension

      Semantic Merge allows for external parsers but currently it only allows for one, making the adoption of using them very limited, when you are using more than one non-supported language. I would like it if Semantic Merge could support configuring external parsers by extensions they handle.

      3 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
      • Rust support

        Rust is a young but promising language. Having semantic merge would be awesome.

        3 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          0 comments  ·  Flag idea as inappropriate…  ·  Admin →
        • improve C parser for comments and report comment changes

          please run a simple diff with semanticmerge
          It will tell you that the include <...> has been changed, not the comment

          4 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            2 comments  ·  Flag idea as inappropriate…  ·  Admin →
          • semantic merge for better delta code review

            how awesome would it be if you join forces with another tool vendor and create a full integration of your semantic diff (including moving things from one file to another) and a tool that helps during code reviews and tracks findings...
            finally one could focus on real changes

            ps: plastic scm is missing on their list of integrations
            https://smartbear.com/product/collaborator/overview/

            1 vote
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              0 comments  ·  Flag idea as inappropriate…  ·  Admin →
            • Add possibility to compare Remote and Local files during merge

              Currently, during a 3-way merge, the shown differences are always between Remote/Base and Local/Base.

              It would be great to have the possibility of also showing the differences between Remote/Local.

              Why? Sometimes the Remote and Local files are exactly the same and since the differences are marked on them when compared to Base they seem to be very different to each other. We have then to open or copy/paste both Remote and Local files on a file editor and then compare them, to see that they are exactly the same.

              This is quite common, because when we use squash in Git…

              3 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                0 comments  ·  Flag idea as inappropriate…  ·  Admin →
              • Show differences highlighted also on the result file

                Currently, during a 3-way merge, the individual differences are marked only on the Remote, Base and Local files.

                On the Result file, it is only shown the main change (line deleted or added), the individual changes are not shown. For example, if you rename a word in one line, on the 3 source files you have that work highlighted, however, on the result file, it's not highlighted, which makes it hard to see what the difference was.

                This would be very useful when solving merge conflicts, because then we could see the differences clearly with the changes on top of…

                3 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                • Support for Perl 5 and 6

                  Show how smart you are by support Perl. It is said that only Perl can understand Perl...

                  3 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                  • Ignore name changes

                    Beyond Compare has a feature that I love: you can tell it which string (typically a variable name) on the left side correspond to which string on the right side. For example, you could tell that a variable "dollar" was renamed to "currency" and SM would change all instances automatically.
                    Even better if, when a rename is detected, you can "approve" all renames in that particular scope.

                    3 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                    • 1 vote
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                      • .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.

                        4 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                        • 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.

                          4 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                          • 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
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                            • 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
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                              • JetBrains IDE Support (Intellij IDEA, Rider, CLion, WebStorm, AppCode)

                                I would love to use this with my favorite IDE!

                                3 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                • 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.

                                  6 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                  • 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
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                    • 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
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                      • 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
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                        • 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.

                                          12 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4 5 6
                                          • Don't see your idea?

                                          semanticmerge

                                          Feedback and Knowledge Base