From 9b63cf56576bf219d26f490f3c011e937a5f7129 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ilpo=20J=E4rvinen?= Date: Thu, 2 Nov 2006 21:18:32 +0000 Subject: [PATCH] Fixes "stg goto `stg top`" to no-op & adds test MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Please forgive me that didn't read the test metadata through while producing the last patch. This time also it should be correct... StGIT tried to access index that is not valid when goto'ing to the current patch. Adds also a test for it. Signed-off-by: Ilpo Järvinen --- stgit/commands/common.py | 17 ++++++++++------- t/t1700-goto-top.sh | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 7 deletions(-) create mode 100755 t/t1700-goto-top.sh diff --git a/stgit/commands/common.py b/stgit/commands/common.py index 1ea6025..88b1b94 100644 --- a/stgit/commands/common.py +++ b/stgit/commands/common.py @@ -200,16 +200,19 @@ def pop_patches(patches, keep = False): """Pop the patches in the list from the stack. It is assumed that the patches are listed in the stack reverse order. """ - p = patches[-1] - if len(patches) == 1: - print 'Popping patch "%s"...' % p, + if len(patches) == 0: + print 'nothing to push/pop' else: - print 'Popping "%s" - "%s" patches...' % (patches[0], p), - sys.stdout.flush() + p = patches[-1] + if len(patches) == 1: + print 'Popping patch "%s"...' % p, + else: + print 'Popping "%s" - "%s" patches...' % (patches[0], p), + sys.stdout.flush() - crt_series.pop_patch(p, keep) + crt_series.pop_patch(p, keep) - print 'done' + print 'done' def parse_patches(patch_args, patch_list): """Parse patch_args list for patch names in patch_list and return diff --git a/t/t1700-goto-top.sh b/t/t1700-goto-top.sh new file mode 100755 index 0000000..618ebc7 --- /dev/null +++ b/t/t1700-goto-top.sh @@ -0,0 +1,32 @@ +#!/bin/sh +# +# Copyright (c) 2006 Ilpo Järvinen +# + +test_description='Test goto to the current patch. + +' + +. ./test-lib.sh + +test_expect_success \ + 'Initialize the StGIT repository' \ + 'stg init +' + +test_expect_success \ + 'Create the first patch' \ + ' + stg new foo -m "Foo Patch" && + echo foo > test && + stg add test && + stg refresh + ' + +test_expect_success \ + 'Goto current patch' \ + ' + stg goto `stg top` + ' + +test_done -- 2.11.0