Mercurial > hg
view tests/test-locate.t @ 27289:ee33e677f0ac
transplant: widen wlock scope of transplant for consitency while processing
Before this patch, "hg transplant" executes below before acquisition
of wlock.
- cmdutil.checkunfinished()
- repo.status() for dirty check
- repo.dirstate.parents()
It may cause unintentional result, if another command runs parallelly
(see also issue4368).
This patch makes "hg transplant" acquire wlock before processing
instead of acquiring wlock in each of 'transplanter.apply()' and
'transplanter.recover()'.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 09 Dec 2015 08:28:53 +0900 |
parents | bfe9ed85f27c |
children | 4441705b7111 |
line wrap: on
line source
$ hg init repo $ cd repo $ echo 0 > a $ echo 0 > b $ echo 0 > t.h $ mkdir t $ echo 0 > t/x $ echo 0 > t/b $ echo 0 > t/e.h $ mkdir dir.h $ echo 0 > dir.h/foo $ hg ci -A -m m adding a adding b adding dir.h/foo adding t.h adding t/b adding t/e.h adding t/x $ touch nottracked $ hg locate a a $ hg locate NONEXISTENT [1] $ hg locate a b dir.h/foo t.h t/b t/e.h t/x $ hg rm a $ hg ci -m m $ hg locate a [1] $ hg locate NONEXISTENT [1] $ hg locate relpath:NONEXISTENT [1] $ hg locate b dir.h/foo t.h t/b t/e.h t/x $ hg locate -r 0 a a $ hg locate -r 0 NONEXISTENT [1] $ hg locate -r 0 relpath:NONEXISTENT [1] $ hg locate -r 0 a b dir.h/foo t.h t/b t/e.h t/x -I/-X with relative path should work: $ cd t $ hg locate b dir.h/foo t.h t/b t/e.h t/x $ hg locate -I ../t t/b t/e.h t/x Issue294: hg remove --after dir fails when dir.* also exists $ cd .. $ rm -r t $ hg rm t/b $ hg locate 't/**' t/b (glob) t/e.h (glob) t/x (glob) $ hg files b dir.h/foo (glob) t.h t/e.h (glob) t/x (glob) $ hg files b b $ mkdir otherdir $ cd otherdir $ hg files path: ../b (glob) ../dir.h/foo (glob) ../t.h (glob) ../t/e.h (glob) ../t/x (glob) $ hg files path:. ../b (glob) ../dir.h/foo (glob) ../t.h (glob) ../t/e.h (glob) ../t/x (glob) $ hg locate b ../b (glob) ../t/b (glob) $ hg locate '*.h' ../t.h (glob) ../t/e.h (glob) $ hg locate path:t/x ../t/x (glob) $ hg locate 're:.*\.h$' ../t.h (glob) ../t/e.h (glob) $ hg locate -r 0 b ../b (glob) ../t/b (glob) $ hg locate -r 0 '*.h' ../t.h (glob) ../t/e.h (glob) $ hg locate -r 0 path:t/x ../t/x (glob) $ hg locate -r 0 're:.*\.h$' ../t.h (glob) ../t/e.h (glob) $ hg files ../b (glob) ../dir.h/foo (glob) ../t.h (glob) ../t/e.h (glob) ../t/x (glob) $ hg files . [1] $ cd ../..