diff --git a/hgext/record.py b/hgext/record.py --- a/hgext/record.py +++ b/hgext/record.py @@ -502,7 +502,8 @@ def dorecord(ui, repo, commitfunc, cmdsu cmdsuggest) # make sure username is set before going interactive - ui.username() + if not opts.get('user'): + ui.username() # raise exception, username not provided def recordfunc(ui, repo, message, match, opts): """This is generic record driver. diff --git a/tests/test-record.t b/tests/test-record.t --- a/tests/test-record.t +++ b/tests/test-record.t @@ -1277,5 +1277,25 @@ Ignore win32text deprecation warning for c +d +Test --user when ui.username not set + $ unset HGUSER + $ echo e >> subdir/f1 + $ hg record --config ui.username= -d '8 0' --user xyz -m "user flag" < y + > y + > EOF + diff --git a/subdir/f1 b/subdir/f1 + 1 hunks, 1 lines changed + examine changes to 'subdir/f1'? [Ynesfdaq?] + @@ -4,3 +4,4 @@ + b + c + d + +e + record this change to 'subdir/f1'? [Ynesfdaq?] + $ hg log --template '{author}\n' -l 1 + xyz + $ HGUSER="test" + $ export HGUSER $ cd ..