SVN可以复制并覆盖目标分支,还是可以合并并保留源分支?

sse*_*sse 4 svn tags merge

我是SVN的新手。我发现将分支A合并到分支B时,SVN将分支A中的所有内容移至B,而不是复制。当您将分支A复制到分支C并再次执行相同的操作时,它给您一个错误,分支C已经存在。

我要完成的是:

  • 首先,我有一个branch/dev–用于发展
  • 然后复制branch/devbranch/test–进行功能测试
  • 然后复制branch/testtrunk–供舞台使用
  • 然后标记到生产。

由于无法覆盖现有分支,因此当我要branch/dev再次复制时,需要先删除测试,这很不方便。

有办法吗?

Kip*_*Kip 5

如果从复制/a/b,则复制到时/b将结束/a/b

如果您想要等效于覆盖复制,则必须先删除然后再复制,如下所示:

svn delete https://myserver/myrepo/branch/test -m "Removing test prior to copy"

svn copy https://myserver/myrepo/branch/dev -r HEAD
         https://myserver/myrepo/branch/test
         --parents -m "Copying dev branch to test"
Run Code Online (Sandbox Code Playgroud)

当测试分支中的用户执行时svn updatesvn足够聪明,仅下载已更改的文件,而无需重新下载整个项目。

这种方法的缺点是,即使只有几秒钟,该分支也将不存在,并且已经存在于该分支中的用户尝试更新时会出现错误。