--- a/hgext/shelve.py Wed Mar 25 15:51:57 2015 -0700
+++ b/hgext/shelve.py Wed Mar 25 15:52:28 2015 -0700
@@ -226,6 +226,7 @@
raise util.Abort(_('shelved change names may not contain slashes'))
if name.startswith('.'):
raise util.Abort(_("shelved change names may not start with '.'"))
+ interactive = opts.get('interactive', False)
node = cmdutil.commit(ui, repo, commitfunc, pats, opts)
@@ -649,6 +650,8 @@
_('use the given name for the shelved commit'), _('NAME')),
('p', 'patch', None,
_('show patch')),
+ ('i', 'interactive', None,
+ _('interactive mode, only works while creating a shelve')),
('', 'stat', None,
_('output diffstat-style summary of changes'))] + commands.walkopts,
_('hg shelve [OPTION]... [FILE]...'))
--- a/tests/test-shelve.t Wed Mar 25 15:51:57 2015 -0700
+++ b/tests/test-shelve.t Wed Mar 25 15:52:28 2015 -0700
@@ -17,6 +17,57 @@
$ echo x > x
$ hg addremove -q
+shelve has a help message
+ $ hg shelve -h
+ hg shelve [OPTION]... [FILE]...
+
+ save and set aside changes from the working directory
+
+ Shelving takes files that "hg status" reports as not clean, saves the
+ modifications to a bundle (a shelved change), and reverts the files so
+ that their state in the working directory becomes clean.
+
+ To restore these changes to the working directory, using "hg unshelve";
+ this will work even if you switch to a different commit.
+
+ When no files are specified, "hg shelve" saves all not-clean files. If
+ specific files or directories are named, only changes to those files are
+ shelved.
+
+ Each shelved change has a name that makes it easier to find later. The
+ name of a shelved change defaults to being based on the active bookmark,
+ or if there is no active bookmark, the current named branch. To specify a
+ different name, use "--name".
+
+ To see a list of existing shelved changes, use the "--list" option. For
+ each shelved change, this will print its name, age, and description; use "
+ --patch" or "--stat" for more details.
+
+ To delete specific shelved changes, use "--delete". To delete all shelved
+ changes, use "--cleanup".
+
+ (use "hg help -e shelve" to show help for the shelve extension)
+
+ options ([+] can be repeated):
+
+ -A --addremove mark new/missing files as added/removed before
+ shelving
+ --cleanup delete all shelved changes
+ --date DATE shelve with the specified commit date
+ -d --delete delete the named shelved change(s)
+ -e --edit invoke editor on commit messages
+ -l --list list current shelves
+ -m --message TEXT use text as shelve message
+ -n --name NAME use the given name for the shelved commit
+ -p --patch show patch
+ -i --interactive interactive mode, only works while creating a shelve
+ --stat output diffstat-style summary of changes
+ -I --include PATTERN [+] include names matching the given patterns
+ -X --exclude PATTERN [+] exclude names matching the given patterns
+ --mq operate on patch repository
+
+ (some details hidden, use --verbose to show complete help)
+
shelving in an empty repo should be possible
(this tests also that editor is not invoked, if '--edit' is not
specified)