# HG changeset patch # User Martin Geisler # Date 1255990656 -7200 # Node ID c63c336ee2f708fb288123fbb568edc96d28290e # Parent d051db8e9e4402a4d198aa817e5873df02d16bea ui: only use "user@host" as username in noninteractive mode We regularly see people on IRC ask how they can correct commits they accidentally made without having configured a username. This change will make Mercurial abort when a commit is made without a username. If Mercurial is run without a TTY (from a cronjob or similar), a username is constructed as usual. Schematically the changes are as follows: With ui.askusername=False: old new interactive user@host abort noninteractive user@host user@host With ui.askusername=True: old new interactive prompt prompt noninteractive user@host user@host diff -r d051db8e9e44 -r c63c336ee2f7 mercurial/ui.py --- a/mercurial/ui.py Mon Oct 19 23:27:20 2009 +0300 +++ b/mercurial/ui.py Tue Oct 20 00:17:36 2009 +0200 @@ -179,7 +179,7 @@ user = os.environ.get("EMAIL") if user is None and self.configbool("ui", "askusername"): user = self.prompt(_("enter a commit username:"), default=None) - if user is None: + if user is None and not self.interactive(): try: user = '%s@%s' % (util.getuser(), socket.getfqdn()) self.warn(_("No username found, using '%s' instead\n") % user)