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

1

14

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?

Raving answered 15/11, 2013 at 15:30 Comment(0)
A
7

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.

Acetate answered 19/11, 2013 at 20:20 Comment(3)
Subversion won't let you perform a merge until the conflict is resolved. How do you resolve it so you can merge?Concertino
TortoiseSVN is not showing that option, at least not when the local branch has modified files inside the deleted folder. The choices are "Accept current working copy state (mark as resolved)" and "Resolve Later". There is no option to delete the file and mark as resolved. Very unintuitive. You must go to Explorer and do the work yourself, then mark resolved.Revocable
@Revocable I think TortoiseSVN was updated and this option no longer exists.Acetate

© 2022 - 2024 — McMap. All rights reserved.