[PATCH] histedit: prevent parent guessed via --outgoing from being a revset (issue3770)

Pierre-Yves David pierre-yves.david at logilab.fr
Wed Jan 30 10:01:16 CST 2013


On Wed, Jan 30, 2013 at 10:58:06AM -0500, Augie Fackler wrote:
> # HG changeset patch
> # User Augie Fackler <raf at durin42.com>
> # Date 1359561448 18000
> # Branch stable
> # Node ID d2de19a50f101734629c8c4d05b91780c0d7fe13
> # Parent  692cbda1eb50fe30c70792cb1e9380b28769467c
> histedit: prevent parent guessed via --outgoing from being a revset (issue3770)
> 
> If the binary hash of the parent node guessed via --outgoing happened
> to contain a special revset character (":" was specified in the bug),
> the revset parser would abort. Hexlifying the node before passing it
> to the revsingle call should fix that.

Why don't you just give a 'min(outgoing())' revset to singlerev and give up
your manual outgoing call?

> 
> diff --git a/hgext/histedit.py b/hgext/histedit.py
> --- a/hgext/histedit.py
> +++ b/hgext/histedit.py
> @@ -454,8 +454,12 @@
>          if revs:
>              revs = [repo.lookup(rev) for rev in revs]
>  
> -        parent = discovery.findcommonoutgoing(
> -            repo, other, [], force=opts.get('force')).missing[0:1]
> +        # hexlify nodes from outgoing, because we're going to parse
> +        # parent[0] using revsingle below, and if the binary hash
> +        # contains special revset characters like ":" the revset
> +        # parser can choke.
> +        parent = map(node.hex, discovery.findcommonoutgoing(
> +            repo, other, [], force=opts.get('force')).missing[0:1])
>      else:
>          if opts.get('force'):
>              raise util.Abort(_('--force only allowed with --outgoing'))
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel

-- 
Pierre-Yves David

http://www.logilab.fr/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20130130/daa2ca97/attachment.pgp>


More information about the Mercurial-devel mailing list