如何解决与SVN属性的合并冲突?

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

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

有一个更好的方法来做到这一点 – 有人知道如何?

在进行一些额外的研究之后,快速更新 – 不可能轻易合并SVN属性。 我最初描述的方法(恢复,从.prej文件合并数据,propset,重新提交)似乎是处理这种types的问题的最好办法。

同时在Eclipse + Subclipse(Indigo)中可以使用这个函数

团队 – >编辑属性冲突

(只是试图与冲突svn:忽略属性)

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

我有同样的问题。

我试图使用Team->编辑属性冲突,但我的STS被绞死,没有回应,因此我强迫closures。

TortoiseSVN解决是可以的

我就是这样解决的

  • selectdir_conflicts.prej所在的文件夹
  • 右键单击TortoiseSVN – >parsing…
  • 然后它会要求解决财产冲突
  • 做解决并保存

我希望我能提供一个更有希望的解决scheme,但从我的经验来说,目前不可能使用TortoiseSVN合并svn属性。 见http://svn.haxx.se/tsvn/archive-2008-09/0212.shtml

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

SVN书很清楚svn:ignore属性:

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

为了强制这个存储库的每个用户将这些资源的模式添加到他们的运行时configuration区域,这不仅是一个负担,而且有可能与用户检出的其他工作副本的configuration需求冲突。

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

我也有类似的冲突。 我在文本编辑器中打开了dir_conflicts.prej ,发现svn ignore list已被更改。 幸运的是,列表中的内容是一样的,只是顺序改变了。 所以在TortoiseSVN 1.9.3 ,我只需右键单击该文件夹,然后TortoiseSVN -> Resolve... 冲突是固定的。