From mboxrd@z Thu Jan 1 00:00:00 1970 From: Per Cederqvist Subject: [GUILT v4 26/33] "guilt pop" now fails when there are no more patches to pop. Date: Mon, 19 May 2014 00:00:02 +0200 Message-ID: <1400450409-30998-27-git-send-email-cederp@opera.com> References: <1400450409-30998-1-git-send-email-cederp@opera.com> Cc: git@vger.kernel.org, Per Cederqvist To: Jeff Sipek X-From: git-owner@vger.kernel.org Mon May 19 00:12:07 2014 Return-path: Envelope-to: gcvg-git-2@plane.gmane.org Received: from vger.kernel.org ([209.132.180.67]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Wm9JN-0007ve-Oz for gcvg-git-2@plane.gmane.org; Mon, 19 May 2014 00:12:06 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752378AbaERWMA (ORCPT ); Sun, 18 May 2014 18:12:00 -0400 Received: from mail-la0-f44.google.com ([209.85.215.44]:47254 "EHLO mail-la0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752262AbaERWL7 (ORCPT ); Sun, 18 May 2014 18:11:59 -0400 Received: by mail-la0-f44.google.com with SMTP id hr17so3489423lab.17 for ; Sun, 18 May 2014 15:11:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=gUdEyRQJ8ZVQZnZaHlU5kTVtpwAgfPqsGDF/c5uyOpw=; b=ko6Murvz2wYvP+sFrQHMc2fVPfpWy0AnnPDIBCd5vi6E4mxJ/NcstqLBo15mjC7F/3 ao9Ysc0D1s74q29jigwqvHWAfzE8RPVt5DmI60x3UHRquPFDjlwlAI59plyaS5ejqqEX cgpaZtN09QxPZafBFs7nIqxZNHmnkhnkAN1Uxe5vbExisE2sEWYliRPhI+f1sdOvu+xw RQXx5DYKroYQDIk27c1PtOvoRvKa/uBaMPXKHu0AUGcVH3Ghk1uYNXh/PUcaWFsiO5pO D6APW/dJJN1CvDEzg/jl/BI+V3iazXezFsLUel2t1qPgKuGllFv4xMLqb/qIoOgb0N2B qD2g== X-Gm-Message-State: ALoCoQmCYXolYd/dSW9vlG7Tr8SL4HCnw0YHZCL4JT89i4IR4fOq35LOjxwvB4tI7+XdcsSKx52R X-Received: by 10.152.43.135 with SMTP id w7mr23259744lal.32.1400451118567; Sun, 18 May 2014 15:11:58 -0700 (PDT) Received: from dualla.linkoping.osa (ip-200.t2.se.opera.com. [212.247.211.200]) by mx.google.com with ESMTPSA id d8sm17593818lah.12.2014.05.18.15.11.57 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 18 May 2014 15:11:57 -0700 (PDT) X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1400450409-30998-1-git-send-email-cederp@opera.com> Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: This is analogous to how "guilt push" now fails when there are no more patches to push. Like push, the "--all" argument still succeeds even if there was no need to pop anything. Updated the test suite. Signed-off-by: Per Cederqvist Signed-off-by: Josef 'Jeff' Sipek --- guilt-pop | 17 +++++++++++------ regression/t-021.out | 2 ++ regression/t-021.sh | 6 ++++++ regression/t-061.sh | 6 +++++- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/guilt-pop b/guilt-pop index f0e647f..191313e 100755 --- a/guilt-pop +++ b/guilt-pop @@ -49,9 +49,19 @@ fi patch="$1" [ ! -z "$all" ] && patch="-a" +# Treat "guilt pop" as "guilt pop -n 1". +if [ -z "$patch" ]; then + patch=1 + num=t +fi + if [ ! -s "$applied" ]; then disp "No patches applied." - exit 0 + if [ "$patch" = "-a" ]; then + exit 0 + else + exit 1 + fi elif [ "$patch" = "-a" ]; then # we are supposed to pop all patches @@ -68,11 +78,6 @@ elif [ ! -z "$num" ]; then # catch underflow [ $eidx -lt 0 ] && eidx=0 [ $eidx -eq $sidx ] && die "No patches requested to be removed." -elif [ -z "$patch" ]; then - # we are supposed to pop only the current patch on the stack - - sidx=`wc -l < "$applied"` - eidx=`expr $sidx - 1` else # we're supposed to pop only up to a patch, make sure the patch is # in the series diff --git a/regression/t-021.out b/regression/t-021.out index 9b42d9c..58be12f 100644 --- a/regression/t-021.out +++ b/regression/t-021.out @@ -287,6 +287,8 @@ index 0000000..8baef1b +++ b/def @@ -0,0 +1 @@ +abc +% guilt pop +No patches applied. % guilt push --all Applying patch..modify Patch applied. diff --git a/regression/t-021.sh b/regression/t-021.sh index 614e870..e0d2dc1 100755 --- a/regression/t-021.sh +++ b/regression/t-021.sh @@ -23,6 +23,12 @@ guilt series | _tac | while read n ; do done # +# pop when there is nothing to pop +# + +shouldfail guilt pop + +# # push all # cmd guilt push --all diff --git a/regression/t-061.sh b/regression/t-061.sh index 1411baa..6192f1b 100755 --- a/regression/t-061.sh +++ b/regression/t-061.sh @@ -48,7 +48,11 @@ cmd list_files for i in `seq 5` do - cmd guilt pop + if [ $i -ge 5 ]; then + shouldfail guilt pop + else + cmd guilt pop + fi cmd git for-each-ref cmd guilt push cmd git for-each-ref -- 1.8.3.1