Thread (6 messages) flat view 6 messages, 3 authors, 2016-06-15

Re: [PATCH v2 2/2] clean: new option --exclude-from

From: Eric Sunshine <hidden>
Date: 2016-06-15 23:07:24

Possibly related (same subject, not in this thread)

In addition to Peff's and Junio's review comments...

On Sun, Dec 6, 2015 at 9:58 AM, James [off-list ref] wrote:
From: James Rouzier <redacted>

Specify a file to read for exclude patterns.
Missing Signed-off-by:.
quoted hunk ↗ jump to hunk
---
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
@@ -628,6 +628,66 @@ test_expect_success 'git clean -e' '
+test_expect_success 'git clean --exclude-from' '
+       rm -fr repo &&
+       mkdir repo &&
+       cd repo &&
See my review comments for patch 1/2 as to why you want to wrap 'cd'
and remaining statements in a subshell.
+       git init &&
+       touch known 1 2 3 &&
Likewise, use '>' rather than 'touch' to create empty files when the
timestamp isn't significant.

   >1 &&
   >2 &&
   >3 &&
+       git add known &&
+       cat >.git/clean-exclude <<-\EOF &&
+       1
+       2
+       EOF
+       git clean -f --exclude-from=.git/clean-exclude &&
+       test_path_is_file 1 &&
+       test_path_is_file 2 &&
+       test_path_is_missing 3 &&
+       test_path_is_file known
+'
+
+test_expect_success 'git clean -e --exclude-from' '
+       rm -fr repo &&
+       mkdir repo &&
+       cd repo &&
+       git init &&
+       touch known 1 2 3 &&
+       git add known &&
+       echo 1 >> .git/clean-exclude &&
+       git clean -f -e 2 --exclude-from=.git/clean-exclude &&
+       test_path_is_file 1 &&
+       test_path_is_file 2 &&
+       test_path_is_missing 3 &&
+       test_path_is_file known
+'
+
+test_expect_success 'git clean --exclude-from --exclude-from' '
+       rm -fr repo &&
+       mkdir repo &&
+       git init &&
+       touch known 1 2 3 &&
+       git add known &&
+       cat >.git/clean-exclude1 <<-\EOF &&
+       1
+       EOF
+       cat >.git/clean-exclude2 <<-\EOF &&
+       2
+       EOF
Creation of these single-line files probably would be more readable
using 'echo', as you do in the test just above (for
.git/clean-exclude):

    echo 1 >.git/clean-exclude1 &&
    echo 2 >.git/clean-exclude2 &&
+       git clean -f --exclude-from=.git/clean-exclude1 --exclude-from=.git/clean-exclude2 &&
+       test_path_is_file 1 &&
+       test_path_is_file 2 &&
+       test_path_is_missing 3 &&
+       test_path_is_file known
+'
+
+test_expect_success 'git clean --exclude-from=BADFILE' '
+       rm -fr repo &&
+       mkdir repo &&
+       cd repo &&
+       git init &&
+       test_expect_code 128 git clean -f --exclude-from=.git/clean-exclude-not-there
+'
+
 test_expect_success SANITY 'git clean -d with an unreadable empty directory' '
        mkdir foo &&
        chmod a= foo &&
--
2.3.6
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help