views:

165

answers:

5

Dear All,

I need to take the backup of one folder of my SVN repository. for this i have tried with svndump and svndumpfilter commands but of no use.

Can any one pls. explain how to do this with an example.

Thanks Mohan

+3  A: 

Since SVN versions the whole tree every time a commit is made, you're likely to run into trouble if you try to backup only a portion of the source tree and then try to restore that backup.

Rohith
I concur this is a bad idea, Revision numbers like you say are done accross the tree and for this reason its a bad idea to only backup certain portions as restoration would almost certainly not work without manual intervention/editing.
krystan honour
+4  A: 

If what you're wanting is a backup of the current state of the files themselves (and don't actually want the full version history), use svn export instead.

If you are trying to back up the history, then I concur with Rohith's answer.

Amber
A: 

Dear All, Thank you for your reply.

I am sorry i was not clear i guess and my requirement is ....

i have a repository in that i have one folder say "Test". Apart from this "test" there are some more folders/projects in my repository. If i want to take the full backup of my repository its consuming more memory (30 gb) so i want to shift only the "Test" folder with the history to another repository so that i can take the regular backups of only the "Test" folder (new repository) as it will take less memory. (i don't need to take the regular backups of other folders except "Test")

How can i do this? pls. help me in this regard

Mohan

Mohan
+1  A: 

Based on your followup, what you're wanting to do is to generate two new repositories from the single origin repo.

The SVN red book explains this well: http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.filtering

In a nutshell, you start with an origin repo and create a dumpfile, and then use svndumpfilter to generate the two filtered dumpfiles (one with Test, one without).

svnadmin dump origin > origin.dump
svndumpfilter include Test < origin.dump > testonly.dump
svndumpfilter exclude Test < origin.dump > no-test.dump

If you're feeling frisky, you can edit the two filtered dumpfiles to exclude the root node creations statements (talked about in the docs link).

Create the new repos:

svnadmin create testrepo
svnadmin create neworigin

Now, load the dumpfiles:

svnadmin load --ignore-uuid testrepo < testonly.dump
svnadmin load --ignore-uuid neworigin < no-test.dump

Now, you have the two new repos, so you suspend development in the origin repo and move to using the neworigin and testrepo repos. From there, you can use svnadmin dump to generate the dumpfiles for just the testrepo and put the dumpfile in your normal backup procedure.

svnadmin dump testrepo > testrepo-backup.dump
SethHollyman
A: 

Dear Seth, yes i have done the same with my respository. when i use the svndumpfilter its doing something but in the last its not creating any filtered dump file !!. Anyway i will try this again let you know

Thank you very much Mohan

Mohan