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

Implement 'svn copy FOREIGN-URL WC --incorporate' (or 'svn add --incorporate')

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • ---
    • 1.8.0
    • libsvn_client

    Description

      Since 1.5.0 (ish...) Subversion has had some support for merges from foreign
      repositories.  This has become a very valuable way to manage vendor branches. 
      But to get off the right foot, you need to first import your remote vendor code
      and ideally do so with all the same node properties set on your repository's
      copy of that code as are found in the original (foreign) codebase.
      
      On a whim, I wanted to see what Subversion did if you run 'svn copy
      FOREIGN-REPOS WC'.  To my surprise, the copy happens, albeit with a warning
      about the foreign source resulting in a disjoint working copy.  (I figured we'd
      just croak here.)  And the warning is accurate --  the target of the copy is
      left as a disjoint working copy, just a checkout of the foreign location.
      
      I'd like to see us add a --incorporate flag to 'svn copy' which would tell
      Subversion to slurp up that disjoint working copy, connecting it to the primary
      working copy as a single scheduled-for-addition subtree, with node props all in
      place and so on.
      
      Alternatively, we could take a more flexible route here and bind this
      functionality not to 'svn copy' but to 'svn add'.  'svn add --incorporate' would
      recursive crawl a tree, scheduling it for addition and maintaining any
      Subversion properties found in the tree.  I think I actually like this idea
      better than the 'svn copy' concept.
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            cmpilato C. Michael Pilato
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: