$ unset HGUSER $ EMAIL="My Name " $ export EMAIL $ hg init test $ cd test $ touch asdf $ hg add asdf $ hg commit -d '1000000 0' -m commit-1 $ hg tip changeset: 0:9426b370c206 tag: tip user: My Name date: Mon Jan 12 13:46:40 1970 +0000 summary: commit-1 $ unset EMAIL $ echo 1234 > asdf $ hg commit -d '1000000 0' -u "foo@bar.com" -m commit-1 $ hg tip changeset: 1:4997f15a1b24 tag: tip user: foo@bar.com date: Mon Jan 12 13:46:40 1970 +0000 summary: commit-1 $ echo "[ui]" >> .hg/hgrc $ echo "username = foobar " >> .hg/hgrc $ echo 12 > asdf $ hg commit -d '1000000 0' -m commit-1 $ hg tip changeset: 2:72b8012b424e tag: tip user: foobar date: Mon Jan 12 13:46:40 1970 +0000 summary: commit-1 $ echo 1 > asdf $ hg commit -d '1000000 0' -u "foo@bar.com" -m commit-1 $ hg tip changeset: 3:35ff3067bedd tag: tip user: foo@bar.com date: Mon Jan 12 13:46:40 1970 +0000 summary: commit-1 $ echo 123 > asdf $ echo "[ui]" > .hg/hgrc $ echo "username = " >> .hg/hgrc $ hg commit -d '1000000 0' -m commit-1 abort: no username supplied (see "hg help config") $ rm .hg/hgrc $ hg commit -d '1000000 0' -m commit-1 2>&1 No username found, using '[^']*' instead $ echo space > asdf $ hg commit -d '1000000 0' -u ' ' -m commit-1 transaction abort! rollback completed abort: empty username! $ true