From: Onno Kortmann Date: Thu, 21 Feb 2008 21:42:51 GMT Subject: [PATCH 1/2] Simple rename of top-most patch 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 , instead of stg rename . This is for example helpful for those people who always have a typo or two in their patch names. Signed-off-by: Onno Kortmann --- 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] +usage = """%prog [options] [oldpatch] -Rename into in a series.""" +Rename into in a series. If 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()