[PATCH] make commit fail when committing unresolved files
S. Heimberg
simohe at besonet.ch
Wed Aug 6 15:10:00 CDT 2008
The changes in mercurial/localrepo.py can be simplified from
+ for f in changes[0]:
+ if f in ms and ms[f] == 'u':
+ raise util.Abort(_("unresolved merge conflicts "
+ "(see hg resolve)"))
to
+ for f in ms:
+ if ms[f] == 'u':
+ raise util.Abort(_("unresolved merge conflicts "
+ "(see hg resolve)"))
I have tested it and it works.
About the test suite I know next to nothing. But your test
"test-commit-unresolved" fails on my computer because rebase is not
available. Why do you enable this extension?
Greetings
simohe
On Thirsday, 2008-07-31 at 22:37 +0200, Stefano Tortarolo wrote:
> # HG changeset patch
> # User Stefano Tortarolo <stefano.tortarolo at gmail.com>
> # Date 1217536632 -7200
> # Node ID acb7091e4eea7a7dbd863d489233b03d6aaa4c9d
> # Parent 8dc510c4caee437631e47ec9be891279abeffc33
> make commit fail when committing unresolved files
>
> diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
> --- a/mercurial/localrepo.py
> +++ b/mercurial/localrepo.py
> @@ -12,6 +12,7 @@
> import lock, transaction, stat, errno, ui, store
> import os, revlog, time, util, extensions, hook, inspect
> import match as match_
> +import merge as merge_
>
> class localrepository(repo.repository):
> capabilities = util.set(('lookup', 'changegroupsubset'))
> @@ -766,6 +767,11 @@
> update_dirstate = (self.dirstate.parents()[0] == p1)
> changes = [files, [], [], [], []]
>
> + ms = merge_.mergestate(self)
> + for f in changes[0]:
> + if f in ms and ms[f] == 'u':
> + raise util.Abort(_("unresolved merge conflicts "
> + "(see hg resolve)"))
> wctx = context.workingctx(self, (p1, p2), text, user, date,
> extra, changes)
> return self._commitctx(wctx, force, force_editor, empty_ok,
> diff --git a/tests/test-add b/tests/test-add
> --- a/tests/test-add
> +++ b/tests/test-add
> @@ -32,6 +32,7 @@
> echo % should fail
> hg add a
> hg st
> +hg resolve -m a
> hg ci -m merge
>
> echo % issue683
> diff --git a/tests/test-commit-unresolved b/tests/test-commit-unresolved
> new file mode 100755
> --- /dev/null
> +++ b/tests/test-commit-unresolved
> @@ -0,0 +1,41 @@
> +#!/bin/sh
> +
> +echo "[extensions]" >> $HGRCPATH
> +echo "graphlog=" >> $HGRCPATH
> +echo "rebase=" >> $HGRCPATH
> +
> +function addcommit {...
More information about the Mercurial-devel
mailing list