diff options
| author | Junio C Hamano <gitster@pobox.com> | 2016-02-10 14:20:07 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2016-02-10 14:20:07 -0800 |
| commit | a3764e7da7ae2c30e2e1bbeaa0961a17bced2078 (patch) | |
| tree | 4cc71f632465d8043e6d523bdfe6837f7c4e1e42 | |
| parent | Merge branch 'ew/connect-verbose' (diff) | |
| parent | convert: treat an empty string for clean/smudge filters as "cat" (diff) | |
| download | git-a3764e7da7ae2c30e2e1bbeaa0961a17bced2078.tar.gz git-a3764e7da7ae2c30e2e1bbeaa0961a17bced2078.zip | |
Merge branch 'ls/clean-smudge-override-in-config'
Clean/smudge filters defined in a configuration file of lower
precedence can now be overridden to be a pass-through no-op by
setting the variable to an empty string.
* ls/clean-smudge-override-in-config:
convert: treat an empty string for clean/smudge filters as "cat"
| -rw-r--r-- | convert.c | 2 | ||||
| -rwxr-xr-x | t/t0021-conversion.sh | 16 |
2 files changed, 17 insertions, 1 deletions
@@ -434,7 +434,7 @@ static int apply_filter(const char *path, const char *src, size_t len, int fd, struct async async; struct filter_params params; - if (!cmd) + if (!cmd || !*cmd) return 0; if (!dst) diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh index 718efa04d3..7bac2bcf26 100755 --- a/t/t0021-conversion.sh +++ b/t/t0021-conversion.sh @@ -252,4 +252,20 @@ test_expect_success "filter: smudge empty file" ' test_cmp expected filtered-empty-in-repo ' +test_expect_success 'disable filter with empty override' ' + test_config_global filter.disable.smudge false && + test_config_global filter.disable.clean false && + test_config filter.disable.smudge false && + test_config filter.disable.clean false && + + echo "*.disable filter=disable" >.gitattributes && + + echo test >test.disable && + git -c filter.disable.clean= add test.disable 2>err && + test_must_be_empty err && + rm -f test.disable && + git -c filter.disable.smudge= checkout -- test.disable 2>err && + test_must_be_empty err +' + test_done |
