Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to deal with tree conflict while merging using TortoiseSVN, in case of a deleted folder?

I have this scenario:

  • A folder with the content is deleted from the local copy of our branch. The changes are committed in SVN Branch. (We still have this folder in Trunk)
  • Now i want to merge everything from Branch to Trunk
  • I go to the local copy of Trunk, Merge from SVN, and i choose our branch (at first merging the changes from SVN-Branch to LocalCopy-Of-Trunk)
  • Tree Conflict appears
  • I close the tortoiseSVN window and go to the folder structure in explorer.
  • The folder is there (but marked as conflicted in SVN)
  • I delete the folder structure manually (Since this is want I just want)
  • I go to TortoiseSVN right click->TortoiseSVN->Resolved, there i see the conflict, i mark this as resolved, and click OK.

Is this the right way to do it?

At very this moment, whenever i want to make sth more with SVN in the same root, i see this error:

Error: Merge tracking not allowed with missing subtrees; tryo restoring items

When i want to commit all the things i have locally merged (from SVNBranch to LocalCopyOfTrunk) to Trunk, I see the problematic folder and its content with status missing. I mark all the things I want to commit (without those missing things), click OK, and get this warning:

Non-recursive commit of moved/renamed folders (This commit is not recursive, and there are moved/renamed folders selected for commit. Such moves/renames are always performed recursively in the repository. Do you want to commit anyway?)

When i open the parent folder of the problematic root, TortoiseSVN->Revert, and revert them back, the SVN runs again without problem. But how do i delete them? What is the better way of resolving this tree conflict?

like image 479
akcasoy Avatar asked Nov 15 '13 15:11

akcasoy


1 Answers

Is this the right way to do it?

No.

After performing your merge, TortoiseSVN will show a window with all tree conflicts marked in red. Double-clicking them will show a dialog with options. One of these options is "Accept current working copy state (mark as resolved)". This click makes TortoiseSVN remove the folder for you and mark the conflict as resolved.

like image 152
Leonel Sanches da Silva Avatar answered Sep 20 '22 15:09

Leonel Sanches da Silva