[PATCH 3 of 6] shelve: accept '--edit' like other commands creating new changeset

Pierre-Yves David pierre-yves.david at ens-lyon.org
Wed Jun 4 19:47:54 CDT 2014



On 05/31/2014 08:26 AM, FUJIWARA Katsunori wrote:
> # HG changeset patch
> # User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
> # Date 1401548912 -32400
> #      Sun Jun 01 00:08:32 2014 +0900
> # Node ID ada6d06aa6bdf3edf5d0fca7acf7e1e5554e8f53
> # Parent  83218ec9a3d9c1c9eb86b098272a10ecf52bc8bb
> shelve: accept '--edit' like other commands creating new changeset

Patch looks good to me, but depends on patch 2 that need a resend. 
Please includes this on in the resent.

>
> After this patch, users can invoke editor for the commit message by
> '--edit' option regardless of '--message'.
>
> diff --git a/hgext/shelve.py b/hgext/shelve.py
> --- a/hgext/shelve.py
> +++ b/hgext/shelve.py
> @@ -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 '--date "0 0"' in default of tests
>           'delete': 'delete',
> +        'edit': 'create',
>           'list': 'list',
>           'message': 'create',
>           'name': 'create',
> diff --git a/tests/test-shelve.t b/tests/test-shelve.t
> --- a/tests/test-shelve.t
> +++ b/tests/test-shelve.t
> @@ -16,8 +16,10 @@
>     $ hg addremove -q
>
>   shelving in an empty repo should be possible
> -
> -  $ hg shelve
> +(this tests also that editor is not invoked, if '--edit' is not
> +specified)
> +
> +  $ 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 at localhost
> +  HG: branch 'default'
> +  HG: changed a/a
>
>   expect "a" to no longer be present, but status otherwise unchanged
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
>

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list