Tag
- branch - main kmx/main origin/HEAD origin/bindings/libgit2sharp/022_1 origin/brianmario/attr-from-tree origin/brianmario/revwalk-filter origin/brianmario/trailer-info origin/brianmario/trailer-list origin/ci origin/cmn/atexit-skeleton origin/cmn/cancellation origin/cmn/commit-on origin/cmn/ctest-jobs origin/cmn/delta-base-eviction origin/cmn/diff-binary-patch origin/cmn/dynamic-libssh2 origin/cmn/example-pull origin/cmn/forbid-mutiurl origin/cmn/init-ssh origin/cmn/io-stream-backends origin/cmn/leaks origin/cmn/parallel-clar origin/cmn/pcre2 origin/cmn/read-only-size origin/cmn/remote-options origin/cmn/repo-v1 origin/cmn/reset-dont-free-url origin/cmn/server origin/cmn/sortedcache-close origin/cmn/tmp origin/cmn/tree-parser-sort-input origin/cmn/warnings origin/csware/system_proxy origin/development origin/diff-fails-with-cpp-file origin/enterprise/backport-2.6-4136-4178 origin/enterprise/backport-2.7-4136-4178 origin/enterprise/backport-2.8-4136-4178 origin/enterprise/backport-2.9-4136-4178 origin/ethomson/027 origin/ethomson/checkout_conflict_respect_index origin/ethomson/checkout_safety origin/ethomson/ci_test_results origin/ethomson/cli origin/ethomson/cli_cmd_clone origin/ethomson/cmake origin/ethomson/cmake2 origin/ethomson/cmake4 origin/ethomson/cmake5 origin/ethomson/cmake6 origin/ethomson/codespaces origin/ethomson/diff_fail origin/ethomson/diff_regexp_ignore origin/ethomson/docs origin/ethomson/filter_driver_git_buf origin/ethomson/find_executable origin/ethomson/fix-stale-filesize-crash origin/ethomson/follow_redirects origin/ethomson/future origin/ethomson/init-bak origin/ethomson/is_and_from origin/ethomson/links origin/ethomson/middleware origin/ethomson/nightlies origin/ethomson/no_qemu origin/ethomson/ntlm origin/ethomson/off_t_bak origin/ethomson/oid_cleanups origin/ethomson/oidmadness origin/ethomson/path_validation origin/ethomson/prng2 origin/ethomson/racy-diff origin/ethomson/reference_cmp origin/ethomson/sha256_experimental origin/ethomson/sha256_loose origin/ethomson/sha256_pack origin/ethomson/sha256_raw origin/ethomson/ssl_proxy origin/ethomson/ssl_refactor origin/ethomson/stream-truncated-writes origin/ethomson/test_https origin/ethomson/test_urls_with_spaces origin/ethomson/tlsdata_fail origin/ethomson/url_parse origin/ethomson/util origin/ethomson/util2 origin/ethomson/util3 origin/ethomson/util4 origin/ethomson/util5 origin/ethomson/util_as_a_directory origin/ethomson/winauth origin/gh-pages origin/jss/fix-ignore-pop origin/main origin/maint/v0.21 origin/maint/v0.22 origin/maint/v0.23 origin/maint/v0.24 origin/maint/v0.25 origin/maint/v0.26 origin/maint/v0.27 origin/maint/v0.28 origin/maint/v0.99 origin/maint/v1.0 origin/maint/v1.1 origin/maint/v1.2 origin/maint/v1.3 origin/maint/v1.4 origin/maint/v1.5 origin/pks-cmake-targets origin/precompose-test origin/rb/commit-modified-file origin/rb/object-parse-flexibility origin/rb/test-builtin-drivers origin/rb/warnings-for-commit-headers origin/users/ethomson/cmake2 origin/vmg/read-types origin/vmg/repo-format-1 - tag - v1.5.0 v1.4.4 v1.4.3 v1.4.2 v1.4.1 v1.4.0 v1.3.2 v1.3.1 v1.3.0 v1.2.0 v1.1.1 v1.1.0 v1.0.1 v1.0.0 v0.99.0 v0.8.0 v0.3.0 v0.28.5 v0.28.4 v0.28.3 v0.28.2 v0.28.1 v0.28.0-rc1 v0.28.0 v0.27.9 v0.27.8 v0.27.7 v0.27.6 v0.27.5 v0.27.4 v0.27.3 v0.27.2 v0.27.10 v0.27.1 v0.27.0-rc3 v0.27.0-rc2 v0.27.0-rc1 v0.27.0 v0.26.8 v0.26.7 v0.26.6 v0.26.5 v0.26.4 v0.26.3 v0.26.2 v0.26.1 v0.26.0-rc2 v0.26.0-rc1 v0.26.0 v0.25.1 v0.25.0-rc2 v0.25.0-rc1 v0.25.0 v0.24.6 v0.24.5 v0.24.4 v0.24.3 v0.24.2 v0.24.1 v0.24.0-rc1 v0.24.0 v0.23.4 v0.23.3 v0.23.2 v0.23.1 v0.23.0-rc2 v0.23.0-rc1 v0.23.0 v0.22.3 v0.22.2 v0.22.1 v0.22.0-rc2 v0.22.0-rc1 v0.22.0 v0.21.5 v0.21.4 v0.21.3 v0.21.2 v0.21.1 v0.21.0-rc2 v0.21.0-rc1 v0.21.0 v0.20.0 v0.2.0 v0.19.0 v0.18.0 v0.17.0 v0.16.0 v0.15.0 v0.14.0 v0.13.0 v0.12.0 v0.11.0 v0.10.0 v0.1.0
Show log
Commit
Hash :
b260fdc8
Author :
Date :
2018-04-06T12:24:10
attr_file: fix handling of directory patterns with trailing spaces
When comparing whether a path matches a directory rule, we pass the
both the path and directory name to `fnmatch` with
`GIT_ATTR_FNMATCH_DIRECTORY` being set. `fnmatch` expects the pattern to
contain no trailing directory '/', which is why we try to always strip
patterns of trailing slashes. We do not handle that case correctly
though when the pattern itself has trailing spaces, causing the match to
fail.
Fix the issue by stripping trailing spaces and tabs for a rule previous
to checking whether the pattern is a directory pattern with a trailing
'/'. This replaces the whitespace-stripping in our ignore file parsing
code, which was stripping whitespaces too late. Add a test to catch
future breakage.