我使用svn并将我的存储库存储在远程linux服务器上,可通过ssh访问。无论什么时候我想在新机器上处理一些代码,我都会这样结帐:
svn checkout svn+ssh://remoteuser@remoteserver/path/to/repo /path/to/localdirname
(在结帐前不必存在localdirname)
然而,在对本地副本上的目录进行svn移动时经常遇到问题,例如将目录a
重命名为b
svn move localdirname/a/ localdirname/b/
这样可以正常工作,但如果我之后以错误的顺序执行提交,那么事情就会陷入一团糟。人们总是建议svn cleanup
和svn update
之类的东西,但我通常无法使这些工作起作用,最终会删除本地副本并再次检出。那么如何移动整个目录并一次性提交呢?
答案 0 :(得分:0)
我试过这个并且工作正常:
svn move -m "renamed" svn+ssh://remoteuser@remoteserver/path/to/repo/a svn+ssh://remoteuser@remoteserver/path/to/repo/b
# then on the local copy
svn update localdirname/a
svn update localdirname/b
localdirname/a
消失,localdirname/b
出现
这有效地移动了存储库上的目录,而不是本地副本。