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?