Synchronize a SVN repository and later make it independent (copy a repository)
I am s开发者_运维百科ynchronizing an SVN repository between two systems using svnsync and I am not 100% sure if its possible to make it independent for my "new users" after the sync is finished.
What do I need to do to make it a completely independent entity? Is it enough just to change the passwd file?
What do I need to do to make it a completely independent entity?
The only link between the new repository and the original are a number of revision properties that are used by svnsync synchronize
. You can safely remove those like this:
svn propdel --revprop -r 0 svn:sync-from-uuid http://svn.example.com
svn propdel --revprop -r 0 svn:sync-last-merged-rev http://svn.example.com
svn propdel --revprop -r 0 svn:sync-from-url http://svn.example.com
This doesn't do much except making sure that svnsync synchronize
cannot be run anymore.
edit: Just thought of something else. You might have used svn:externals
properties in your projects for pointing to another repository, or another location within the same repository.
One should use the relative URL syntax for links within the same repository, in which case there is no problem. But if an absolute URL was used for that, then such links will continue to point to the original repository after an svnsync
. You can inspect all svn:externals
properties like this (might take a while, recursively scans all folders):
svn propget -R svn:externals http://svn.example.com/
Basically, you need the apache configuration to:
- reference that new repo with a different URL and a different
AuthName
- declare your new user in the
conf/authz
file of said new repo. - declaring their password (if you are using:q!
AuthType Basic
authentication mode)
Having different password isn't mandatory: once the two repository are managed with two different addresses (under the same apache or two different 'apache'), they will be independent one from another.
精彩评论