2014-02-06 04:55:09 +04:00
|
|
|
#if unix-permissions no-root no-windows
|
|
|
|
|
|
|
|
Prepare
|
|
|
|
|
2010-08-26 14:41:00 +04:00
|
|
|
$ hg init a
|
|
|
|
$ echo a > a/a
|
|
|
|
$ hg -R a ci -A -m a
|
|
|
|
adding a
|
|
|
|
|
|
|
|
$ hg clone a b
|
|
|
|
updating to branch default
|
|
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
|
2014-02-06 04:55:09 +04:00
|
|
|
One process waiting for another
|
|
|
|
|
|
|
|
$ cat > hooks.py << EOF
|
|
|
|
> import time
|
|
|
|
> def sleepone(**x): time.sleep(1)
|
|
|
|
> def sleephalf(**x): time.sleep(0.5)
|
|
|
|
> EOF
|
2010-08-26 14:41:00 +04:00
|
|
|
$ echo b > b/b
|
2014-02-06 04:55:09 +04:00
|
|
|
$ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
|
|
|
|
$ hg -R b up -q --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf"
|
|
|
|
waiting for lock on working directory of b held by '*:*' (glob)
|
2014-03-05 17:03:08 +04:00
|
|
|
got lock after ? seconds (glob)
|
2014-02-06 04:55:09 +04:00
|
|
|
warning: ignoring unknown working parent d2ae7f538514!
|
|
|
|
$ wait
|
|
|
|
$ cat stdout
|
2010-08-26 14:41:00 +04:00
|
|
|
adding b
|
|
|
|
|
2014-02-06 04:55:09 +04:00
|
|
|
Pushing to a local read-only repo that can't be locked
|
|
|
|
|
2010-08-26 14:41:00 +04:00
|
|
|
$ chmod 100 a/.hg/store
|
|
|
|
|
|
|
|
$ hg -R b push a
|
|
|
|
pushing to a
|
2014-04-05 04:50:44 +04:00
|
|
|
searching for changes
|
2010-08-26 14:41:00 +04:00
|
|
|
abort: could not lock repository a: Permission denied
|
2010-09-17 02:51:32 +04:00
|
|
|
[255]
|
2010-08-26 14:41:00 +04:00
|
|
|
|
|
|
|
$ chmod 700 a/.hg/store
|
2013-11-15 04:07:43 +04:00
|
|
|
#endif
|