##// END OF EJS Templates
phabricator: warn if unable to amend, instead of aborting after posting...
phabricator: warn if unable to amend, instead of aborting after posting There was a divergence in behavior here between obsolete and strip based amending. I first noticed the abort when testing outside of the test harness, but then had trouble recreating it here after reverting the code changes. It turns out, strip based amend was successfully amending the public commit after it was posted! It looks like the protection is in the `commit --amend` command, not in the underlying code that it calls. I considered doing a preflight check and aborting. But the locks are only acquired at the end, if amending, and this is too large a section of code to be wrapped in a maybe-it's-held-or-not context manager for my tastes. Additionally, some people do post-push reviews, and amending is the default behavior, so they shouldn't see a misleading error message. The lack of a 'Differential Revision' entry in the commit message breaks a {phabreview} test, so it had to be partially conditionalized.

File last commit:

r28962:ad2cd2ef default
r41198:0101a35d default
Show More
test-committer.t
110 lines | 2.5 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
timeless
config: use single quotes around command hint...
r28962 (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
Yuya Nishihara
ui: fix crash by non-interactive prompt echo for user name...
r28039 # test prompt username
$ cat > .hg/hgrc <<EOF
> [ui]
> askusername = True
> EOF
$ echo 12345 > asdf
$ hg commit --config ui.interactive=False -m ask
enter a commit username:
no username found, using '[^']*' instead (re)
$ hg rollback -q
$ hg commit --config ui.interactive=True -m ask <<EOF
> Asked User <ask@example.com>
> EOF
enter a commit username: Asked User <ask@example.com>
$ hg tip
changeset: 5:84c91d963b70
tag: tip
user: Asked User <ask@example.com>
date: Thu Jan 01 00:00:00 1970 +0000
summary: ask
anatoly techtonik
config: allow 'user' in .hgrc ui section (issue3169)
r21955 # 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 ..