diff --git a/doc/hgrc.5.txt b/doc/hgrc.5.txt --- a/doc/hgrc.5.txt +++ b/doc/hgrc.5.txt @@ -401,8 +401,8 @@ ui:: username;; The committer of a changeset created when running "commit". Typically a person's name and email address, e.g. "Fred Widget - ". Default is $EMAIL. If no default is found, - the username have to be specified manually. + ". Default is $EMAIL. If no default is found, or the + configured username is empty, it has to be specified manually. verbose;; Increase the amount of output printed. True or False. Default is False. diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -235,8 +235,13 @@ class ui(object): user = self.config("ui", "username") if user is None: user = os.environ.get("EMAIL") - if user is None: - raise util.Abort(_("No default username available, use -u")) + if not user: + self.status(_("Please choose a commit username to be recorded " + "in the changelog via\ncommand line option " + '(-u "First Last "), in the\n' + "configuration files (hgrc), or by setting the " + "EMAIL environment variable.\n\n")) + raise util.Abort(_("No commit username specified!")) return user def shortuser(self, user): diff --git a/tests/test-committer.out b/tests/test-committer.out --- a/tests/test-committer.out +++ b/tests/test-committer.out @@ -4,7 +4,11 @@ user: My Name "), in the +configuration files (hgrc), or by setting the EMAIL environment variable. + +abort: No commit username specified! transaction abort! rollback completed changeset: 1:2becd0bae6e6