SVN move single directory into other repository (with history)

24,197

Check out svndumpfilter and this section on Repository Maintenance.

Once you have a dumpfile for the entire old repository, you can use svndumpfilter to extract just the portion that you want.

I am not aware of a way to do this with TortoiseSVN.

Share:
24,197
AndiDog
Author by

AndiDog

Principal Engineer, improving engineering by means of knowledge and practice sharing, automation, tooling. Developing with C++/Python/TypeScript/Rust/Go/Kubernetes... choice doesn't matter much, as long as you stick with it.

Updated on May 01, 2020

Comments

  • AndiDog
    AndiDog almost 4 years

    Related question: Moving repository trunk to another’s branch (with history)


    I know that one can dump a complete SVN repository with history and load it into a user-defined (sub)directory of the target repository using:

    // in source repo
    > svnadmin dump . > mydumpfilename
    
    // in destination repo (backslashes because I'm using Windows)
    > svnadmin load . < mydumpfilename --parent-dir some\sub\directory
    

    But this will import the full repository into the target repository's sub-directory. What I want is to define a sub-directory in the source repository that should be exported. Something like svnadmin dump . --source-path old\sub\dir > mydumpfilename.

    How can I achieve that? If TortoiseSVN can do that, please say so ;)


    SOLUTION: Thanks to Tim Henigan's answer, here's the correct way to do it:

    // execute in destination repo
    svndumpfilter include source\sub\dir < mydumpfilename | svnadmin load . --parent-dir destination\sub\dir
    

    Hope this will help others, too...

  • drzaus
    drzaus almost 9 years
    And if you're confused why it's not working on your local machine, it's because svndump is supposed to be run on the actual repository source. Use svnrdump instead -- stackoverflow.com/questions/8866035/…