Revision 29209cbe58e7a977ae7267b11da19250b6878028 authored by Jeff King on 11 March 2010, 07:15:43 UTC, committed by Junio C Hamano on 14 March 2010, 07:23:08 UTC
As we walk the directory tree, if we see an ignored path, we want to add it to the ignored list only if it matches any pathspec that we were given. We used to check for the pathspec to appear explicitly. E.g., if we see "subdir/file" and it is excluded, we check to see if we have "subdir/file" in our pathspec. However, this interacts badly with the optimization to avoid recursing into ignored subdirectories. If "subdir" as a whole is ignored, then we never recurse, and consider only whether "subdir" itself is in our pathspec. It would not match a pathspec of "subdir/file" explicitly, even though it is the reason that subdir/file would be excluded. This manifests itself to the user as "git add subdir/file" failing to correctly note that the pathspec was ignored. This patch extends the in_pathspec logic to include prefix directory case. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 0d7c243
File | Mode | Size |
---|---|---|
Documentation | ||
block-sha1 | ||
compat | ||
contrib | ||
git-gui | ||
git_remote_helpers | ||
gitk-git | ||
gitweb | ||
perl | ||
ppc | ||
t | ||
templates | ||
xdiff | ||
.gitattributes | -rw-r--r-- | 105 bytes |
.gitignore | -rw-r--r-- | 2.7 KB |
.mailmap | -rw-r--r-- | 2.5 KB |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 738 bytes |
INSTALL | -rw-r--r-- | 6.3 KB |
Makefile | -rw-r--r-- | 58.9 KB |
README | -rw-r--r-- | 2.4 KB |
RelNotes | l--------- | 32 bytes |
abspath.c | -rw-r--r-- | 2.8 KB |
advice.c | -rw-r--r-- | 672 bytes |
advice.h | -rw-r--r-- | 236 bytes |
alias.c | -rw-r--r-- | 1.4 KB |
alloc.c | -rw-r--r-- | 1.7 KB |
archive-tar.c | -rw-r--r-- | 6.3 KB |
archive-zip.c | -rw-r--r-- | 7.3 KB |
archive.c | -rw-r--r-- | 9.7 KB |
archive.h | -rw-r--r-- | 927 bytes |
attr.c | -rw-r--r-- | 16.0 KB |
attr.h | -rw-r--r-- | 978 bytes |
base85.c | -rw-r--r-- | 2.9 KB |
bisect.c | -rw-r--r-- | 23.6 KB |
bisect.h | -rw-r--r-- | 900 bytes |
blob.c | -rw-r--r-- | 1.1 KB |
blob.h | -rw-r--r-- | 311 bytes |
branch.c | -rw-r--r-- | 4.9 KB |
branch.h | -rw-r--r-- | 1.0 KB |
builtin-add.c | -rw-r--r-- | 9.2 KB |
builtin-annotate.c | -rw-r--r-- | 446 bytes |
builtin-apply.c | -rw-r--r-- | 91.5 KB |
builtin-archive.c | -rw-r--r-- | 3.3 KB |
builtin-bisect--helper.c | -rw-r--r-- | 617 bytes |
builtin-blame.c | -rw-r--r-- | 62.8 KB |
builtin-branch.c | -rw-r--r-- | 17.2 KB |
builtin-bundle.c | -rw-r--r-- | 1.8 KB |
builtin-cat-file.c | -rw-r--r-- | 5.6 KB |
builtin-check-attr.c | -rw-r--r-- | 3.0 KB |
builtin-check-ref-format.c | -rw-r--r-- | 1.4 KB |
builtin-checkout-index.c | -rw-r--r-- | 8.1 KB |
builtin-checkout.c | -rw-r--r-- | 22.4 KB |
builtin-clean.c | -rw-r--r-- | 4.1 KB |
builtin-clone.c | -rw-r--r-- | 17.0 KB |
builtin-commit-tree.c | -rw-r--r-- | 3.7 KB |
builtin-commit.c | -rw-r--r-- | 33.5 KB |
builtin-config.c | -rw-r--r-- | 12.9 KB |
builtin-count-objects.c | -rw-r--r-- | 3.0 KB |
builtin-describe.c | -rw-r--r-- | 9.9 KB |
builtin-diff-files.c | -rw-r--r-- | 1.9 KB |
builtin-diff-index.c | -rw-r--r-- | 1.2 KB |
builtin-diff-tree.c | -rw-r--r-- | 4.2 KB |
builtin-diff.c | -rw-r--r-- | 10.6 KB |
builtin-fast-export.c | -rw-r--r-- | 16.0 KB |
builtin-fetch-pack.c | -rw-r--r-- | 22.7 KB |
builtin-fetch.c | -rw-r--r-- | 24.1 KB |
builtin-fmt-merge-msg.c | -rw-r--r-- | 8.7 KB |
builtin-for-each-ref.c | -rw-r--r-- | 22.4 KB |
builtin-fsck.c | -rw-r--r-- | 15.8 KB |
builtin-gc.c | -rw-r--r-- | 6.1 KB |
builtin-grep.c | -rw-r--r-- | 23.1 KB |
builtin-help.c | -rw-r--r-- | 11.1 KB |
builtin-init-db.c | -rw-r--r-- | 13.4 KB |
builtin-log.c | -rw-r--r-- | 34.9 KB |
builtin-ls-files.c | -rw-r--r-- | 14.0 KB |
builtin-ls-remote.c | -rw-r--r-- | 2.4 KB |
builtin-ls-tree.c | -rw-r--r-- | 4.4 KB |
builtin-mailinfo.c | -rw-r--r-- | 23.5 KB |
builtin-mailsplit.c | -rw-r--r-- | 6.3 KB |
builtin-merge-base.c | -rw-r--r-- | 1.4 KB |
builtin-merge-file.c | -rw-r--r-- | 2.5 KB |
builtin-merge-ours.c | -rw-r--r-- | 926 bytes |
builtin-merge-recursive.c | -rw-r--r-- | 1.8 KB |
builtin-merge.c | -rw-r--r-- | 32.1 KB |
builtin-mktree.c | -rw-r--r-- | 5.0 KB |
builtin-mv.c | -rw-r--r-- | 5.9 KB |
builtin-name-rev.c | -rw-r--r-- | 7.1 KB |
builtin-pack-objects.c | -rw-r--r-- | 59.3 KB |
builtin-pack-refs.c | -rw-r--r-- | 589 bytes |
builtin-prune-packed.c | -rw-r--r-- | 1.9 KB |
builtin-prune.c | -rw-r--r-- | 3.8 KB |
builtin-push.c | -rw-r--r-- | 5.7 KB |
builtin-read-tree.c | -rw-r--r-- | 5.5 KB |
builtin-receive-pack.c | -rw-r--r-- | 16.7 KB |
builtin-reflog.c | -rw-r--r-- | 17.7 KB |
builtin-remote.c | -rw-r--r-- | 36.0 KB |
builtin-replace.c | -rw-r--r-- | 3.9 KB |
builtin-rerere.c | -rw-r--r-- | 3.5 KB |
builtin-reset.c | -rw-r--r-- | 8.8 KB |
builtin-rev-list.c | -rw-r--r-- | 9.4 KB |
builtin-rev-parse.c | -rw-r--r-- | 15.1 KB |
builtin-revert.c | -rw-r--r-- | 11.3 KB |
builtin-rm.c | -rw-r--r-- | 7.0 KB |
builtin-send-pack.c | -rw-r--r-- | 15.6 KB |
builtin-shortlog.c | -rw-r--r-- | 8.6 KB |
builtin-show-branch.c | -rw-r--r-- | 23.0 KB |
builtin-show-ref.c | -rw-r--r-- | 6.3 KB |
builtin-stripspace.c | -rw-r--r-- | 2.0 KB |
builtin-symbolic-ref.c | -rw-r--r-- | 1.3 KB |
builtin-tag.c | -rw-r--r-- | 11.3 KB |
builtin-tar-tree.c | -rw-r--r-- | 2.5 KB |
builtin-unpack-objects.c | -rw-r--r-- | 12.9 KB |
builtin-update-index.c | -rw-r--r-- | 19.2 KB |
builtin-update-ref.c | -rw-r--r-- | 1.6 KB |
builtin-update-server-info.c | -rw-r--r-- | 591 bytes |
builtin-upload-archive.c | -rw-r--r-- | 4.0 KB |
builtin-verify-pack.c | -rw-r--r-- | 4.1 KB |
builtin-verify-tag.c | -rw-r--r-- | 2.7 KB |
builtin-write-tree.c | -rw-r--r-- | 1.5 KB |
builtin.h | -rw-r--r-- | 7.3 KB |
bundle.c | -rw-r--r-- | 10.2 KB |
bundle.h | -rw-r--r-- | 627 bytes |
cache-tree.c | -rw-r--r-- | 15.6 KB |
cache-tree.h | -rw-r--r-- | 1.4 KB |
cache.h | -rw-r--r-- | 35.4 KB |
check-builtins.sh | -rwxr-xr-x | 588 bytes |
check-racy.c | -rw-r--r-- | 538 bytes |
check_bindir | -rwxr-xr-x | 369 bytes |
color.c | -rw-r--r-- | 4.5 KB |
color.h | -rw-r--r-- | 1.4 KB |
combine-diff.c | -rw-r--r-- | 27.8 KB |
command-list.txt | -rw-r--r-- | 7.7 KB |
commit.c | -rw-r--r-- | 17.5 KB |
commit.h | -rw-r--r-- | 4.9 KB |
config.c | -rw-r--r-- | 29.7 KB |
config.mak.in | -rw-r--r-- | 1.5 KB |
configure.ac | -rw-r--r-- | 23.8 KB |
connect.c | -rw-r--r-- | 13.5 KB |
convert.c | -rw-r--r-- | 14.1 KB |
copy.c | -rw-r--r-- | 1.6 KB |
csum-file.c | -rw-r--r-- | 2.5 KB |
csum-file.h | -rw-r--r-- | 761 bytes |
ctype.c | -rw-r--r-- | 874 bytes |
daemon.c | -rw-r--r-- | 24.4 KB |
date.c | -rw-r--r-- | 21.7 KB |
decorate.c | -rw-r--r-- | 1.8 KB |
decorate.h | -rw-r--r-- | 400 bytes |
delta.h | -rw-r--r-- | 3.4 KB |
diff-delta.c | -rw-r--r-- | 15.3 KB |
diff-lib.c | -rw-r--r-- | 12.9 KB |
diff-no-index.c | -rw-r--r-- | 6.1 KB |
diff.c | -rw-r--r-- | 99.1 KB |
diff.h | -rw-r--r-- | 8.9 KB |
diffcore-break.c | -rw-r--r-- | 8.7 KB |
diffcore-delta.c | -rw-r--r-- | 5.4 KB |
diffcore-order.c | -rw-r--r-- | 2.2 KB |
diffcore-pickaxe.c | -rw-r--r-- | 3.2 KB |
diffcore-rename.c | -rw-r--r-- | 16.9 KB |
diffcore.h | -rw-r--r-- | 4.0 KB |
dir.c | -rw-r--r-- | 23.8 KB |
dir.h | -rw-r--r-- | 2.5 KB |
editor.c | -rw-r--r-- | 1.5 KB |
entry.c | -rw-r--r-- | 6.0 KB |
environment.c | -rw-r--r-- | 4.8 KB |
exec_cmd.c | -rw-r--r-- | 3.3 KB |
exec_cmd.h | -rw-r--r-- | 487 bytes |
fast-import.c | -rw-r--r-- | 64.8 KB |
fetch-pack.h | -rw-r--r-- | 479 bytes |
fixup-builtins | -rwxr-xr-x | 432 bytes |
fsck.c | -rw-r--r-- | 8.0 KB |
fsck.h | -rw-r--r-- | 1.0 KB |
generate-cmdlist.sh | -rwxr-xr-x | 443 bytes |
git-add--interactive.perl | -rwxr-xr-x | 34.4 KB |
git-am.sh | -rwxr-xr-x | 17.5 KB |
git-archimport.perl | -rwxr-xr-x | 36.0 KB |
git-bisect.sh | -rwxr-xr-x | 9.8 KB |
git-compat-util.h | -rw-r--r-- | 11.4 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 12.4 KB |
git-cvsimport.perl | -rwxr-xr-x | 28.0 KB |
git-cvsserver.perl | -rwxr-xr-x | 114.1 KB |
git-difftool--helper.sh | -rwxr-xr-x | 1.6 KB |
git-difftool.perl | -rwxr-xr-x | 2.0 KB |
git-filter-branch.sh | -rwxr-xr-x | 11.9 KB |
git-instaweb.sh | -rwxr-xr-x | 11.0 KB |
git-lost-found.sh | -rwxr-xr-x | 554 bytes |
git-merge-octopus.sh | -rwxr-xr-x | 2.0 KB |
git-merge-one-file.sh | -rwxr-xr-x | 3.7 KB |
git-merge-resolve.sh | -rwxr-xr-x | 944 bytes |
git-mergetool--lib.sh | -rw-r--r-- | 8.8 KB |
git-mergetool.sh | -rwxr-xr-x | 6.0 KB |
git-notes.sh | -rwxr-xr-x | 2.7 KB |
git-parse-remote.sh | -rwxr-xr-x | 1.9 KB |
git-pull.sh | -rwxr-xr-x | 6.8 KB |
git-quiltimport.sh | -rwxr-xr-x | 3.3 KB |
git-rebase--interactive.sh | -rwxr-xr-x | 18.7 KB |
git-rebase.sh | -rwxr-xr-x | 13.6 KB |
git-relink.perl | -rwxr-xr-x | 4.0 KB |
git-repack.sh | -rwxr-xr-x | 4.4 KB |
git-request-pull.sh | -rwxr-xr-x | 1.6 KB |
git-send-email.perl | -rwxr-xr-x | 33.1 KB |
git-sh-setup.sh | -rwxr-xr-x | 3.9 KB |
git-stash.sh | -rwxr-xr-x | 8.4 KB |
git-submodule.sh | -rwxr-xr-x | 16.9 KB |
git-svn.perl | -rwxr-xr-x | 167.4 KB |
git-web--browse.sh | -rwxr-xr-x | 3.9 KB |
git.c | -rw-r--r-- | 14.4 KB |
git.spec.in | -rw-r--r-- | 9.6 KB |
graph.c | -rw-r--r-- | 34.6 KB |
graph.h | -rw-r--r-- | 2.5 KB |
grep.c | -rw-r--r-- | 17.5 KB |
grep.h | -rw-r--r-- | 2.0 KB |
hash-object.c | -rw-r--r-- | 3.6 KB |
hash.c | -rw-r--r-- | 2.5 KB |
hash.h | -rw-r--r-- | 1.1 KB |
help.c | -rw-r--r-- | 8.4 KB |
help.h | -rw-r--r-- | 751 bytes |
http-backend.c | -rw-r--r-- | 14.0 KB |
http-fetch.c | -rw-r--r-- | 2.3 KB |
http-push.c | -rw-r--r-- | 54.2 KB |
http-walker.c | -rw-r--r-- | 13.7 KB |
http.c | -rw-r--r-- | 30.2 KB |
http.h | -rw-r--r-- | 5.4 KB |
ident.c | -rw-r--r-- | 5.9 KB |
imap-send.c | -rw-r--r-- | 31.3 KB |
index-pack.c | -rw-r--r-- | 26.7 KB |
levenshtein.c | -rw-r--r-- | 2.5 KB |
levenshtein.h | -rw-r--r-- | 201 bytes |
list-objects.c | -rw-r--r-- | 4.6 KB |
list-objects.h | -rw-r--r-- | 422 bytes |
ll-merge.c | -rw-r--r-- | 8.8 KB |
ll-merge.h | -rw-r--r-- | 304 bytes |
lockfile.c | -rw-r--r-- | 6.2 KB |
log-tree.c | -rw-r--r-- | 14.0 KB |
log-tree.h | -rw-r--r-- | 783 bytes |
mailmap.c | -rw-r--r-- | 6.6 KB |
mailmap.h | -rw-r--r-- | 350 bytes |
match-trees.c | -rw-r--r-- | 7.1 KB |
merge-file.c | -rw-r--r-- | 2.4 KB |
merge-index.c | -rw-r--r-- | 2.2 KB |
merge-recursive.c | -rw-r--r-- | 38.4 KB |
merge-recursive.h | -rw-r--r-- | 1.4 KB |
merge-tree.c | -rw-r--r-- | 8.1 KB |
mktag.c | -rw-r--r-- | 5.2 KB |
name-hash.c | -rw-r--r-- | 2.5 KB |
notes.c | -rw-r--r-- | 12.4 KB |
notes.h | -rw-r--r-- | 295 bytes |
object.c | -rw-r--r-- | 6.1 KB |
object.h | -rw-r--r-- | 2.7 KB |
pack-check.c | -rw-r--r-- | 4.5 KB |
pack-redundant.c | -rw-r--r-- | 15.0 KB |
pack-refs.c | -rw-r--r-- | 2.8 KB |
pack-refs.h | -rw-r--r-- | 465 bytes |
pack-revindex.c | -rw-r--r-- | 4.0 KB |
pack-revindex.h | -rw-r--r-- | 223 bytes |
pack-write.c | -rw-r--r-- | 7.3 KB |
pack.h | -rw-r--r-- | 2.2 KB |
pager.c | -rw-r--r-- | 2.1 KB |
parse-options.c | -rw-r--r-- | 15.3 KB |
parse-options.h | -rw-r--r-- | 6.9 KB |
patch-delta.c | -rw-r--r-- | 2.2 KB |
patch-id.c | -rw-r--r-- | 1.6 KB |
patch-ids.c | -rw-r--r-- | 2.5 KB |
patch-ids.h | -rw-r--r-- | 490 bytes |
path.c | -rw-r--r-- | 14.2 KB |
pkt-line.c | -rw-r--r-- | 3.3 KB |
pkt-line.h | -rw-r--r-- | 589 bytes |
preload-index.c | -rw-r--r-- | 2.3 KB |
pretty.c | -rw-r--r-- | 26.7 KB |
progress.c | -rw-r--r-- | 6.5 KB |
progress.h | -rw-r--r-- | 504 bytes |
quote.c | -rw-r--r-- | 10.1 KB |
quote.h | -rw-r--r-- | 2.6 KB |
reachable.c | -rw-r--r-- | 5.6 KB |
reachable.h | -rw-r--r-- | 127 bytes |
read-cache.c | -rw-r--r-- | 45.3 KB |
reflog-walk.c | -rw-r--r-- | 7.7 KB |
reflog-walk.h | -rw-r--r-- | 664 bytes |
refs.c | -rw-r--r-- | 42.2 KB |
refs.h | -rw-r--r-- | 3.7 KB |
remote-curl.c | -rw-r--r-- | 18.4 KB |
remote.c | -rw-r--r-- | 39.8 KB |
remote.h | -rw-r--r-- | 4.1 KB |
replace_object.c | -rw-r--r-- | 2.6 KB |
rerere.c | -rw-r--r-- | 9.3 KB |
rerere.h | -rw-r--r-- | 259 bytes |
revision.c | -rw-r--r-- | 51.0 KB |
revision.h | -rw-r--r-- | 4.2 KB |
run-command.c | -rw-r--r-- | 8.5 KB |
run-command.h | -rw-r--r-- | 2.6 KB |
send-pack.h | -rw-r--r-- | 374 bytes |
server-info.c | -rw-r--r-- | 5.2 KB |
setup.c | -rw-r--r-- | 12.8 KB |
sha1-lookup.c | -rw-r--r-- | 7.8 KB |
sha1-lookup.h | -rw-r--r-- | 403 bytes |
sha1_file.c | -rw-r--r-- | 65.1 KB |
sha1_name.c | -rw-r--r-- | 19.6 KB |
shallow.c | -rw-r--r-- | 2.3 KB |
shell.c | -rw-r--r-- | 2.2 KB |
shortlog.h | -rw-r--r-- | 450 bytes |
show-index.c | -rw-r--r-- | 2.2 KB |
sideband.c | -rw-r--r-- | 3.4 KB |
sideband.h | -rw-r--r-- | 326 bytes |
sigchain.c | -rw-r--r-- | 969 bytes |
sigchain.h | -rw-r--r-- | 215 bytes |
strbuf.c | -rw-r--r-- | 7.7 KB |
strbuf.h | -rw-r--r-- | 4.9 KB |
string-list.c | -rw-r--r-- | 4.2 KB |
string-list.h | -rw-r--r-- | 1.7 KB |
submodule.c | -rw-r--r-- | 3.3 KB |
submodule.h | -rw-r--r-- | 208 bytes |
symlinks.c | -rw-r--r-- | 8.6 KB |
tag.c | -rw-r--r-- | 2.7 KB |
tag.h | -rw-r--r-- | 471 bytes |
tar.h | -rw-r--r-- | 644 bytes |
test-chmtime.c | -rw-r--r-- | 2.6 KB |
test-ctype.c | -rw-r--r-- | 1.4 KB |
test-date.c | -rw-r--r-- | 1.3 KB |
test-delta.c | -rw-r--r-- | 1.8 KB |
test-dump-cache-tree.c | -rw-r--r-- | 1.5 KB |
test-genrandom.c | -rw-r--r-- | 722 bytes |
test-match-trees.c | -rw-r--r-- | 588 bytes |
test-parse-options.c | -rw-r--r-- | 3.0 KB |
test-path-utils.c | -rw-r--r-- | 872 bytes |
test-sha1.c | -rw-r--r-- | 816 bytes |
test-sha1.sh | -rwxr-xr-x | 1.9 KB |
test-sigchain.c | -rw-r--r-- | 344 bytes |
thread-utils.c | -rw-r--r-- | 965 bytes |
thread-utils.h | -rw-r--r-- | 109 bytes |
trace.c | -rw-r--r-- | 3.5 KB |
transport-helper.c | -rw-r--r-- | 12.2 KB |
transport.c | -rw-r--r-- | 24.4 KB |
transport.h | -rw-r--r-- | 4.0 KB |
tree-diff.c | -rw-r--r-- | 11.9 KB |
tree-walk.c | -rw-r--r-- | 5.3 KB |
tree-walk.h | -rw-r--r-- | 1.7 KB |
tree.c | -rw-r--r-- | 7.0 KB |
tree.h | -rw-r--r-- | 883 bytes |
unimplemented.sh | -rw-r--r-- | 100 bytes |
unpack-file.c | -rw-r--r-- | 867 bytes |
unpack-trees.c | -rw-r--r-- | 24.8 KB |
unpack-trees.h | -rw-r--r-- | 1.4 KB |
upload-pack.c | -rw-r--r-- | 17.5 KB |
usage.c | -rw-r--r-- | 2.4 KB |
userdiff.c | -rw-r--r-- | 6.0 KB |
userdiff.h | -rw-r--r-- | 477 bytes |
utf8.c | -rw-r--r-- | 13.0 KB |
utf8.h | -rw-r--r-- | 685 bytes |
var.c | -rw-r--r-- | 1.8 KB |
walker.c | -rw-r--r-- | 7.2 KB |
walker.h | -rw-r--r-- | 1.1 KB |
wrap-for-bin.sh | -rw-r--r-- | 526 bytes |
wrapper.c | -rw-r--r-- | 6.1 KB |
write_or_die.c | -rw-r--r-- | 2.0 KB |
ws.c | -rw-r--r-- | 8.2 KB |
wt-status.c | -rw-r--r-- | 18.5 KB |
wt-status.h | -rw-r--r-- | 1.3 KB |
xdiff-interface.c | -rw-r--r-- | 7.9 KB |
xdiff-interface.h | -rw-r--r-- | 1.1 KB |
Computing file changes ...