同步SVN存储库,然后使其独立(复制存储库)

时间:2011-01-20 06:33:46

标签: svn repository svnsync

我正在使用svnsync在两个系统之间同步SVN存储库,并且我不能100%确定它是否可以在同步完成后使其与“新用户”保持独立。

我需要做些什么才能使它成为一个完全独立的实体?仅更改passwd文件是否足够?

2 个答案:

答案 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文件中声明您的新用户。
  • 声明密码(如果您使用的是:q!AuthType Basic身份验证模式)

拥有不同的密码不是强制性的:一旦两个存储库由两个不同的地址管理(在相同的apache或两个不同的'apache'下),它们将彼此独立。