Best way to enable svn "Two top-level reports without a goal"

I have svn repo

http://path/to/svn/trunk 

And separated a few things from him to

 http://path/to/svn/branch 

Using

 svn copy http://path/to/svn/trunk/site1 http://path/to/svn/branch/site1 -m 'message' 

I did a lot of work on the branch, but could not merge it back, because it is not ready for this.

However, I need to commit the changes to trunk now, and I get the following when trying to do this

 > svn commit -m 'some message' svn: Commit failed (details follow): svn: Aborting commit: '/path/to/svn/trunk' remains in tree-conflict 

I thought I should svn up in / path / to / trunk, but the following will happen:

 > svn up svn: Two top-level reports with no target 

A --force does not help fix the situation.

svn status leads to a large number of + next to modified files

 > svn status M + site1/changedfile 

Has anyone experienced this before, and can you shed some light on the problem?

+6
source share
4 answers

The way I managed to resolve this was to move the affected directories in /path/to/svn/trunk to a temporary location and do svn up on the outside line.

This pulled out old versions of my files. Then I manually copied the files that could not be obtained, and as soon as they return to their place, everything works as expected.

+2
source

The following worked for me after the unsuccessful svn mv https://path1 https://path2 :

 svn revert --depth infinity path2 svn update path2 

This did not allow me to do a new check, which others suggested. None of my changes were lost in the process.

+1
source

When doing a Google search, the answers (for example, this SO stream ) suggest that you made some changes that violated svn (for example, made changes to the file, and then moved it doesn’t do the intermediate).

The best fix that I have been able to find so far is to make a new check of the chest, manually merge the changes into it (for example, through WinMerge, if you are on Windows) - it makes the same file / directory on the path between different types of changes - from the current working copy; then check. (At this point, you can either replace your current working copy with this modified fresh check, or undo all changes to the working copy and make an update on it to synchronize it with the changes you just made).

0
source

"S" indicates the status of the switchable URL - the directory URL does not match your current working directory. This may be due to a merger or to a switch that has not completed its work. In this case, I usually do the following:

For the next steps, allow the problem_dir directory to be affected by the directory.

First, I’ll find out where the directories also switched.

 svn info problem_dir 

If it points to a different URL, switch to the URL you want to point to:

 svn switch ^/trunk/problem_dir problem_dir 

Once all directories point to the correct URL, you can go back and update:

 svn revert . -R svn update 

Attention! A recursive return is only performed after you make a working change.

If this does not work, then in the latter case it will be

 rm -rf . svn update 
0
source

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


All Articles