Mercurial > public > mercurial-scm > hg-stable
comparison 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 |
comparison
equal
deleted
inserted
replaced
26960:6979fe2a6d75 | 27102:f97bb61b51e6 |
---|---|
1554 return None | 1554 return None |
1555 | 1555 |
1556 if merge and cctx.deleted(): | 1556 if merge and cctx.deleted(): |
1557 raise error.Abort(_("cannot commit merge with missing files")) | 1557 raise error.Abort(_("cannot commit merge with missing files")) |
1558 | 1558 |
1559 unresolved, driverresolved = False, False | |
1560 ms = mergemod.mergestate(self) | 1559 ms = mergemod.mergestate(self) |
1561 for f in status.modified: | 1560 |
1562 if f in ms: | 1561 if list(ms.unresolved()): |
1563 if ms[f] == 'u': | |
1564 unresolved = True | |
1565 elif ms[f] == 'd': | |
1566 driverresolved = True | |
1567 | |
1568 if unresolved: | |
1569 raise error.Abort(_('unresolved merge conflicts ' | 1562 raise error.Abort(_('unresolved merge conflicts ' |
1570 '(see "hg help resolve")')) | 1563 '(see "hg help resolve")')) |
1571 if driverresolved or ms.mdstate() != 's': | 1564 if ms.mdstate() != 's' or list(ms.driverresolved()): |
1572 raise error.Abort(_('driver-resolved merge conflicts'), | 1565 raise error.Abort(_('driver-resolved merge conflicts'), |
1573 hint=_('run "hg resolve --all" to resolve')) | 1566 hint=_('run "hg resolve --all" to resolve')) |
1574 | 1567 |
1575 if editor: | 1568 if editor: |
1576 cctx._text = editor(self, cctx, subs) | 1569 cctx._text = editor(self, cctx, subs) |