tests/test-backwards-remove.t
author Durham Goode <durham@fb.com>
Fri, 12 Sep 2014 15:00:51 -0700
changeset 22450 95af98616aa7
parent 12156 4c94b6d0fb1c
child 44724 5c2a4f37eace
permissions -rw-r--r--
revset: make parents() O(number of parents) Strip executes a revset like this: max(parents(_intlist('1234\x001235')) - _intlist('1234\x001235')) Previously the parents() revset would do 'subset & parents' which iterates over each item in the subset and checks if it's in parents. subset is usually the entire repo (a spanset) so this takes a while. Reversing the parameters to be 'parents & subset' means the operation becomes O(number of parents) instead of O(size of repo). It also means the result gets evaluated immediately (since parents isn't a lazy set), but I think this is a win in most scenarios. This shaves 0.3 seconds off strip (amend/histedit/rebase/etc) for large repositories. revset #0: parents(20000) 0) obsolete feature not enabled but 54243 markers found! ! wall 0.006256 comb 0.010000 user 0.010000 sys 0.000000 (best of 289) 1) obsolete feature not enabled but 54243 markers found! ! wall 0.000391 comb 0.000000 user 0.000000 sys 0.000000 (best of 4323)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11857
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     1
  $ hg init
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     2
  $ echo This is file a1 > a
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     3
  $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11857
diff changeset
     4
  $ hg commit -m "commit #0"
11857
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     5
  $ ls
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     6
  a
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     7
  $ echo This is file b1 > b
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     8
  $ hg add b
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11857
diff changeset
     9
  $ hg commit -m "commit #1"
11857
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    10
  $ hg co 0
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    11
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    12
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    13
B should disappear
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    14
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    15
  $ ls
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    16
  a