如何更改(重新定位)我在使用"svnsync init“创建镜像存储库时输入的subversion url (例如从#https://whatever到svn://whatever)?
尝试使用新的url再次运行svnsync初始化,但
svnsync init file:///<path_to_mirror> http:///<new_url>
svnsync: Destination repository is already synchronizing from 'http:///<old_url>'发布于 2010-11-30 06:38:29
sync-from URL作为revprop存储在镜像存储库中。如果在具有镜像存储库的计算机上(我的情况),请使用svnlook工具查看并使用svnadmin进行更改:
user@q.r[~]$ svnlook pg --revprop -r0 /path/to/mirror/repo svn:sync-from-url
svn+ssh://svn.abc.com:1234/svn/foo您将看到镜像当前同步到的存储库的URL。在上面的示例中,主存储库URL以.../foo结尾。它的末尾可能没有换行符,因此您的shell提示可能会跟在后面。现在您需要将其放到一个文件中,因为svnadmin使用一个文件作为输入来更改revprop。
user@q.r[~]$ svnlook pg --revprop -r0 /path/to/mirror/repo svn:sync-from-url > t.txt现在编辑t.txt以更改为主存储库的URL。这可能会导致在t.txt的末尾显示换行符,并导致来自svnsync的模糊/无意义的错误消息。因此,摆脱它:
user@q.r[~]$ cat t.txt | tr -d '\n' > t2.txt注意,我们现在有了t2.txt,它是经过清理的文件。然后使用svnadmin将revprop更改为刚刚编辑和清理的文件的内容:
user@q.r[~]$ svnadmin setrevprop /path/to/mirror/repo -r0 svn:sync-from-url t2.txt请注意,使用的是t2.txt而不是t.txt。最后,请检查您的更改:
user@q.r[~]$ svnlook pg --revprop -r0 /path/to/mirror/repo svn:sync-from-url
svn+ssh://svn.def.com:5678/svn/foo您应该看到新的repo URL,紧跟其后的是shell提示符,没有换行符。在上面的示例中,URL以foo结尾,紧跟其后的是shell提示符user@q.r~$。
发布于 2011-06-16 16:57:41
如果您使用用于运行svnsync的帐户,则只需使用:
svn propset --revprop -r 0 svn:sync-from-url http://my.new/url url://to.my.repo如果您按照手册中的说明操作,并添加了一个pre- rev -props钩子,该钩子拒绝除svnsync用户以外的任何人更改rev props,则应该可以正常工作。
发布于 2017-07-29 04:38:06
Svnsync将远程存储库URL存储在存储库镜像的第一个修订版的修订版属性中。因此,您可以对本地镜像上当前配置的存储库URL执行view操作,如下所示:
$ svn pg --revprop -r0 svn:sync-from-url file:///path/to/svn-mirror这意味着您只需将远程存储库URL更改为change the revision property即可。例如:
$ svn ps --revprop -r0 svn:sync-from-url https://svn.example.org/repo \
file:///path/to/svn-mirror/输出示例:
property 'svn:sync-from-url' set on repository revision 0https://stackoverflow.com/questions/4155262
复制相似问题