How can I dump all svn data while I lost some revisions in the repository?
I want to dump my old svn source and load it to my new computer. My old svn repository is about 100GB huge.
When I use
svnadmin dump /xx/Repositoryfile > mydumpto dump svn file, I got a 512Mb sized file. Finally, I found why:
- Error “can't use subversion command line client : svn” when opening android project checked out from svn
- apply svn patch to git repository
- New project or branch?
- How do I setup Multiple Triggers for Cruisecontrol.NET?
- git-svn merge 2 svn branches
- HG Convert on SVN gives “does not look like a Subversion Repository”
because the revision 302 has been lost. I can only get 1-301 revision’s data.
Even if use
svnadmin dump /xx/Repositoryfile -r 303:90000--incremental > mydumpto get the other source. It can’t be loaded.
How can I move all my svn data to the new location?
One Solution collect form web for “How can I dump all svn data while I lost some revisions in the repository?”
If you have a backup of the repository when it’s not in corrupted state (i.e. when it has those lost revisions) then you can repair the repository. I suggest following these steps to repair the repository:
At first, you should check whether there are corrupted revisions other than 302 in the original dump. You can check the particular revision range for consistency by using the following command line:
svnadmin verify /xx/Repositoryfile -r 302:HEAD
If there are no corrupted revisions except 302, then you should dump all
revisions that are valid.
svnadmin dump /xx/Repositoryfile -r 0:300 > dump1.dmp
svnadmin dump /xx/Repositoryfile -r 302:HEAD > dump2.dmp
Locate the repository backup that has the 301 revision NOT corrupted and dump only this revision:
svnadmin dump /xx/Repositoryfile -r 301 > dump3.dmp
Create a clean repository (via the command
svnadmin create <repo-name>) and load all these dumps one by one ((!)note that
dump3.dmpmust be loaded in second sequence).
svnadmin load <repo-path> < dump1.dmp
svnadmin load <repo-path> < dump3.dmp
svnadmin load <repo-path> < dump2.dmp
This way you will recover the repository. If you have other corrupted revisions other than 301, you will have to perform more steps but the approach is still the same. I do hope it helps!