2019-12-10 02:24:31 +03:00
|
|
|
#chg-compatible
|
|
|
|
|
2018-01-04 18:22:19 +03:00
|
|
|
$ . "$TESTDIR/hgsql/library.sh"
|
2020-01-20 13:42:49 +03:00
|
|
|
$ disable treemanifest
|
2015-10-09 23:13:38 +03:00
|
|
|
|
2020-01-20 13:42:49 +03:00
|
|
|
$ enable pushrebase
|
|
|
|
$ setconfig experimental.bundle2lazylocking=True
|
2015-10-09 23:13:38 +03:00
|
|
|
|
2016-01-07 03:37:46 +03:00
|
|
|
Test verify sql lock is not held during prelockrebase and txnclose hooks
|
2015-10-09 23:13:38 +03:00
|
|
|
|
|
|
|
$ cat >> $TESTTMP/locktester.py <<EOF
|
|
|
|
> import os
|
2019-01-30 03:25:33 +03:00
|
|
|
> from edenscm.mercurial import extensions, bundle2, util
|
2015-10-09 23:13:38 +03:00
|
|
|
> def checklock(repo, *args, **kwargs):
|
|
|
|
> if len(repo.heldlocks) > 0:
|
|
|
|
> raise util.Abort("lock was TAKEN")
|
|
|
|
> raise util.Abort("lock was FREE")
|
|
|
|
> EOF
|
|
|
|
|
|
|
|
$ initserver master master
|
|
|
|
$ cat >> master/.hg/hgrc <<EOF
|
|
|
|
> [hooks]
|
|
|
|
> prepushrebase=python:$TESTTMP/locktester.py:checklock
|
2016-01-07 03:37:46 +03:00
|
|
|
> txnclose=python:$TESTTMP/locktester.py:checklock
|
2015-10-09 23:13:38 +03:00
|
|
|
> EOF
|
|
|
|
$ cd master
|
|
|
|
$ touch a && hg ci -Aqm a
|
2016-01-07 03:37:46 +03:00
|
|
|
error: txnclose hook failed: lock was FREE
|
2016-02-18 01:46:00 +03:00
|
|
|
(run with --traceback for stack trace)
|
2015-10-09 23:13:38 +03:00
|
|
|
$ hg book master
|
2016-01-07 03:37:46 +03:00
|
|
|
error: txnclose hook failed: lock was FREE
|
2016-02-18 01:46:00 +03:00
|
|
|
(run with --traceback for stack trace)
|
2015-10-09 23:13:38 +03:00
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
$ initclient client
|
|
|
|
$ cd client
|
|
|
|
$ hg pull -q ssh://user@dummy/master
|
|
|
|
$ hg up -q master
|
|
|
|
$ touch b && hg ci -Aqm b
|
|
|
|
|
|
|
|
$ hg push ssh://user@dummy/master --to master
|
|
|
|
pushing to ssh://user@dummy/master
|
|
|
|
searching for changes
|
2015-12-03 00:59:20 +03:00
|
|
|
remote: lock was FREE
|
2020-02-28 04:51:13 +03:00
|
|
|
remote: error: prepushrebase hook failed: lock was FREE
|
2020-09-19 04:46:00 +03:00
|
|
|
abort: push failed on remote
|
2015-10-09 23:13:38 +03:00
|
|
|
[255]
|
|
|
|
|
|
|
|
$ cd ../master
|
2020-10-08 06:58:22 +03:00
|
|
|
$ hg log -T '{node}\n'
|
|
|
|
3903775176ed42b1458a6281db4a0ccf4d9f287a
|