如何撤消'svn copy'

vah*_*idg 15 svn copy undo

我不小心通过使用'svn copy'复制trunk来覆盖旧分支.更具体地说,对于每个版本,主干都是分支的并保留为标签,使用:

svn copy svn://machine/REPOS/trunk svn://machine/REPOS/tags/$RELEASENR
Run Code Online (Sandbox Code Playgroud)

但这次'RELEASENR'的价值是旧的现有分支而不是新分支的价值.有人对如何撤消这个错误有任何想法吗?谢谢!

ben*_*din 18

Subversion无法正常工作.你还没有真正覆盖它.如果复制的目标或移动存在且是一个目录,然后复制或移动的项目被放置该目录:

svn copy svn://machine/REPOS/trunk svn://machine/REPOS/tags/EXISTS_ALREADY
Run Code Online (Sandbox Code Playgroud)

如果你看,你应该找到:

svn://machine/REPOS/tags/EXISTS_ALREADY/trunk 
Run Code Online (Sandbox Code Playgroud)

这是您刚尝试标记的主干的副本.这种情况下的修复很简单:

svn mv svn://machine/REPOS/tags/EXISTS_ALREADY/trunk \
       svn://machine/REPOS/tags/CORRECT_TAG_NAME
Run Code Online (Sandbox Code Playgroud)

(如果你不是*nix熟悉的话:\意味着我已经将一条逻辑线分成两条物理线,以免水平滚动条过度工作.)


Tho*_*853 5

为了撤消

svn cp OLDFOLDER NEWFOLDER
Run Code Online (Sandbox Code Playgroud)

如果更改尚未提交,只需使用

svn revert NEWFOLDER --depth=infinity
Run Code Online (Sandbox Code Playgroud)