[PATCH 1 of 4 RFC] scmutil: changed revrange to return lazysets for new style revsets
Lucas Moscovicz
lmoscovicz at fb.com
Thu Feb 20 18:36:30 UTC 2014
# HG changeset patch
# User Lucas Moscovicz <lmoscovicz at fb.com>
# Date 1392247827 28800
# Wed Feb 12 15:30:27 2014 -0800
# Node ID 91b77bbaa0970724742e9d2700e1123403b9d386
# Parent d9bb5abb1c584e3e04ac3632805ff8886b1a2973
scmutil: changed revrange to return lazysets for new style revsets
When there is an old style revset or both it will still return a baseset. This
may be changed in later patches.
diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -524,11 +524,14 @@
# fall through to new-style queries if old-style fails
m = revset.match(repo.ui, spec)
- dl = [r for r in m(repo, revset.spanset(repo)) if r not in seen]
- l.extend(dl)
- seen.update(dl)
+ if seen or l:
+ dl = [r for r in m(repo, revset.spanset(repo)) if r not in seen]
+ l.extend(dl)
+ seen.update(dl)
+ else:
+ l = m(repo, revset.spanset(repo))
- return revset.baseset(l)
+ return l
def expandpats(pats):
if not util.expandglobs:
More information about the Mercurial-devel
mailing list