##// END OF EJS Templates
hg: acquire wlock while updating the working directory via updatetotally...
hg: acquire wlock while updating the working directory via updatetotally updatetotally() might be invoked outside wlock scope (e.g. invocation via postincoming() at "hg unbundle" or "hg pull"). In such case, acquisition of wlock is needed for consistent view, because parallel "hg update" and/or "hg bookmarks" might change working directory status while executing updatetotally(). Strictly speaking, truly consistent updating should acquire also store lock, because active bookmark might be moved to another one outside wlock scope (e.g. pulling from other repository causes updating current active one). Acquisition of wlock in this patch ensures consistency in as same level as past "hg update".

File last commit:

r25126:00e4c560 default
r28503:138ec883 default
Show More
test-push-hook-lock.t
50 lines | 1.3 KiB | text/troff | Tads3Lexer
/ tests / test-push-hook-lock.t
Adrian Buehlmann
combine tests
r12279 $ hg init 1
$ echo '[ui]' >> 1/.hg/hgrc
$ echo 'timeout = 10' >> 1/.hg/hgrc
$ echo foo > 1/foo
$ hg --cwd 1 ci -A -m foo
adding foo
$ hg clone 1 2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg clone 2 3
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Harbison
tests: move a multi-statement debuglocks hook into a shell script for Windows...
r23349 $ cat <<EOF > $TESTTMP/debuglocks-pretxn-hook.sh
> hg debuglocks
> true
> EOF
Adrian Buehlmann
combine tests
r12279 $ echo '[hooks]' >> 2/.hg/hgrc
Matt Harbison
tests: move a multi-statement debuglocks hook into a shell script for Windows...
r23349 $ echo "pretxnchangegroup.a = sh $TESTTMP/debuglocks-pretxn-hook.sh" >> 2/.hg/hgrc
Adrian Buehlmann
combine tests
r12279 $ echo 'changegroup.push = hg push -qf ../1' >> 2/.hg/hgrc
$ echo bar >> 3/foo
$ hg --cwd 3 ci -m bar
Pierre-Yves David
test: test both bundle1 and bundle2 paths in 'test-push-hook-lock.t'...
r25126 $ hg --cwd 3 push ../2 --config experimental.bundle2-exp=False
Adrian Buehlmann
combine tests
r12279 pushing to ../2
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Matt Mackall
commands: add debuglocks to report/clear lock state
r22559 lock: user *, process * (*s) (glob)
wlock: free
Adrian Buehlmann
combine tests
r12279
Pierre-Yves David
test: test both bundle1 and bundle2 paths in 'test-push-hook-lock.t'...
r25126 $ hg --cwd 1 --config extensions.strip= strip tip -q
$ hg --cwd 2 --config extensions.strip= strip tip -q
$ hg --cwd 3 push ../2 --config experimental.bundle2-exp=True
pushing to ../2
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
lock: user *, process * (*s) (glob)
wlock: user *, process * (*s) (glob)