Search code examples
svnsvnadminsvndumpfilter

Importing into SVN, either get file exists or file not found error


I've filtered the dump file like this:

svndumpfilter include /config-tool/trunk < aps.dump > ct-filtered.dump

First try, create repo and 3 folders:

svnadmin create myrepo
svn mkdir file:///home/me/myrepo/folderA file:///home/me/myrepo/folderA/config-tool file:///home/me/myrepo/folderA/config-tool/trunk -m "Go"

Committed revision 1.

svnadmin: File already exists: filesystem '/home/me/myrepo/db', transaction '12-c', path 'folderA/config-tool/trunk'
     * adding path : folderA/config-tool/trunk 

Second try, create repo and only folderA

svnadmin create myrepo
svn mkdir file:///home/me/myrepo/folderA -m "Go"

Committed revision 1.

svnadmin load --parent-dir folderA /home/me/myrepo < /home/me/ct-filtered.dump

svnadmin: File not found: transaction '12-c', path 'folderA/config-tool/trunk'
     * adding path : folderA/config-tool/trunk 

I've read quite a few threads on SO about this, not quite sure what I'm missing.

In the dump itself, I confirmed the paths are present:

Node-path: config-tool/trunk


Solution

  • Based on the second case you've specified, the following will work:

    Note that we are creating folderA/config-tool, not just folderA.

    1. svndumpfilter include /config-tool/trunk < aps.dump > ct-filtered.dump
    2. svnadmin create myrepo
    3. svn mkdir file:///home/me/myrepo/folderA/config-tool --parents -m "Go"
    4. svnadmin load --parent-dir folderA myrepo < ct-filtered.dump