All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] t/t3905: use the name 'actual' for test output, swap arguments to test_cmp
@ 2011-08-27  0:59 Brandon Casey
  2011-08-27  0:59 ` [PATCH 2/4] git-stash.sh: fix typo in error message Brandon Casey
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Brandon Casey @ 2011-08-27  0:59 UTC (permalink / raw)
  To: gitster; +Cc: git, hilco.wijbenga, david, Brandon Casey

It is common practice in the git test suite to use the file names 'actual'
and 'expect' to hold the actual and expected output of commands.  So change
the name 'output' to 'actual'.

Additionally, swap the order of arguments to test_cmp when comparing
expected output and actual output so that if diff output is produced, it
describes how the actual output differs from what was expected rather than
the other way around.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
---
 t/t3905-stash-include-untracked.sh |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/t/t3905-stash-include-untracked.sh b/t/t3905-stash-include-untracked.sh
index 4f2eedf..adc2524 100755
--- a/t/t3905-stash-include-untracked.sh
+++ b/t/t3905-stash-include-untracked.sh
@@ -23,13 +23,13 @@ test_expect_success 'stash save --include-untracked some dirty working directory
 '
 
 cat > expect <<EOF
+?? actual
 ?? expect
-?? output
 EOF
 
 test_expect_success 'stash save --include-untracked cleaned the untracked files' '
-	git status --porcelain > output
-	test_cmp output expect
+	git status --porcelain >actual
+	test_cmp expect actual
 '
 
 cat > expect.diff <<EOF
@@ -47,10 +47,10 @@ EOF
 
 test_expect_success 'stash save --include-untracked stashed the untracked files' '
 	test "!" -f file2 &&
-	git diff HEAD..stash^3 -- file2 > output &&
-	test_cmp output expect.diff &&
-	git ls-tree --name-only stash^3: > output &&
-	test_cmp output expect.lstree
+	git diff HEAD..stash^3 -- file2 >actual &&
+	test_cmp expect.diff actual &&
+	git ls-tree --name-only stash^3: >actual &&
+	test_cmp expect.lstree actual
 '
 test_expect_success 'stash save --patch --include-untracked fails' '
 	test_must_fail git stash --patch --include-untracked
@@ -64,15 +64,15 @@ git clean --force --quiet
 
 cat > expect <<EOF
  M file
+?? actual
 ?? expect
 ?? file2
-?? output
 EOF
 
 test_expect_success 'stash pop after save --include-untracked leaves files untracked again' '
 	git stash pop &&
-	git status --porcelain > output
-	test_cmp output expect
+	git status --porcelain >actual
+	test_cmp expect actual
 '
 
 git clean --force --quiet
@@ -96,8 +96,8 @@ EOF
 
 test_expect_success 'stash save --include-untracked dirty index got stashed' '
 	git stash pop --index &&
-	git diff --cached > output &&
-	test_cmp output expect
+	git diff --cached >actual &&
+	test_cmp expect actual
 '
 
 git reset > /dev/null
-- 
1.7.6

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

* [PATCH 2/4] git-stash.sh: fix typo in error message
  2011-08-27  0:59 [PATCH 1/4] t/t3905: use the name 'actual' for test output, swap arguments to test_cmp Brandon Casey
@ 2011-08-27  0:59 ` Brandon Casey
  2011-08-27  0:59 ` [PATCH 3/4] t/t3905: add missing '&&' linkage Brandon Casey
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Brandon Casey @ 2011-08-27  0:59 UTC (permalink / raw)
  To: gitster; +Cc: git, hilco.wijbenga, david, Brandon Casey


Signed-off-by: Brandon Casey <drafnel@gmail.com>
---
 git-stash.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/git-stash.sh b/git-stash.sh
index 31dec0a..9d65250 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -211,7 +211,7 @@ save_stash () {
 
 	if test -n "$patch_mode" && test -n "$untracked"
 	then
-	    die "Can't use --patch and ---include-untracked or --all at the same time"
+	    die "Can't use --patch and --include-untracked or --all at the same time"
 	fi
 
 	stash_msg="$*"
-- 
1.7.6

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

* [PATCH 3/4] t/t3905: add missing '&&' linkage
  2011-08-27  0:59 [PATCH 1/4] t/t3905: use the name 'actual' for test output, swap arguments to test_cmp Brandon Casey
  2011-08-27  0:59 ` [PATCH 2/4] git-stash.sh: fix typo in error message Brandon Casey
@ 2011-08-27  0:59 ` Brandon Casey
  2011-08-27  0:59 ` [PATCH 4/4] git-stash: remove untracked/ignored directories when stashed Brandon Casey
  2011-08-27 18:50 ` [PATCH 1/4] t/t3905: use the name 'actual' for test output, swap arguments to test_cmp Junio C Hamano
  3 siblings, 0 replies; 6+ messages in thread
From: Brandon Casey @ 2011-08-27  0:59 UTC (permalink / raw)
  To: gitster; +Cc: git, hilco.wijbenga, david, Brandon Casey


Signed-off-by: Brandon Casey <drafnel@gmail.com>
---
 t/t3905-stash-include-untracked.sh |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/t/t3905-stash-include-untracked.sh b/t/t3905-stash-include-untracked.sh
index adc2524..ca1a46c 100755
--- a/t/t3905-stash-include-untracked.sh
+++ b/t/t3905-stash-include-untracked.sh
@@ -28,7 +28,7 @@ cat > expect <<EOF
 EOF
 
 test_expect_success 'stash save --include-untracked cleaned the untracked files' '
-	git status --porcelain >actual
+	git status --porcelain >actual &&
 	test_cmp expect actual
 '
 
@@ -71,7 +71,7 @@ EOF
 
 test_expect_success 'stash pop after save --include-untracked leaves files untracked again' '
 	git stash pop &&
-	git status --porcelain >actual
+	git status --porcelain >actual &&
 	test_cmp expect actual
 '
 
@@ -136,7 +136,7 @@ test_expect_success 'stash save --include-untracked respects .gitignore' '
 
 test_expect_success 'stash save -u can stash with only untracked files different' '
 	echo 4 > file4 &&
-	git stash -u
+	git stash -u &&
 	test "!" -f file4
 '
 
-- 
1.7.6

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

* [PATCH 4/4] git-stash: remove untracked/ignored directories when stashed
  2011-08-27  0:59 [PATCH 1/4] t/t3905: use the name 'actual' for test output, swap arguments to test_cmp Brandon Casey
  2011-08-27  0:59 ` [PATCH 2/4] git-stash.sh: fix typo in error message Brandon Casey
  2011-08-27  0:59 ` [PATCH 3/4] t/t3905: add missing '&&' linkage Brandon Casey
@ 2011-08-27  0:59 ` Brandon Casey
  2011-08-27  1:04   ` Hilco Wijbenga
  2011-08-27 18:50 ` [PATCH 1/4] t/t3905: use the name 'actual' for test output, swap arguments to test_cmp Junio C Hamano
  3 siblings, 1 reply; 6+ messages in thread
From: Brandon Casey @ 2011-08-27  0:59 UTC (permalink / raw)
  To: gitster; +Cc: git, hilco.wijbenga, david, Brandon Casey

The two new stash options --include-untracked and --all do not remove the
untracked and/or ignored files that are stashed if those files reside in
a subdirectory. e.g. the following sequence fails:

   mkdir untracked &&
   echo hello >untracked/file.txt &&
   git stash --include-untracked &&
   test ! -f untracked/file.txt

Within the git-stash script, git-clean is used to remove the
untracked/ignored files, but since the -d option was not supplied, it does
not remove directories.

So, add -d to the git-clean arguments, and update the tests to test this
functionality.

Reported-by: Hilco Wijbenga <hilco.wijbenga@gmail.com>
Signed-off-by: Brandon Casey <drafnel@gmail.com>
---
 git-stash.sh                       |    2 +-
 t/t3905-stash-include-untracked.sh |   26 +++++++++++++++++++++++---
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/git-stash.sh b/git-stash.sh
index 9d65250..c766692 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -240,7 +240,7 @@ save_stash () {
 		test "$untracked" = "all" && CLEAN_X_OPTION=-x || CLEAN_X_OPTION=
 		if test -n "$untracked"
 		then
-			git clean --force --quiet $CLEAN_X_OPTION
+			git clean --force --quiet -d $CLEAN_X_OPTION
 		fi
 
 		if test "$keep_index" = "t" && test -n $i_tree
diff --git a/t/t3905-stash-include-untracked.sh b/t/t3905-stash-include-untracked.sh
index ca1a46c..ef44fb2 100755
--- a/t/t3905-stash-include-untracked.sh
+++ b/t/t3905-stash-include-untracked.sh
@@ -17,6 +17,8 @@ test_expect_success 'stash save --include-untracked some dirty working directory
 	echo 3 > file &&
 	test_tick &&
 	echo 1 > file2 &&
+	mkdir untracked &&
+	echo untracked >untracked/untracked &&
 	git stash --include-untracked &&
 	git diff-files --quiet &&
 	git diff-index --cached --quiet HEAD
@@ -40,14 +42,23 @@ index 0000000..d00491f
 +++ b/file2
 @@ -0,0 +1 @@
 +1
+diff --git a/untracked/untracked b/untracked/untracked
+new file mode 100644
+index 0000000..5a72eb2
+--- /dev/null
++++ b/untracked/untracked
+@@ -0,0 +1 @@
++untracked
 EOF
 cat > expect.lstree <<EOF
 file2
+untracked
 EOF
 
 test_expect_success 'stash save --include-untracked stashed the untracked files' '
 	test "!" -f file2 &&
-	git diff HEAD..stash^3 -- file2 >actual &&
+	test ! -e untracked &&
+	git diff HEAD stash^3 -- file2 untracked >actual &&
 	test_cmp expect.diff actual &&
 	git ls-tree --name-only stash^3: >actual &&
 	test_cmp expect.lstree actual
@@ -67,15 +78,18 @@ cat > expect <<EOF
 ?? actual
 ?? expect
 ?? file2
+?? untracked/
 EOF
 
 test_expect_success 'stash pop after save --include-untracked leaves files untracked again' '
 	git stash pop &&
 	git status --porcelain >actual &&
-	test_cmp expect actual
+	test_cmp expect actual &&
+	test "1" = "`cat file2`" &&
+	test untracked = "`cat untracked/untracked`"
 '
 
-git clean --force --quiet
+git clean --force --quiet -d
 
 test_expect_success 'stash save -u dirty index' '
 	echo 4 > file3 &&
@@ -125,12 +139,16 @@ test_expect_success 'stash save --include-untracked removed files got stashed' '
 cat > .gitignore <<EOF
 .gitignore
 ignored
+ignored.d/
 EOF
 
 test_expect_success 'stash save --include-untracked respects .gitignore' '
 	echo ignored > ignored &&
+	mkdir ignored.d &&
+	echo ignored >ignored.d/untracked &&
 	git stash -u &&
 	test -s ignored &&
+	test -s ignored.d/untracked &&
 	test -s .gitignore
 '
 
@@ -143,12 +161,14 @@ test_expect_success 'stash save -u can stash with only untracked files different
 test_expect_success 'stash save --all does not respect .gitignore' '
 	git stash -a &&
 	test "!" -f ignored &&
+	test "!" -e ignored.d &&
 	test "!" -f .gitignore
 '
 
 test_expect_success 'stash save --all is stash poppable' '
 	git stash pop &&
 	test -s ignored &&
+	test -s ignored.d/untracked &&
 	test -s .gitignore
 '
 
-- 
1.7.6

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

* Re: [PATCH 4/4] git-stash: remove untracked/ignored directories when stashed
  2011-08-27  0:59 ` [PATCH 4/4] git-stash: remove untracked/ignored directories when stashed Brandon Casey
@ 2011-08-27  1:04   ` Hilco Wijbenga
  0 siblings, 0 replies; 6+ messages in thread
From: Hilco Wijbenga @ 2011-08-27  1:04 UTC (permalink / raw)
  To: Brandon Casey; +Cc: gitster, git, david

On 26 August 2011 17:59, Brandon Casey <drafnel@gmail.com> wrote:
> The two new stash options --include-untracked and --all do not remove the
> untracked and/or ignored files that are stashed if those files reside in
> a subdirectory. e.g. the following sequence fails:
>
>   mkdir untracked &&
>   echo hello >untracked/file.txt &&
>   git stash --include-untracked &&
>   test ! -f untracked/file.txt
>
> Within the git-stash script, git-clean is used to remove the
> untracked/ignored files, but since the -d option was not supplied, it does
> not remove directories.
>
> So, add -d to the git-clean arguments, and update the tests to test this
> functionality.
>
> Reported-by: Hilco Wijbenga <hilco.wijbenga@gmail.com>
> Signed-off-by: Brandon Casey <drafnel@gmail.com>
> ---
>  git-stash.sh                       |    2 +-
>  t/t3905-stash-include-untracked.sh |   26 +++++++++++++++++++++++---
>  2 files changed, 24 insertions(+), 4 deletions(-)
>
> diff --git a/git-stash.sh b/git-stash.sh
> index 9d65250..c766692 100755
> --- a/git-stash.sh
> +++ b/git-stash.sh
> @@ -240,7 +240,7 @@ save_stash () {
>                test "$untracked" = "all" && CLEAN_X_OPTION=-x || CLEAN_X_OPTION=
>                if test -n "$untracked"
>                then
> -                       git clean --force --quiet $CLEAN_X_OPTION
> +                       git clean --force --quiet -d $CLEAN_X_OPTION
>                fi
>
>                if test "$keep_index" = "t" && test -n $i_tree
> diff --git a/t/t3905-stash-include-untracked.sh b/t/t3905-stash-include-untracked.sh
> index ca1a46c..ef44fb2 100755
> --- a/t/t3905-stash-include-untracked.sh
> +++ b/t/t3905-stash-include-untracked.sh
> @@ -17,6 +17,8 @@ test_expect_success 'stash save --include-untracked some dirty working directory
>        echo 3 > file &&
>        test_tick &&
>        echo 1 > file2 &&
> +       mkdir untracked &&
> +       echo untracked >untracked/untracked &&
>        git stash --include-untracked &&
>        git diff-files --quiet &&
>        git diff-index --cached --quiet HEAD
> @@ -40,14 +42,23 @@ index 0000000..d00491f
>  +++ b/file2
>  @@ -0,0 +1 @@
>  +1
> +diff --git a/untracked/untracked b/untracked/untracked
> +new file mode 100644
> +index 0000000..5a72eb2
> +--- /dev/null
> ++++ b/untracked/untracked
> +@@ -0,0 +1 @@
> ++untracked
>  EOF
>  cat > expect.lstree <<EOF
>  file2
> +untracked
>  EOF
>
>  test_expect_success 'stash save --include-untracked stashed the untracked files' '
>        test "!" -f file2 &&
> -       git diff HEAD..stash^3 -- file2 >actual &&
> +       test ! -e untracked &&
> +       git diff HEAD stash^3 -- file2 untracked >actual &&
>        test_cmp expect.diff actual &&
>        git ls-tree --name-only stash^3: >actual &&
>        test_cmp expect.lstree actual
> @@ -67,15 +78,18 @@ cat > expect <<EOF
>  ?? actual
>  ?? expect
>  ?? file2
> +?? untracked/
>  EOF
>
>  test_expect_success 'stash pop after save --include-untracked leaves files untracked again' '
>        git stash pop &&
>        git status --porcelain >actual &&
> -       test_cmp expect actual
> +       test_cmp expect actual &&
> +       test "1" = "`cat file2`" &&
> +       test untracked = "`cat untracked/untracked`"
>  '
>
> -git clean --force --quiet
> +git clean --force --quiet -d
>
>  test_expect_success 'stash save -u dirty index' '
>        echo 4 > file3 &&
> @@ -125,12 +139,16 @@ test_expect_success 'stash save --include-untracked removed files got stashed' '
>  cat > .gitignore <<EOF
>  .gitignore
>  ignored
> +ignored.d/
>  EOF
>
>  test_expect_success 'stash save --include-untracked respects .gitignore' '
>        echo ignored > ignored &&
> +       mkdir ignored.d &&
> +       echo ignored >ignored.d/untracked &&
>        git stash -u &&
>        test -s ignored &&
> +       test -s ignored.d/untracked &&
>        test -s .gitignore
>  '
>
> @@ -143,12 +161,14 @@ test_expect_success 'stash save -u can stash with only untracked files different
>  test_expect_success 'stash save --all does not respect .gitignore' '
>        git stash -a &&
>        test "!" -f ignored &&
> +       test "!" -e ignored.d &&
>        test "!" -f .gitignore
>  '
>
>  test_expect_success 'stash save --all is stash poppable' '
>        git stash pop &&
>        test -s ignored &&
> +       test -s ignored.d/untracked &&
>        test -s .gitignore
>  '
>
> --
> 1.7.6

Thanks Brandon! Especially for making me famous. ;-)

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

* Re: [PATCH 1/4] t/t3905: use the name 'actual' for test output, swap arguments to test_cmp
  2011-08-27  0:59 [PATCH 1/4] t/t3905: use the name 'actual' for test output, swap arguments to test_cmp Brandon Casey
                   ` (2 preceding siblings ...)
  2011-08-27  0:59 ` [PATCH 4/4] git-stash: remove untracked/ignored directories when stashed Brandon Casey
@ 2011-08-27 18:50 ` Junio C Hamano
  3 siblings, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2011-08-27 18:50 UTC (permalink / raw)
  To: Brandon Casey; +Cc: git, hilco.wijbenga, david

Thanks; will queue all four patches.

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

end of thread, other threads:[~2011-08-27 18:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-27  0:59 [PATCH 1/4] t/t3905: use the name 'actual' for test output, swap arguments to test_cmp Brandon Casey
2011-08-27  0:59 ` [PATCH 2/4] git-stash.sh: fix typo in error message Brandon Casey
2011-08-27  0:59 ` [PATCH 3/4] t/t3905: add missing '&&' linkage Brandon Casey
2011-08-27  0:59 ` [PATCH 4/4] git-stash: remove untracked/ignored directories when stashed Brandon Casey
2011-08-27  1:04   ` Hilco Wijbenga
2011-08-27 18:50 ` [PATCH 1/4] t/t3905: use the name 'actual' for test output, swap arguments to test_cmp Junio C Hamano

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.