From patchwork Sat Dec 26 18:28:06 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [V2] destutil: use scmutil.revrange for desthistedit (issue5001) From: Gregory Szorc X-Patchwork-Id: 12357 Message-Id: <12e6ed23056d657aee19.1451154486@gps-mbp.local> To: mercurial-devel@selenic.com Date: Sat, 26 Dec 2015 11:28:06 -0700 # HG changeset patch # User Gregory Szorc # Date 1450980990 28800 # Thu Dec 24 10:16:30 2015 -0800 # Node ID 12e6ed23056d657aee19969b140bc1b2d5ad0b47 # Parent e2aa9c4030c4109e5efa50462ffc6048ca30106f destutil: use scmutil.revrange for desthistedit (issue5001) This allows user aliases to be expanded. It also prevents the user-provided revset from being treated as a revset expression. diff --git a/mercurial/destutil.py b/mercurial/destutil.py --- a/mercurial/destutil.py +++ b/mercurial/destutil.py @@ -204,11 +204,14 @@ def destmerge(repo): histeditdefaultrevset = 'reverse(only(.) and not public() and not ::merge())' def desthistedit(ui, repo): """Default base revision to edit for `hg histedit`.""" + # Avoid cycle: scmutil -> revset -> destutil + from . import scmutil + default = ui.config('histedit', 'defaultrev', histeditdefaultrevset) if default: - revs = repo.revs(default) + revs = scmutil.revrange(repo, [default]) if revs: # The revset supplied by the user may not be in ascending order nor # take the first revision. So do this manually. revs.sort()