All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] stash: add two more tests for --no-keep-index
@ 2011-04-07 17:04 Dan McGee
  2011-04-07 17:04 ` [PATCH 2/2] stash: ensure --no-keep-index and --patch can be used in any order Dan McGee
  0 siblings, 1 reply; 2+ messages in thread
From: Dan McGee @ 2011-04-07 17:04 UTC (permalink / raw)
  To: git; +Cc: Thomas Rast, Dan McGee

One of these passes just fine; the other one exposes a problem where
command line flag order matters for --no-keep-index and --patch
interaction.

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
---
 t/t3903-stash.sh       |    8 ++++++++
 t/t3904-stash-patch.sh |   12 ++++++++++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index f62aaf5..bca2df1 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh
@@ -218,6 +218,14 @@ test_expect_success 'stash -k' '
 	test bar,bar4 = $(cat file),$(cat file2)
 '
 
+test_expect_success 'stash --no-keep-index' '
+	echo bar33 > file &&
+	echo bar44 > file2 &&
+	git add file2 &&
+	git stash --no-keep-index &&
+	test bar,bar2 = $(cat file),$(cat file2)
+'
+
 test_expect_success 'stash --invalid-option' '
 	echo bar5 > file &&
 	echo bar6 > file2 &&
diff --git a/t/t3904-stash-patch.sh b/t/t3904-stash-patch.sh
index 1e7193a..4d58789 100755
--- a/t/t3904-stash-patch.sh
+++ b/t/t3904-stash-patch.sh
@@ -48,6 +48,18 @@ test_expect_success PERL 'git stash -p --no-keep-index' '
 	verify_state bar dummy bar_index
 '
 
+test_expect_failure PERL 'git stash --no-keep-index -p' '
+	set_state dir/foo work index &&
+	set_state bar bar_work bar_index &&
+	(echo n; echo y) | git stash save --no-keep-index -p &&
+	verify_state dir/foo head head &&
+	verify_state bar bar_work dummy &&
+	git reset --hard &&
+	git stash apply --index &&
+	verify_state dir/foo work index &&
+	verify_state bar dummy bar_index
+'
+
 test_expect_success PERL 'none of this moved HEAD' '
 	verify_saved_head
 '
-- 
1.7.4.4

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

* [PATCH 2/2] stash: ensure --no-keep-index and --patch can be used in any order
  2011-04-07 17:04 [PATCH 1/2] stash: add two more tests for --no-keep-index Dan McGee
@ 2011-04-07 17:04 ` Dan McGee
  0 siblings, 0 replies; 2+ messages in thread
From: Dan McGee @ 2011-04-07 17:04 UTC (permalink / raw)
  To: git; +Cc: Thomas Rast, Dan McGee

Don't assume one comes after the other on the command line. Use a
three-state variable to track and check its value accordingly.

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
---
 git-stash.sh           |    9 +++++----
 t/t3904-stash-patch.sh |    2 +-
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/git-stash.sh b/git-stash.sh
index a305fb1..fd66884 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -136,11 +136,12 @@ save_stash () {
 			keep_index=t
 			;;
 		--no-keep-index)
-			keep_index=
+			keep_index=n
 			;;
 		-p|--patch)
 			patch_mode=t
-			keep_index=t
+			# only default to keep if we don't already have an override
+			test -z "$keep_index" && keep_index=t
 			;;
 		-q|--quiet)
 			GIT_QUIET=t
@@ -185,7 +186,7 @@ save_stash () {
 	then
 		git reset --hard ${GIT_QUIET:+-q}
 
-		if test -n "$keep_index" && test -n $i_tree
+		if test "$keep_index" = "t" && test -n $i_tree
 		then
 			git read-tree --reset -u $i_tree
 		fi
@@ -193,7 +194,7 @@ save_stash () {
 		git apply -R < "$TMP-patch" ||
 		die "Cannot remove worktree changes"
 
-		if test -z "$keep_index"
+		if test "$keep_index" != "t"
 		then
 			git reset
 		fi
diff --git a/t/t3904-stash-patch.sh b/t/t3904-stash-patch.sh
index 4d58789..781fd71 100755
--- a/t/t3904-stash-patch.sh
+++ b/t/t3904-stash-patch.sh
@@ -48,7 +48,7 @@ test_expect_success PERL 'git stash -p --no-keep-index' '
 	verify_state bar dummy bar_index
 '
 
-test_expect_failure PERL 'git stash --no-keep-index -p' '
+test_expect_success PERL 'git stash --no-keep-index -p' '
 	set_state dir/foo work index &&
 	set_state bar bar_work bar_index &&
 	(echo n; echo y) | git stash save --no-keep-index -p &&
-- 
1.7.4.4

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

end of thread, other threads:[~2011-04-07 17:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-07 17:04 [PATCH 1/2] stash: add two more tests for --no-keep-index Dan McGee
2011-04-07 17:04 ` [PATCH 2/2] stash: ensure --no-keep-index and --patch can be used in any order Dan McGee

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.