I want to split a directory from a large Subversion repository to a repository of its own, and keep the history of the files in that directory.
I tried the regular way of doing it first
svnadmin dump /path/to/repo > largerepo.dump
cat largerepo.dump | svndumpfilter include my/directory >mydir.dump
but that does not work, since the directory has been moved and copied over the years and files have been moved into and out of it to other parts of the repository. The result is a lot of these:
svndumpfilter: Invalid copy source path '/some/old/path'
Next thing I tried is to include those /some/old/path
as they appear and after a long, long list of files and directories included, the svndumpfilter completes, BUT importing the resulting dump isn't producing the same files as the current directory has.
So, how do I properly split the directory from that repository while keeping the history?
EDIT: I specifically want trunk/myproj
to be the trunk in a new repository PLUS have the new repository include none of the other old stuff, ie. there should not be possibility for anyone to update to old revision before the split and get/see the files.
The svndumpfilter solution I tried would achieve exactly that, sadly its not doable since the path/files have been moved around. The solution by ng isn't accetable since its basically a clone+removal of extras which keeps ALL the history, not just relevant myproj history.
question from:
https://stackoverflow.com/questions/433276/how-to-split-an-svn-folder-into-its-own-repository-when-it-has-been-renamed 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…