Merge --backout has left me in a weird state
(1) By Stephan Beal (stephan) on 2020-01-03 14:49:13 [source]
In the process of bringing the
forum-edit-deltify branch up to date i inadvertently included an unintended local-only change in the merge from the trunk to the branch:
After realizing that, i did a
Which returned me to the state from before the merge and removed the unintended local addition (the
tag ls -inverse flag mentioned in /forumpost/c752ab9e233f0). That's all fine and good, but now merging trunk, or any recent ancestor of it, into the branch leaves me with:
[stephan@lapdog:~/fossil/fossil]$ f merge trunk ... Merge skipped because it is a no-op. Use --force to override.
--force performs the merge but leaves me with an empty diff:
[stephan@lapdog:~/fossil/fossil]$ f merge trunk --force ... Round-trips: 1 Artifacts sent: 0 received: 0 Pull done, sent: 505 received: 1699 ip: 18.104.22.168 [stephan@lapdog:~/fossil/fossil]$ f diff [stephan@lapdog:~/fossil/fossil]$
And yet an explicit diff from trunk says otherwise:
[stephan@lapdog:~/fossil/fossil]$ f diff --from trunk | wc -l 8165
i see two ways out of this, but would like to consult before doing so:
Back up 2 versions (the one before the merge) and commit again, which will force a fork. (No big deal, just unsightly (not nearly as much as the backout merge).)
Back up 2 versions, move the improperly-merged-in
mistakebranch, and re-perform the merge from trunk (the local
-inverseflag was lost on the backout, so it wouldn't be included this time).
But that leaves (no pun intended) me wondering why a plain merge from trunk, directly after the backout, does not merge trunk back in?
I ran into a similar problem with a different branch and mentioned it here: https://www.fossil-scm.org/forum/forumpost/5ed0513b7bbb6acf6d8798848bceb6b1136950bed8da261c9646309f8a06600d I haven't yet had the time to attempt the suggestion. As for why it doesn't want to merge, it must be calculating some ancestry that determines it isn't necessary to merge (perhaps incorrectly)? Andy