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

发布于 2024-10-12 18:48:41 字数 123 浏览 3 评论 0原文

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

我需要做什么才能使其成为一个完全独立的实体?仅更改 passwd 文件就足够了吗?

I am synchronizing 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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云胡 2024-10-19 18:48:41

我需要做什么才能使其成为一个完全独立的实体?

新存储库和原始存储库之间的唯一链接是 svnsync 同步使用的许多修订属性。您可以安全地删除这些内容,如下所示:

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 属性来指向另一个存储库或同一存储库中的另一个位置。

应该使用相对 URL 语法 对于同一存储库内的链接,在这种情况下没有问题。但如果使用绝对 URL,那么此类链接将在 svnsync 之后继续指向原始存储库。您可以像这样检查所有 svn:externals 属性(可能需要一段时间,递归扫描所有文件夹):

svn propget -R svn:externals http://svn.example.com/

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/
楠木可依 2024-10-19 18:48:41

基本上,您需要 apache 配置来:

  • 使用不同的 URL 和不同的 AuthName 引用该新存储库,并
  • 在所述新存储库的 conf/authz 文件中声明您的新用户。
  • 声明他们的密码(如果您使用的是:q!AuthType Basic身份验证模式)

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文