属性冲突svn:忽略?

Tan*_*pta 4 svn

如何解决svn:ignore财产冲突?

我使用以下命令忽略了本地存储库中的一些文件:

svn propedit svn:ignore .
Run Code Online (Sandbox Code Playgroud)

当我跑步时svn update,我看到了以下冲突:

Conflict for property 'svn:ignore' discovered on ''
Run Code Online (Sandbox Code Playgroud)

当我跑步时svn diff,我看到以下差异:

Property changes on: .
___________________________________________________________________
Modified: svn:ignore
   -

   + cache/*
log/*
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个冲突?我想删除我的本地修改svn ignore.

Dav*_* W. 6

文件属性就像Subversion中文件的内容一样.它们也需要修改提交并且可能存在冲突.

做一个svn status,你会看到更多关于冲突的描述.有三种可能性:

  • 传入编辑和本地编辑:您和之前的版本都编辑了此属性.应该已经能够合并了.
  • 传入的添加和本地添加:您添加了此属性,其他人也是如此.
  • 传入删除和本地编辑或添加:修订战争 - 此属性位于存储库的先前版本中,该人员删除了此属性.你已经编辑过了.

有两种方法可以解决此问题:

  • 还原此属性.如果您添加了它,请执行svn propdel --force此操作.因为这是一个目录,所以不要这样做,svn revert .因为您将还原此目录中的所有更改.你不想那样做.只需还原此属性即可.您可以通过执行a来恢复属性svn revert --depth=empty.我从来没有尝试过.
  • 做一个svn resolved ..这将标志着冲突的.解决.它不一定已经解决,但您至少可以将其标记为以后再进行修复.

如果您还原了属性更改,并以这种方式解决了冲突,请执行svn update并重新编辑该属性.如果您svn resolved .在冲突中做了一个,那么通过执行a来查看以前版本的值svn propget -rPREV svn:ignore ..这样,您可以查看先前修订版的设置,并将其考虑在内.这可能是一个简单的订购问题.例如,先前的修订版将其设置为:

target
build.properties
Run Code Online (Sandbox Code Playgroud)

您将其设置为:

build.properties
target
Run Code Online (Sandbox Code Playgroud)

最后,两者都是相同的值.或者,可能是以前的版本在那里有一个你没有的文件名目录.例如,它被设置为:

*.log
Run Code Online (Sandbox Code Playgroud)

并将其设置为:

build.properties
target
Run Code Online (Sandbox Code Playgroud)

您可能希望将其设置为:

build.properties
target
*.log
Run Code Online (Sandbox Code Playgroud)

首先解决冲突,进行更新,然后将其设置为您需要的值.