Mercurial > hg
annotate tests/test-abort-checkin.t @ 48677:8e5effbf52d0 stable
branchmap: stop writing cache for uncommitted data
If we are about to write the branch while a transaction is active. we delay
that write. After the transaction is closed, we flush all the write we delayed
(unless they have been written in between).
Differential Revision: https://phab.mercurial-scm.org/D12128
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 01 Feb 2022 15:19:50 +0100 |
parents | f798709eb4b9 |
children |
rev | line source |
---|---|
11848
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
1 $ cat > abortcommit.py <<EOF |
26587
56b2bcea2529
error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23172
diff
changeset
|
2 > from mercurial import error |
11848
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
3 > def hook(**args): |
36375
f798709eb4b9
py3: add b'' prefixes in test-abort-checkin.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
26587
diff
changeset
|
4 > raise error.Abort(b"no commits allowed") |
11848
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
5 > def reposetup(ui, repo): |
36375
f798709eb4b9
py3: add b'' prefixes in test-abort-checkin.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
26587
diff
changeset
|
6 > repo.ui.setconfig(b"hooks", b"pretxncommit.nocommits", hook) |
11848
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
7 > EOF |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
8 $ abspath=`pwd`/abortcommit.py |
4140
193e0f8d9a47
test-abort-checkin: use a hook to abort the commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2990
diff
changeset
|
9 |
23172
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
16913
diff
changeset
|
10 $ cat <<EOF >> $HGRCPATH |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
16913
diff
changeset
|
11 > [extensions] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
16913
diff
changeset
|
12 > mq = |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
16913
diff
changeset
|
13 > abortcommit = $abspath |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
16913
diff
changeset
|
14 > EOF |
4140
193e0f8d9a47
test-abort-checkin: use a hook to abort the commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2990
diff
changeset
|
15 |
11848
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
16 $ hg init foo |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
17 $ cd foo |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
18 $ echo foo > foo |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
19 $ hg add foo |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
20 |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
21 mq may keep a reference to the repository so __del__ will not be |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
22 called and .hg/journal.dirstate will not be deleted: |
2726
6bd351194a96
Add test mq keeping a reference to localrepo which can't remove journal on exit.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
23 |
11848
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
24 $ hg ci -m foo |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
25 error: pretxncommit.nocommits hook failed: no commits allowed |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
26 transaction abort! |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
27 rollback completed |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
28 abort: no commits allowed |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11848
diff
changeset
|
29 [255] |
11848
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
30 $ hg ci -m foo |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
31 error: pretxncommit.nocommits hook failed: no commits allowed |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
32 transaction abort! |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
33 rollback completed |
f54ff49393fb
tests: unify test-abort-checkin
Martin Geisler <mg@lazybytes.net>
parents:
4140
diff
changeset
|
34 abort: no commits allowed |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11848
diff
changeset
|
35 [255] |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12327
diff
changeset
|
36 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12327
diff
changeset
|
37 $ cd .. |