tests/test-merge5.t
author Siddharth Agarwal <sid0@fb.com>
Fri, 27 Mar 2015 01:03:06 -0700
changeset 24486 1a9efc312700
parent 23026 fe80fdf68ba7
child 28029 72072cfc7e91
permissions -rw-r--r--
dirs.addpath: rework algorithm to search forward This improves performance because it uses strchr rather than a loop. For LLVM/clang version "Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)" on OS X, for a repo with over 200,000 files, this improves perfdirs from 0.248 seconds to 0.230 (7.3%) For gcc 4.4.6 on Linux, for a test repo with over 500,000 files, this improves perfdirs from 0.704 seconds to 0.658 (6.5%).

  $ hg init
  $ echo This is file a1 > a
  $ echo This is file b1 > b
  $ hg add a b
  $ hg commit -m "commit #0"
  $ echo This is file b22 > b
  $ hg commit -m "comment #1"
  $ hg update 0
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm b
  $ hg commit -A -m "comment #2"
  removing b
  created new head
  $ hg update 1
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg update
  abort: not a linear update
  (merge or update --check to force update)
  [255]
  $ rm b
  $ hg update -c
  abort: uncommitted changes
  [255]
  $ hg revert b
  $ hg update -c
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  $ mv a c

Should abort:

  $ hg update 1
  abort: uncommitted changes
  (commit or update --clean to discard changes)
  [255]
  $ mv c a

Should succeed:

  $ hg update 1
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved