# HG changeset patch # User Siddharth Agarwal # Date 2015-10-15 08:22:01 # Node ID 64848559413aba223c9d50e0c9068f62b517636a # Parent 121f80d14e4be85ef124495742515c2612bc155c merge.applyupdates: call driverconclude after performing merge actions This will be a chance for the merge driver to finish resolving or generating any driver-resolved files. As before, having a separate error state from 'unresolved' is too big a refactoring for now, so we hack around it by setting unresolved to a positive value when necessary. diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -1002,6 +1002,15 @@ def applyupdates(repo, actions, wctx, mc merged += 1 ms.commit() + + if usemergedriver and not unresolved and ms.mdstate() != 's': + if not driverconclude(repo, ms, wctx, labels=labels): + # XXX setting unresolved to at least 1 is a hack to make sure we + # error out + return updated, merged, removed, max(unresolved, 1) + + ms.commit() + progress(_updating, None, total=numupdates, unit=_files) return updated, merged, removed, unresolved