diff --git a/hgext/mq.py b/hgext/mq.py --- a/hgext/mq.py +++ b/hgext/mq.py @@ -1999,7 +1999,7 @@ def new(ui, repo, patch, *args, **opts): """ msg = cmdutil.logmessage(opts) def getmsg(): - return ui.edit(msg, ui.username()) + return ui.edit(msg, opts['user'] or ui.username()) q = repo.mq opts['msg'] = msg if opts.get('edit'): diff --git a/tests/test-mq-qnew b/tests/test-mq-qnew --- a/tests/test-mq-qnew +++ b/tests/test-mq-qnew @@ -70,6 +70,10 @@ runtest() { HGUSER= hg qnew -u blue red catpatch ../.hg/patches/red + echo '% qnew -e -u with no username configured' + HGUSER= hg qnew -e -u chartreuse fucsia + catpatch ../.hg/patches/fucsia + echo '% fail when trying to import a merge' hg init merge cd merge diff --git a/tests/test-mq-qnew.out b/tests/test-mq-qnew.out --- a/tests/test-mq-qnew.out +++ b/tests/test-mq-qnew.out @@ -42,6 +42,9 @@ diff --git a/d/b b/d/b % qnew -u with no username configured From: blue +% qnew -e -u with no username configured +From: chartreuse + % fail when trying to import a merge adding a 1 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -101,6 +104,10 @@ diff --git a/d/b b/d/b # HG changeset patch # Parent # User blue +% qnew -e -u with no username configured +# HG changeset patch +# Parent +# User chartreuse % fail when trying to import a merge adding a 1 files updated, 0 files merged, 0 files removed, 0 files unresolved