how to take svndump of a proejct from a very large repo

495 Views Asked by At

We have repository with project specific branches and tags.Just a snapshot of my repo here :

  1. Project Code =====>>branches
    ---- R1
    ---- R2
    ---- R3

      =====>> tags 
    

--- R1_tag
--- R2_tag

Project Database
=======>> Branches
---- R1
---- R2
---- R3

          ======>>tags  

--- R1_tag
--- R2_tag

Now I want to take dump of a branch in project Code only and then load this dump to other repo on same server. I tried following but that results in empty revisions being loaded in other repo .

svnadmin dump /path/to/repo | svndumpfilter include /proj > dump-file
svnadmin create /new/proj/repo
svnadmin load --ignore-uuid /new/proj/repo < dump-file

and I can't run above commands sequentially as Repo is too large and creating dump might take 10 hours atleast.Further more , ignoring UUID is for removing linking to present repository or any other reasons for it? Please help with specific commands .

1

There are 1 best solutions below

2
janos On

svndumpfilter has an option to drop empty revisions, --drop-empty-revs.

If you don't have a specific reason to use --ignore-uuid, then try without it. If it works, you don't need it.

You can streamline the dump - filter - load operations without an intermediary dump file, like this:

svnadmin create /new/proj/repo
svnadmin dump /path/to/repo | svndumpfilter include /proj --drop-empty-revs | svnadmin load /new/proj/repo