I encountered the following situation:
F deleted F added
+-----X------------X--------+--
^ ^ |
| Branch A | |
| | |
| | v
+-+----------------------+----+-+-------+->
| |
| Branch B | PROBLEM
| v
+---------------->
Branch A was created off trunk. In that branch a Folder F was deleted and then re-added several commits later, but using new, fresh files (i.e. without reverse-merge-undo of the delete). After that Branch B was spun off the trunk where some other work went on. In the meantime A got reintegrated into the trunk.
Now being finished with B I want to also reintegrate it into the trunk, but I'm having a problem with syncing it with trunk before that happens. No matter what I do my subversion client (TortoiseSVN) claims B's version of F is out of date. I imagine this is because B's F and trunk's F don't have common ancestry. However, when I try to merge trunk's F onto B's F using the "Ignore Ancestry" option it proceeds without error while still leaving me with F which doesn't look like the one in the trunk. If I try to merge entire trunk onto B with "Ignore Ancestry" selected for everything a whole bunch of other sadness happens (tree conflicts everywhere etc.)
In my case, no changes have been made to F in B.
How does one properly deal with ancestry problems in a situation like this?