git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH v5 4/8] detached-stash: refactor git stash pop implementation
@ 2010-08-18 13:48 Jon Seymour
  2010-08-18 13:48 ` [PATCH v5 5/8] detached-stash: simplify git stash branch Jon Seymour
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Jon Seymour @ 2010-08-18 13:48 UTC (permalink / raw)
  To: git; +Cc: gitster, j6t, Jon Seymour

git stash pop is abstracted into its own implementation function - pop_stash.

The behaviour is changed so that git stash pop fails early if the
the specified stash reference does not exist or does not refer to
an extant entry in the reflog of the reference stash.

This fixes the case where the apply succeeds, but the drop fails.
Previously this caused caused git stash pop to exit with a non-zero exit code
and a dirty tree.

Now, git stash pop fails with a non-zero exit code, but the working
tree is not modified.

Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
---
 git-stash.sh |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/git-stash.sh b/git-stash.sh
index 750f360..ac4c0f6 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -423,6 +423,13 @@ apply_stash () {
 	fi
 }
 
+pop_stash() {
+	assert_stash_ref "$@"
+
+	apply_stash "$@" &&
+	drop_stash "$@"
+}
+
 drop_stash () {
 	assert_stash_ref "$@"
 
@@ -498,10 +505,7 @@ drop)
 	;;
 pop)
 	shift
-	if apply_stash "$@"
-	then
-		drop_stash "$applied_stash"
-	fi
+	pop_stash "$@"
 	;;
 branch)
 	shift
-- 
1.7.2.1.95.g4fabf

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-08-19 19:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-18 13:48 [PATCH v5 4/8] detached-stash: refactor git stash pop implementation Jon Seymour
2010-08-18 13:48 ` [PATCH v5 5/8] detached-stash: simplify git stash branch Jon Seymour
2010-08-18 13:48 ` [PATCH v5 6/8] detached-stash: simplify git stash show Jon Seymour
2010-08-18 13:48 ` [PATCH v5 7/8] detached-stash: tests of git stash with stash-like arguments Jon Seymour
2010-08-18 23:04   ` Jon Seymour
2010-08-19 19:57     ` Johannes Sixt
2010-08-18 13:48 ` [PATCH v5 8/8] detached-stash: update Documentation Jon Seymour

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).