[PATCH 3 of 3 V2] localrepo: better error message when revlog error and file addition (issue4675)

Augie Fackler raf at durin42.com
Fri May 29 09:18:18 CDT 2015


On Thu, May 28, 2015 at 04:49:00PM -0400, Jordi GutiƩrrez Hermoso wrote:
> # HG changeset patch
> # User Jordi GutiƩrrez Hermoso <jordigh at octave.org>
> # Date 1432239912 14400
> #      Thu May 21 16:25:12 2015 -0400
> # Node ID 6374820d9c459b010d8ada703c22eed5095f8420
> # Parent  ae1b7ac00f0edb3fd9c8d7c4f0076c5becfab2d3
> localrepo: better error message when revlog error and file addition (issue4675)

I'm not sure about the hint in patch two, but this seems to commute with that, so I've queued patches 1 and three. Thanks!

>
> At this level we have enough context for saying which filename caused
> the revlog error, and we can also add the hint from the revlog
> exception, if any.
>
> diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
> --- a/mercurial/localrepo.py
> +++ b/mercurial/localrepo.py
> @@ -1348,7 +1348,10 @@ class localrepository(object):
>          text = fctx.data()
>          if fparent2 != nullid or flog.cmp(fparent1, text) or meta:
>              changelist.append(fname)
> -            return flog.add(text, meta, tr, linkrev, fparent1, fparent2)
> +            try:
> +                return flog.add(text, meta, tr, linkrev, fparent1, fparent2)
> +            except error.RevlogError as exc:
> +                raise util.Abort("%s: %s" % (exc, fname), hint=exc.hint)
>          # are just the flags changed during merge?
>          elif fname in manifest1 and manifest1.flags(fname) != fctx.flags():
>              changelist.append(fname)
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list