I distilled the following test case from a real war story. It touches the same
problem. Should I create another isse for it?
hg init .
echo good > file
hg add file
hg ci -m 'initial good in main branch'
# in other branch
echo error > file
hg ci -m 'error in other branch'
# back to main branch
hg up -C -r 0
echo error >> file
hg ci -m 'error also in main branch'
echo good > file
hg ci -m 'fix error in main branch'
# Merge immediately to make sure the fix is propagated to other branches
hg --debug merge
# Was our fix silently forgotten?
hg diff
# Yes, shit happened when the error was made twice. But that was in the past,
and none of the bad changes had meta data to justify that they override the fix. |