Mercurial > public > mercurial-scm > hg
diff mercurial/localrepo.py @ 27102:f97bb61b51e6 stable
localrepo.commit: check all files for resolve state (issue4972)
Previously we were only checking modified files for their resolve state. But a
file might be unresolved yet not in the modified state. Handle all such cases
properly.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Mon, 30 Nov 2015 16:31:28 -0800 |
parents | 0a7610758c42 |
children | 42aa0e570eaa |
line wrap: on
line diff
--- a/mercurial/localrepo.py Sun Nov 15 22:18:48 2015 +0100 +++ b/mercurial/localrepo.py Mon Nov 30 16:31:28 2015 -0800 @@ -1556,19 +1556,12 @@ if merge and cctx.deleted(): raise error.Abort(_("cannot commit merge with missing files")) - unresolved, driverresolved = False, False ms = mergemod.mergestate(self) - for f in status.modified: - if f in ms: - if ms[f] == 'u': - unresolved = True - elif ms[f] == 'd': - driverresolved = True - if unresolved: + if list(ms.unresolved()): raise error.Abort(_('unresolved merge conflicts ' '(see "hg help resolve")')) - if driverresolved or ms.mdstate() != 's': + if ms.mdstate() != 's' or list(ms.driverresolved()): raise error.Abort(_('driver-resolved merge conflicts'), hint=_('run "hg resolve --all" to resolve'))