Mercurial > hg
view tests/test-resolve.t @ 21810:4b2ebd3187a1
dirstate.status: assign members one by one instead of unpacking the tuple
With this patch, hg status and hg diff regain their previous speed.
The following tests are run against a working copy with over 270,000 files.
Here, 'before' means without this or the previous patch applied.
Note that in this case `hg perfstatus` isn't representative since it doesn't
take dirstate parsing time into account.
$ time hg status # best of 5
before: 2.03s user 1.25s system 99% cpu 3.290 total
after: 2.01s user 1.25s system 99% cpu 3.261 total
$ time hg diff # best of 5
before: 1.32s user 0.78s system 99% cpu 2.105 total
after: 1.27s user 0.79s system 99% cpu 2.066 total
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Tue, 27 May 2014 21:02:16 -0700 |
parents | 6539c4e9c874 |
children | b081decd9062 |
line wrap: on
line source
test that a commit clears the merge state. $ hg init repo $ cd repo $ echo foo > file $ hg commit -Am 'add file' adding file $ echo bar >> file $ hg commit -Am 'append bar' create a second head $ hg up -C 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo baz >> file $ hg commit -Am 'append baz' created new head failing merge $ hg merge --tool=internal:fail 0 files updated, 0 files merged, 0 files removed, 1 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon [1] resolve -l should contain an unresolved entry $ hg resolve -l U file resolving an unknown path emits a warning $ hg resolve -m does-not-exist arguments do not match paths that need resolving resolve the failure $ echo resolved > file $ hg resolve -m file no more unresolved files $ hg commit -m 'resolved' resolve -l should be empty $ hg resolve -l resolve -m should abort since no merge in progress $ hg resolve -m abort: resolve command not applicable when not merging [255] test crashed merge with empty mergestate $ mkdir .hg/merge $ touch .hg/merge/state resolve -l, should be empty $ hg resolve -l $ cd ..