include multiple folders using svndumpfilter
Hi I’ve created a repository named as allProj at server.
allProj structure is as follows:
- How to convert a series of directories into Git commits?
- How to change from https:// to svn:// protocol in subversion server
- How can I git-cvsimport multiple modules from a CVS repository, with differing branches?
- Is there a migration tool from CVS to Git?
- Is `git rebase master` always followed by `git pull --rebase` and then `git push --force`?
- How to set up branches with different pull/push upstreams
Now I want to create another repository reqProj which includes specific projects from ‘allProj’
expected ‘reqProj’ structure is:
P.S: I want to create ‘allProj’ with all access controls and history.
I’ve searched a lot on this topic however I’m unable to find any solution.
Any help would be appreciated.
2 Solutions collect form web for “include multiple folders using svndumpfilter”
Read about SVN externals, if you want to have single point of history for shared objects or
svnadmin dump +
svnadmin load in case of physical replication of subtree
As result of fastest search I found:
- svndumpfilter include in SVN Book
- Some Gotchas with using svndumpfilter blog record
and, if you’ll have hard times with errors “Missing node” in ordinary svndumpfilter command
svndumpfilter include Projects/projectB Projects/projectD Projects/projectE > filtereddump.dmp
you have to have, understand and use “Ultima ratio regum”: Svndumpsanitizer
Please bear in mind that I haven’t used Subversion since Jun 2010 (back when I wrote that answer) but from memory, something like the following will get you a cloned copy of
The following steps have to be executed on the server hosting the Subversion repository.
It assumes that on the machine that hosts your Subversion repositories, the repositories exist on X:\Repositories and the URL to the Subversion server is http://localhost:8080 and the one is in the working folder.
svnadmin create X:\Repositories\reqProj
svnadmin dump X:\Repositories\allProj > allProj.dmp
svnadmin load X:\Repositories\reqProj < allproj.dmp
svn checkout http://localhost:8080/svn/reqProj reqProj
I would use the
Repository Browser available through
TortoiseSVN to perform the following steps.
Next, delete the project folders you don’t need, such as
projectC. Finally, you can move
projectE to the top level and get rid of the
Projects folder as well.
You will end up with some extraneous history (describing the deletions and folder moves), but that’s okay, I guess? 🙂
I hope this helps you out.