我正在使用svnsync在两个系统之间同步SVN存储库,并且我不能100%确定它是否可以在同步完成后使其与“新用户”保持独立。
我需要做些什么才能使它成为一个完全独立的实体?仅更改passwd文件是否足够?
答案 0 :(得分:10)
我需要做些什么才能使它成为一个完全独立的实体?
新存储库与原始存储库之间的唯一链接是svnsync synchronize
使用的许多修订版属性。您可以安全地删除这样的内容:
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
除了确保svnsync synchronize
不能再运行之外,这没什么用。
编辑:想到别的东西。您可能在项目中使用了svn:externals
属性来指向另一个存储库或同一存储库中的其他位置。
一个应该使用relative URL syntax来获取同一存储库中的链接,在这种情况下没有问题。但是,如果使用了绝对URL,则此类链接将继续指向svnsync
之后的原始存储库。您可以像这样检查所有svn:externals
属性(可能需要一段时间,递归扫描所有文件夹):
svn propget -R svn:externals http://svn.example.com/
答案 1 :(得分:0)
基本上,您需要apache配置:
AuthName
conf/authz
文件中声明您的新用户。AuthType Basic
身份验证模式)拥有不同的密码不是强制性的:一旦两个存储库由两个不同的地址管理(在相同的apache或两个不同的'apache'下),它们将彼此独立。