如何在一个修订版中执行发布操作?

时间:2015-03-11 15:19:52

标签: svn merge content-management-system overwrite

我在SVN上运行基于Web的CMS。

我有一个主干/和一个prod /分支。

我有一个"发布"我希望在trunk中使用该版本并覆盖prod的操作,以便现在可以生成trunk版本。

我目前正在删除prod,然后复制trunk - &gt;刺。这不是理想的,因为我必须进行2次操作,而且我经常遇到部署问题(它会单独捕获删除和添加,并且必须重新下载文件夹中的所有内容。如果该文件夹中包含媒体文件,则代价很高)< / p>

我一直拒绝尝试使用merge,因为我需要对prod没有任何更改,没有未解决的合并冲突,没有。这都是自动化的,没有人来处理任何冲突。

虽然prod / branch除了来自trunk之外不应该进行修改,但如果有的话,我不想让它破坏。

所以,如果我有: /trunk/folder/newer-version.txt /prod/folder/with-older-version.txt

我想要一个操作,使/ prod / folder /文件与/ trunk /文件夹完全相同,不多也不少。

svn merge trunk/folder prod/folder --accept mine-conflict

我真正想要的概念是copy --overwrite --delete-extras。

我对其他概念持开放态度,但在发布后,不得有其他修订版本的残余内容,而不是在主干@HEAD

编辑:第二次编辑: 有3个优先事项: 1)此操作永远不会因合并冲突或需要交互而失败 2)如果有/ prod / oldfile且没有/ trunk / oldfile,则发布应该删除oldfile。 3)我不能用工作区做到这一点。这些文件夹的可能大小太大,无法快速复制

如果这应该正常工作,请告诉我,我将会进行更多测试用例。

编辑:一个解决方法是使用svnmucc,但我找不到任何用于mucc的perl SWIG绑定。

0 个答案:

没有答案