【问题标题】:How do I resolve a merge conflict with SVN properties?如何解决与 SVN 属性的合并冲突?
【发布时间】:2008-09-30 12:45:49
【问题描述】:

这困扰了我很长时间——如何正确解决目录上设置的 SVN 属性中的合并冲突?例如,有两个开发人员在一个项目中工作,其中 svn:ignore 设置在某个目录上。如果两个开发人员都对此属性进行了更改,那么当第二个开发人员更新时,他们将看到合并冲突。

与文件合并冲突不同,在名为“dir_conflicts.prej”的目录中会生成一个文件,第二个开发人员必须阅读并手动更正该文件。通常,我最终要做的是将所有更改还原到本地副本,然后使用 dir_conflicts.prej 中的信息手动重新设置这些属性。但是,在处理 svn:externals 属性中的大量 URL 时,这相当麻烦,因为我们的许多项目都使用。

必须有更好的方法来做到这一点——有人知道怎么做吗?

【问题讨论】:

    标签: svn


    【解决方案1】:

    只是经过一些额外研究后的快速更新——不可能轻松合并 SVN 属性。我最初描述的方法(恢复、合并 .prej 文件中的数据、propset、重新提交)似乎是处理此类问题的最佳方法。

    【讨论】:

    • 不幸的是,我必须 +1 这个答案。我的处理 svn:externals 属性和它的使用中的反模式。不适合详细介绍,但我只是想我还是会在这里抱怨。
    【解决方案2】:

    我遇到了同样的问题。

    我尝试使用 Team->Edit Property Conflicts,但我的 STS 被挂起并且没有响应,因此我强制关闭。

    可以用TortoiseSVN

    解决

    我就是这样解决的

    • 选择dir_conflicts.prej所在的文件夹
    • 右击TortoiseSVN -> 解决...
    • 然后它会要求解决属性冲突
    • 解决并保存

    【讨论】:

      【解决方案3】:

      与此同时,在 Eclipse+Subclipse (Indigo) 中使用该函数是可能的

      团队->编辑属性冲突

      (刚刚尝试使用冲突的 svn:ignore 属性)

      此功能会打开一个显示两个属性版本(本地和存储库)的对话框,您可以在其中复制和粘贴,然后使用 Team->Mark Resolved 解决冲突。

      【讨论】:

        【解决方案4】:

        我希望我能提供一个更有希望的解决方案,但根据我的经验,目前无法使用 TortoiseSVN 合并 svn 属性。见http://svn.haxx.se/tsvn/archive-2008-09/0212.shtml

        【讨论】:

          【解决方案5】:

          您的意思是提交/更新或分支合并的合并冲突吗?

          SVN Book 非常清楚 svn:ignore 属性,尤其是:

          Subversion 并不假设每个 工作副本中的文件或子目录 目录用于版本 控制。资源必须明确 置于 Subversion 的管理之下 使用 svn add 或 svn import 命令。

          ...

          强制该存储库的每个用户将这些资源的模式添加到他们的运行时配置区域不仅是一种负担,而且有可能与用户签出的其他工作副本的配置需求发生冲突.

          【讨论】:

            【解决方案6】:

            为了清楚起见,SVN 似乎使用 dir_conflicts.prej 文件来得出目录存在冲突的事实。如果您打算手动解决冲突,您可以简单地删除 dir_conflicts.prej 文件,然后根据需要手动设置 svn 属性。 (当然要确保在删除之前从 .prej 文件中获取所需内容!)

            【讨论】:

              【解决方案7】:

              我也有类似的冲突。我在文本编辑器中打开dir_conflicts.prej,发现svn ignore list 已更改。幸运的是,列表的内容是相同的,只是顺序发生了变化。所以在TortoiseSVN 1.9.3,我只需右键单击文件夹然后TortoiseSVN -> Resolve...。并且冲突得到了解决。

              【讨论】:

                猜你喜欢
                • 2013-10-27
                • 2010-09-11
                • 1970-01-01
                • 2010-09-24
                • 1970-01-01
                • 2016-03-04
                • 1970-01-01
                • 1970-01-01
                • 2017-10-27
                相关资源
                最近更新 更多