# HG changeset patch # User Thomas Arendsen Hein # Date 1169676291 -3600 # Node ID 78a0dd93db0b9f4d7cfaeb9f29c49a618b9ab758 # Parent 31047b6f7ec15748a32788a4acee236e0faaca1d Abort on empty username so specifying a username can be forced. This behaviour was introduced by c3345b0f2fcd and broken by 98f2507c5551. Added test for this. diff -r 31047b6f7ec1 -r 78a0dd93db0b mercurial/ui.py --- a/mercurial/ui.py Sun Jan 14 19:10:35 2007 +0100 +++ b/mercurial/ui.py Wed Jan 24 23:04:51 2007 +0100 @@ -345,12 +345,14 @@ user = self.config("ui", "username") if user is None: user = os.environ.get("EMAIL") - if not user: + if user is None: try: user = '%s@%s' % (util.getuser(), socket.getfqdn()) + self.warn(_("No username found, using '%s' instead\n") % user) except KeyError: - raise util.Abort(_("Please specify a username.")) - self.warn(_("No username found, using '%s' instead\n") % user) + pass + if not user: + raise util.Abort(_("Please specify a username.")) return user def shortuser(self, user): diff -r 31047b6f7ec1 -r 78a0dd93db0b tests/test-committer --- a/tests/test-committer Sun Jan 14 19:10:35 2007 +0100 +++ b/tests/test-committer Wed Jan 24 23:04:51 2007 +0100 @@ -24,5 +24,8 @@ hg commit -d '1000000 0' -u "foo@bar.com" -m commit-1 hg tip echo 123 > asdf +echo "[ui]" > .hg/hgrc +echo "username = " >> .hg/hgrc +hg commit -d '1000000 0' -m commit-1 rm .hg/hgrc hg commit -d '1000000 0' -m commit-1 2>&1 | sed -e "s/'[^']*'/user@host/" diff -r 31047b6f7ec1 -r 78a0dd93db0b tests/test-committer.out --- a/tests/test-committer.out Sun Jan 14 19:10:35 2007 +0100 +++ b/tests/test-committer.out Wed Jan 24 23:04:51 2007 +0100 @@ -22,4 +22,7 @@ date: Mon Jan 12 13:46:40 1970 +0000 summary: commit-1 +abort: Please specify a username. +transaction abort! +rollback completed No username found, using user@host instead