# HG changeset patch # User FUJIWARA Katsunori # Date 1403248538 -32400 # Node ID 37a5decc6924d91be190f6e22e3b81f45843072c # Parent aad28ff87788c14e7b86abf444c811f237aea9b6 shelve: accept '--edit' like other commands creating new changeset After this patch, users can invoke editor for the commit message by '--edit' option regardless of '--message'. diff -r aad28ff87788 -r 37a5decc6924 hgext/shelve.py --- a/hgext/shelve.py Fri Jun 20 16:15:38 2014 +0900 +++ b/hgext/shelve.py Fri Jun 20 16:15:38 2014 +0900 @@ -178,7 +178,8 @@ if hasmq: saved, repo.mq.checkapplied = repo.mq.checkapplied, False try: - return repo.commit(message, user, opts.get('date'), match) + return repo.commit(message, user, opts.get('date'), match, + editor=cmdutil.getcommiteditor(**opts)) finally: if hasmq: repo.mq.checkapplied = saved @@ -635,6 +636,8 @@ _('shelve with the specified commit date'), _('DATE')), ('d', 'delete', None, _('delete the named shelved change(s)')), + ('e', 'edit', False, + _('invoke editor on commit messages')), ('l', 'list', None, _('list current shelves')), ('m', 'message', '', @@ -680,6 +683,7 @@ ('cleanup', 'cleanup'), # ('date', 'create'), # ignored for passing '--date "0 0"' in tests ('delete', 'delete'), + ('edit', 'create'), ('list', 'list'), ('message', 'create'), ('name', 'create'), diff -r aad28ff87788 -r 37a5decc6924 tests/test-shelve.t --- a/tests/test-shelve.t Fri Jun 20 16:15:38 2014 +0900 +++ b/tests/test-shelve.t Fri Jun 20 16:15:38 2014 +0900 @@ -16,8 +16,10 @@ $ hg addremove -q shelving in an empty repo should be possible +(this tests also that editor is not invoked, if '--edit' is not +specified) - $ hg shelve + $ HGEDITOR=cat hg shelve shelved as default 0 files updated, 0 files merged, 5 files removed, 0 files unresolved @@ -132,6 +134,7 @@ [255] named shelves, specific filenames, and "commit messages" should all work +(this tests also that editor is invoked, if '--edit' is specified) $ hg status -C M a/a @@ -140,7 +143,16 @@ A c.copy c R b/b - $ hg shelve -q -n wibble -m wat a + $ HGEDITOR=cat hg shelve -q -n wibble -m wat -e a + wat + + + HG: Enter commit message. Lines beginning with 'HG:' are removed. + HG: Leave message empty to abort commit. + HG: -- + HG: user: shelve@localhost + HG: branch 'default' + HG: changed a/a expect "a" to no longer be present, but status otherwise unchanged