[PATCH] filemerge: store error messages in module variables
FUJIWARA Katsunori
foozy at lares.dti.ne.jp
Thu May 18 15:36:57 EDT 2017
At Thu, 18 May 2017 09:49:11 -0700,
Stanislau Hlebik wrote:
>
> # HG changeset patch
> # User Stanislau Hlebik <stash at fb.com>
> # Date 1495125989 25200
> # Thu May 18 09:46:29 2017 -0700
> # Node ID a1bf790daa1dcaf534c766b961951947d69938ae
> # Parent 8a87bfc5bebbbe0ac996ac8e047a029eb931af45
> filemerge: store error messages in module variables
>
> Copytracing may be disabled because it's too slow (see
> experimental.disablecopytrace config option). In that case user may get errors
> like 'local changed FILE which other deleted'. It would be nice to give user a
> hint to rerun command with `--config experimental.disablecopytrace=False`. To
> make it possible let's extract error message to variables so that extension may
> overwrite them.
>
> diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
> --- a/mercurial/filemerge.py
> +++ b/mercurial/filemerge.py
> @@ -49,6 +49,17 @@
> mergeonly = 'mergeonly' # just the full merge, no premerge
> fullmerge = 'fullmerge' # both premerge and merge
>
> +_localchangedotherdeletedmsg = (
> + "local%(l)s changed %(fd)s which other%(o)s deleted\n"
> + "use (c)hanged version, (d)elete, or leave (u)nresolved?"
> + "$$ &Changed $$ &Delete $$ &Unresolved")
> +
> +_otherchangedlocaldeletedmsg = (
> + "other%(o)s changed %(fd)s which local%(l)s deleted\n"
> + "use (c)hanged version, leave (d)eleted, or "
> + "leave (u)nresolved?"
> + "$$ &Changed $$ &Deleted $$ &Unresolved")
> +
> class absentfilectx(object):
> """Represents a file that's ostensibly in a context but is actually not
> present in it.
> @@ -250,16 +261,11 @@
> try:
> if fco.isabsent():
> index = ui.promptchoice(
> - _("local%(l)s changed %(fd)s which other%(o)s deleted\n"
> - "use (c)hanged version, (d)elete, or leave (u)nresolved?"
> - "$$ &Changed $$ &Delete $$ &Unresolved") % prompts, 2)
> + _(_localchangedotherdeletedmsg) % prompts, 2)
> choice = ['local', 'other', 'unresolved'][index]
> elif fcd.isabsent():
> index = ui.promptchoice(
> - _("other%(o)s changed %(fd)s which local%(l)s deleted\n"
> - "use (c)hanged version, leave (d)eleted, or "
> - "leave (u)nresolved?"
> - "$$ &Changed $$ &Deleted $$ &Unresolved") % prompts, 2)
> + _(_otherchangedlocaldeletedmsg) % prompts, 2)
> choice = ['other', 'local', 'unresolved'][index]
These messages aren't translated at runtime, even though "_()" is
applied on actual messages at runtime, because xgettext picks up only
static string literals, on which "_()" is directly applied.
Of course, these messages are translated in cases below, but we
shouldn't expect such "accidental" cases.
- *.po file contains corresponded message entries, because it isn't
updated by recent source
- there is another code path, in which "_()" is applied on same
message string literal
Please refer to similar module variables defined in crecord.py and
wireporot.py.
https://www.mercurial-scm.org/repo/hg/file/4.2/mercurial/crecord.py#l33
https://www.mercurial-scm.org/repo/hg/file/4.2/mercurial/wireproto.py#l37
> else:
> index = ui.promptchoice(
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
--
----------------------------------------------------------------------
[FUJIWARA Katsunori] foozy at lares.dti.ne.jp
More information about the Mercurial-devel
mailing list