Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-4847

Automatic merge gets confused if merges are performed in parallel

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: all
    • Fix Version/s: None
    • Component/s: libsvn_client
    • Labels:
      None

      Description

      The automatic merge heuristic will pick the wrong merge strategy if merges and commits are interleaved like this:

      1. Create trunk and branch1
      2. Commit an edit to file mu in trunk
      3. Commit an edit to file iota in branch1
      4. Merge trunk -> branch1
      5. Merge branch1 -> trunk
      6. Commit trunk
      7. Commit branch1
      8. Commit further edits to mu in trunk
      9. Attempt to merge trunk into branch

      At step 9 Subversion performs a reintegrate merge which results in a spurious merge conflict. If a sync merge is forced instead the merge completes without conflicts. If there was a way to extend the heuristic to detect this case the
      merge conflict could be avoided.

      This problem was reported by Daniel Dickison and discussed in detail in the users@ list thread: "False conflict with interleaved merge commits":

      https://svn.haxx.se/users/archive-2020-02/0002.shtml
      https://svn.haxx.se/users/archive-2020-02/0004.shtml
      https://svn.haxx.se/users/archive-2020-02/0006.shtml
      https://svn.haxx.se/users/archive-2020-02/0007.shtml

        Attachments

        1. merge-interleave-3.sh.txt
          5 kB
          Stefan Sperling

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              stsp Stefan Sperling
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: