代码之家  ›  专栏  ›  技术社区  ›  David

subversion合并:总是用新版本替换文件

  •  3
  • David  · 技术社区  · 16 年前

    在进行合并时,是否有任何subversion属性可以设置为始终用较新的服务替换文件(而不是在无法合并时执行diff并引发冲突)?

    我所指的文件集是C项目文件(.csproj)。这些文件总是引起冲突。我希望在合并时,这些文件总是更新到更新的版本。

    4 回复  |  直到 9 年前
        1
  •  3
  •   Avi    16 年前

    对。

    如果您指定 --accept theirs-full 作为一种选择 svn merge ,在发生冲突的情况下,您可以像在存储库端那样进行更改,并释放自己的更改。

    编辑: 仔细想想,我同意你可能不应该这样做。见 SVN FAQ 推荐的方法。

        2
  •  1
  •   Vman    16 年前

    我们对两种文件类型有独占锁,一种是cproj文件。我们还有一个工作实践,即dev只在最短的时间内持有锁,也就是说,如果您添加一个类,然后获取锁,添加一个空的类存根(编译!)然后释放。我知道很多人不喜欢Subversion中的独占锁,但它在中小型项目中非常有效。不确定我是否愿意将其扩展到大型项目。

        3
  •  0
  •   Cory Petosky    16 年前

    理想情况下,您根本不会提交项目文件,只提交要编译的源代码和必要的库。然后,您可以将项目文件添加到svn:ignore,这样就不必再担心它了。

    然后,项目中的其他开发人员可以自由地在现有工作区周围创建一个c项目文件,将其设置为编译,并对项目设置进行任何本地修改,而不会破坏您的生成。c项目文件有点麻烦,但最糟糕的情况下,这仍然是一个10-15分钟的工作,你只需要做一次。

        4
  •  0
  •   Yoopergeek    16 年前

    我不知道如何在合并冲突时自动让svn/tortoisesvn“接受它们的”。手动操作是我一直处理双层合并冲突的方式。你应该能够,用tortoisesvn,通过告诉tortoise用'their'文件旋转,消除你所做的任何更改来解决冲突。