Mercurial > hg
view tests/test-dispatch.t @ 18063:34a1a639d835
revset.children: ignore rev numbers that are too low
This replaces unnecessary parentrevs() calls with calculating min(parentset).
Even though the min operation is O(size of parentset), since parentrevs is
relatively expensive, this tradeoff almost always works in our favour. In a
repository with over 400,000 changesets, hg perfrevset "children(X)" takes:
Set X Before After
-1 0.51s 0.06s
-1000: 0.55s 0.08s
-10000: 0.56s 0.10s
-100000: 0.60s 0.25s
-100000:-99000 0.55s 0.19s
0:100000 0.60s 0.61s
all() 0.72s 0.74s
The relative performance is similar for Mercurial's own repository -- several
times faster in most cases, slightly slower for revisions close to 0 and
all().
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Fri, 07 Dec 2012 10:37:43 -0800 |
parents | 50fbe9063ff2 |
children | fe67db018bd7 |
line wrap: on
line source
test command parsing and dispatch $ hg init a $ cd a Redundant options used to crash (issue436): $ hg -v log -v $ hg -v log -v x $ echo a > a $ hg ci -Ama adding a Missing arg: $ hg cat hg cat: invalid arguments hg cat [OPTION]... FILE... output the current or given revision of files options: -o --output FORMAT print output to file with formatted name -r --rev REV print the given revision --decode apply any matching decode filter -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns [+] marked option can be specified multiple times use "hg help cat" to show the full help text [255] [defaults] $ hg cat a a $ cat >> $HGRCPATH <<EOF > [defaults] > cat = -r null > EOF $ hg cat a a: no such file in rev 000000000000 [1] $ cd "$TESTTMP" #if no-outer-repo No repo: $ cd $dir $ hg cat abort: no repository found in '$TESTTMP' (.hg not found)! [255] #endif