Svn ownership conflict: ignore?

How to resolve conflict for svn:ignore property?

I ignored some files in my local repository using the following command:

 svn propedit svn:ignore . 

When I ran svn update , I saw a conflict below:

 Conflict for property 'svn:ignore' discovered on '' 

When I run svn diff , I see the following differences:

 Property changes on: . ___________________________________________________________________ Modified: svn:ignore - + cache/* log/* 

How can I resolve this conflict? I want to remove local modifications for svn ignore .

+4
source share
2 answers

File attributes are similar to the contents of a file in Subversion. They also require that the commit be changed and may be in conflict.

Make svn status and you will see more description of the conflict. There are three possibilities:

  • Inbound editing and local editing . Both you and the previous version edited this attribute. It had to do a merger.
  • Inbound add and local add : you added this attribute as well as someone else.
  • Incoming deletion and local editing or adding : version wars - this attribute was in the previous revision of the repository, and this person deleted this attribute. You have edited it.

There are two ways to solve this problem:

  • Restore this attribute. If you added it, make svn propdel --force on it. Since this is a directory, do not do svn revert . because you will revert all changes to this directory. you do not want to do this. Just return this attribute. Perhaps you can only return the attribute by doing svn revert --depth=empty . I have never tried this.
  • Make svn resolved . . This will mean conflict in . as permitted. It is not necessarily resolved, but you can at least mark it as such and fix it later.

If you returned the property change and resolved the conflict this way, do svn update and retype this property. If you have encountered svn resolved . in conflict, take a look at the meaning of the previous version by running svn propget -rPREV svn:ignore . . Thus, you can see what the previous revision changed, and take this into account. This may be a problem simplifying orders. For example, a previous revision set it to:

 target build.properties 

You installed it:

 build.properties target 

As a result, both values ​​are the same. Or maybe the previous version had a directory with a file name that you did not have. For example, it was configured to:

 *.log 

and you install it for:

 build.properties target 

You probably want to install it:

 build.properties target *.log 

First, resolve the conflict, upgrade and set it to the value you need.

+6
source

svn:ignore is a property of the parent folder containing the files that you set to ignore. Therefore, this is a folder that has a conflict.

Plan A The easiest solution is to delete this containing folder and then perform an SVN update to restore it as it exists in the repository.

Plan B If for some reason deleting a folder is not an option for you (for example, if you have some modified files that you want to save), rename the folder (for example, in yourfolder-TEMP ) and update SVN again. This recreates yourfolder without conflict in svn properties. Now copy the necessary files from yourfolder-TEMP to yourfolder , and then delete the old folder as soon as you are sure to save what you need.

+1
source

Source: https://habr.com/ru/post/1485028/


All Articles