view tests/test-lock-badness.t @ 20547:9d9f8ccffead

hooks: move logging of hook name to after we have found the hook We do not expect the finding process to take a significant amount of time - it is the execution time of the hook we care about.
author Mads Kiilerich <madski@unity3d.com>
date Sat, 15 Feb 2014 01:23:12 +0100
parents c697b70f295f
children 3bfac190c7cd
line wrap: on
line source

#if unix-permissions no-root no-windows

Prepare

  $ 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

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
  $ echo b > b/b
  $ 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)
  got lock after 1 seconds
  warning: ignoring unknown working parent d2ae7f538514!
  $ wait
  $ cat stdout
  adding b

Pushing to a local read-only repo that can't be locked

  $ chmod 100 a/.hg/store

  $ hg -R b push a
  pushing to a
  abort: could not lock repository a: Permission denied
  [255]

  $ chmod 700 a/.hg/store
#endif