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

--include-externals option for svn merge

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: 1.7.x
    • Fix Version/s: unscheduled
    • Component/s: unknown
    • Labels:
      None

      Description

      Bug buddy: Stefan Sperling
      Prio P2 as it is a daily use problem when using svn:externals for code sharing
      Workaround: Performing separate merges for every svn:external
      
      Description:
      As svn:externals can be silently included into commits it is easily overseen 
      that a commit includes externals at merging. So if these externals are not 
      silently merged or at least warned while merging they will be overseen -> an 
      great source for new bugs...
      
      The merge of svn:externals is not done automatically independent of if
      the folder at the merge target is an linked svn:externals folder or a
      real folder.
      
      
      Detailed Example:
      Imagine the following svn structure:
      svn://svn/test/main/trunc
        svn:external Propery: svn://svn/test/sub/trunc sub
        File: Mainfile.txt
      svn://svn/test/sub/trunc Project
        File: Subfile.txt
      
      Now create a branch and set the svn:external Propery:
      svn://svn/test/main/branch1
        svn:external Propery: svn://svn/test/sub/branch1 sub
        File: Mainfile.txt
      svn://svn/test/sub/branch1 Project
        File: Subfile.txt
      
      
      On a Checkout of main Project this will result in the following file structures:
        mainTrunc
        | Mainfile.txt
        | sub
        | | Subfile.txt
        mainBranch
        | Mainfile.txt
        | sub
        | | Subfile.txt
      
      
      Now make changes at Mainfile.txt and Subfile.txt at trunc in one
      commit with version 123. To merge these changes to the branch you need:
      1. Go to mainBranch folder an merge svn://svn/test/main/trunc version 123
      2. Go to mainBranch/sub folder and merge svn://svn/test/sub/trunc version 123
      All information required for the 2. merge of the svn:externals folder is
      already known by the svn client. It knows there are files at the
      svn://svn/test/sub/trunc folder included at these commit and it knows
      these files are loyally stored at mainBranch/sub folder. So these 2. merge
      should be done automatically if the --include-externals option is given.
      

      http://mail-archives.apache.org/mod_mbox/subversion-users/201207.mbox/%3C20120731140717.GB409@ted.stsp.name%3E

      Original issue reported by hessi9

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              subversion-importer Subversion Importer
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: