【问题标题】:excluding commits by specific users from svn merge从 svn merge 中排除特定用户的提交
【发布时间】:2009-03-28 23:38:46
【问题描述】:

我的 svn (1.5) repo 有各种自动化进程。当我从 Trunk 分支并合并时,合并这些提交会导致虚假冲突。有什么简单的方法可以跳过特定用户的提交吗?

【问题讨论】:

  • 为什么会有“各种提交的自动化流程”?我真的很感兴趣,到目前为止,我自己都避免了自动提交。
  • 一个一般用例是想在不应该发生冲突的地方使用 svn rev,在这种情况下,执行(非冲突)提交可以让您这样做。
  • 哪个界面?命令行脚本可以接受吗?否则,我认为没有专门针对您所要求的命令。

标签: svn merge


【解决方案1】:

我认为没有。这也会很奇怪,因为它可能会破坏源代码的完整性。相反,我会考虑两种方法:

  1. 不执行自动提交(我没有遇到需要这样做的情况,但我不太了解您的用例)
  2. 通过编写脚本自动解决冲突(例如,对于一组特定的文件,总是采用一个版本而不是另一个版本)

【讨论】:

  • (2) 可能可行。我对自动化的工作原理有足够的了解,知道完整性问题不会成为问题。如果您将合并视为类似:svn merge -c a,b,c,。我只是想要一些漂亮的方法来过滤 {a,b,c,...}。我想我可以自己动手,然后在这里发布解决方案。
  • 假设在两棵树中的一棵树上的更改可以被丢弃。如果双方都有意义,(2)将是不可能的。
【解决方案2】:

您可以考虑为每个“自动化流程”提供自己的存储库。除非这些过程在做有用的(即创造性的)工作,否则我不会将脑死亡的变化与脑力的变化混为一谈。我还没有看到自动化流程非常有趣。

【讨论】:

    【解决方案3】:

    这种情况需要分布式 VCS; svn 不是其中之一。

    我会选择 git 或 bazaar(bzr-pqm 就是这样做的代理:集成传入的合并)

    http://bazaar-vcs.org/

    【讨论】:

      猜你喜欢
      • 2014-04-19
      • 2018-08-03
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 2014-07-02
      • 1970-01-01
      • 2016-07-06
      • 2018-04-16
      相关资源
      最近更新 更多