comparison tests/test-backout.t @ 46811:5a0b930cfb3e

commit: get info from mergestate whether a file was merged or not While commiting a merge, the commit code does not know whether a file was merged during `hg merge` or not. This leads the commit code to look for filelog ancestor to choose parents of new filelog created on merge commit. This leads to wrong results in some cases as demonstrated by previous patch. From this patch, we start storing information about merged files in mergestate in stateextras and then use that on commit to detect whether we need to set two parents or not. Differential Revision: https://phab.mercurial-scm.org/D10149
author Pulkit Goyal <7895pulkit@gmail.com>
date Wed, 10 Mar 2021 13:14:32 +0530
parents 8d72e29ad1e0
children e9d588b28710
comparison
equal deleted inserted replaced
46809:56d441256e82 46811:5a0b930cfb3e
716 file: foo (state "u") 716 file: foo (state "u")
717 local path: foo (hash 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33, flags "") 717 local path: foo (hash 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33, flags "")
718 ancestor path: foo (node f89532f44c247a0e993d63e3a734dd781ab04708) 718 ancestor path: foo (node f89532f44c247a0e993d63e3a734dd781ab04708)
719 other path: foo (node f50039b486d6fa1a90ae51778388cad161f425ee) 719 other path: foo (node f50039b486d6fa1a90ae51778388cad161f425ee)
720 extra: ancestorlinknode = 91360952243723bd5b1138d5f26bd8c8564cb553 720 extra: ancestorlinknode = 91360952243723bd5b1138d5f26bd8c8564cb553
721 extra: merged = yes
721 $ mv .hg/merge/state2 .hg/merge/state2-moved 722 $ mv .hg/merge/state2 .hg/merge/state2-moved
722 $ hg debugmergestate -v 723 $ hg debugmergestate -v
723 no version 2 merge state 724 no version 2 merge state
724 local: b71750c4b0fdf719734971e3ef90dbeab5919a2d 725 local: b71750c4b0fdf719734971e3ef90dbeab5919a2d
725 other: b71750c4b0fdf719734971e3ef90dbeab5919a2d 726 other: b71750c4b0fdf719734971e3ef90dbeab5919a2d