[PATCH 1/2] Simple rename of top-most patch
- From
Onno Kortmann <onno@gmx.net>
- Date
- Feb 21, 2008, 21:42 UTC
- Message-ID
- <200802212242.51866.onno@gmx.net>
- In-Reply-To
- <20080218140005.GA18668@diana.vm.bytemark.co.uk>
Allow renaming of the top-most patch just by calling stg rename <new-patch-name>, instead of stg rename <old> <new>. This is for example helpful for those people who always have a typo or two in their patch names.
Signed-off-by: Onno Kortmann <onno@gmx.net> ---
stgit/commands/rename.py | 23 ++++++++++++++++------- 1 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/stgit/commands/rename.py b/stgit/commands/rename.py index e2b0fa4..c687455 100644 --- a/stgit/commands/rename.py +++ b/stgit/commands/rename.py @@ -25,9 +25,10 @@ from stgit import stack, git help = 'rename a patch in the series' -usage = """%prog [options] <oldpatch> <newpatch> +usage = """%prog [options] [oldpatch] <newpatch> -Rename <oldpatch> into <newpatch> in a series.""" +Rename <oldpatch> into <newpatch> in a series. If <oldpatch> is not given, the +top-most patch will be renamed. """ directory = DirectoryHasRepository() options = [make_option('-b', '--branch', @@ -37,9 +38,17 @@ options = [make_option('-b', '--branch', def func(parser, options, args): """Rename a patch in the series """ - if len(args) != 2: - parser.error('incorrect number of arguments') - - out.start('Renaming patch "%s" to "%s"' % (args[0], args[1])) - crt_series.rename_patch(args[0], args[1]) + crt=crt_series.get_current() + + if len(args) == 2: + old, new=args + elif len(args) == 1: + if not crt: + raise CmdException, "No applied top patch to rename exists." + old, [new]=crt, args + else: parser.error('incorrect number of arguments') + + out.start('Renaming patch "%s" to "%s"' % (old, new)) + crt_series.rename_patch(old, new) + out.done()