##// END OF EJS Templates
mq: use dirstateguard instead of dirstate.invalidate (qpush)...
mq: use dirstateguard instead of dirstate.invalidate (qpush) Before this patch, "mq.queue.apply()" uses "dirstate.invalidate()" as a kind of "restore .hg/dirstate to the original status" during afailure. But it just discards changes in memory, and doesn't actually restore ".hg/dirstate". Then, it can't work as expected, if "dirstate.write()" is executed while processing. This patch uses "dirstateguard" instead of "dirstate.invalidate()" to restore ".hg/dirstate" at failure even if "dirstate.write()" is executed before failure. This is a part of preparations to fix the issue that the recent (in memory) dirstate isn't visible to external processes (e.g. "precommit" hook).

File last commit:

r21955:6dfb78f1 stable
r24996:58308dde default
Show More
test-committer.t
85 lines | 2.0 KiB | text/troff | Tads3Lexer
Nicolas Dumazet
tests: unify test-committer
r11801 $ unset HGUSER
$ EMAIL="My Name <myname@example.com>"
$ export EMAIL
$ hg init test
$ cd test
$ touch asdf
$ hg add asdf
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m commit-1
Nicolas Dumazet
tests: unify test-committer
r11801 $ hg tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 0:53f268a58230
Nicolas Dumazet
tests: unify test-committer
r11801 tag: tip
user: My Name <myname@example.com>
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Nicolas Dumazet
tests: unify test-committer
r11801 summary: commit-1
$ unset EMAIL
$ echo 1234 > asdf
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -u "foo@bar.com" -m commit-1
Nicolas Dumazet
tests: unify test-committer
r11801 $ hg tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 1:3871b2a9e9bf
Nicolas Dumazet
tests: unify test-committer
r11801 tag: tip
user: foo@bar.com
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Nicolas Dumazet
tests: unify test-committer
r11801 summary: commit-1
$ echo "[ui]" >> .hg/hgrc
$ echo "username = foobar <foo@bar.com>" >> .hg/hgrc
$ echo 12 > asdf
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m commit-1
Nicolas Dumazet
tests: unify test-committer
r11801 $ hg tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 2:8eeac6695c1c
Nicolas Dumazet
tests: unify test-committer
r11801 tag: tip
user: foobar <foo@bar.com>
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Nicolas Dumazet
tests: unify test-committer
r11801 summary: commit-1
$ echo 1 > asdf
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -u "foo@bar.com" -m commit-1
Nicolas Dumazet
tests: unify test-committer
r11801 $ hg tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 3:957606a725e4
Nicolas Dumazet
tests: unify test-committer
r11801 tag: tip
user: foo@bar.com
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Nicolas Dumazet
tests: unify test-committer
r11801 summary: commit-1
$ echo 123 > asdf
$ echo "[ui]" > .hg/hgrc
$ echo "username = " >> .hg/hgrc
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m commit-1
Matt Mackall
tests: fix up config --edit breakage
r20579 abort: no username supplied
Matt Mackall
ui: fix extra space in username abort
r20580 (use "hg config --edit" to set your username)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
anatoly techtonik
config: allow 'user' in .hgrc ui section (issue3169)
r21955
# test alternate config var
$ echo 1234 > asdf
$ echo "[ui]" > .hg/hgrc
$ echo "user = Foo Bar II <foo2@bar.com>" >> .hg/hgrc
$ hg commit -m commit-1
$ hg tip
changeset: 4:6f24bfb4c617
tag: tip
user: Foo Bar II <foo2@bar.com>
date: Thu Jan 01 00:00:00 1970 +0000
summary: commit-1
# test no .hg/hgrc (uses generated non-interactive username)
$ echo space > asdf
Nicolas Dumazet
tests: unify test-committer
r11801 $ rm .hg/hgrc
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m commit-1 2>&1
Martin Geisler
ui: lowercase "no username" warning
r16940 no username found, using '[^']*' instead (re)
Nicolas Dumazet
tests: unify test-committer
r11801
anatoly techtonik
config: allow 'user' in .hgrc ui section (issue3169)
r21955 $ echo space2 > asdf
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -u ' ' -m commit-1
Nicolas Dumazet
tests: unify test-committer
r11801 transaction abort!
rollback completed
abort: empty username!
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
anatoly techtonik
config: allow 'user' in .hgrc ui section (issue3169)
r21955 # don't add tests here, previous test is unstable
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..