https://github.com/git/git
Revision d99ebf081797dbb43ff618ff59f4c607b0acf045 authored by Junio C Hamano on 14 September 2007, 07:31:00 UTC, committed by Junio C Hamano on 14 September 2007, 22:16:43 UTC
In order to (almost) always show the name of the file without relying on "-H" option of GNU grep, we used to add /dev/null to the argument list unless we are doing -l or -L. This caused "/dev/null:0" to show up when -c is given in the output. It is not enough to add -c to the set of options we do not pass /dev/null for. When we have too many files, we invoke grep multiple times and we need to avoid giving a widow filename to the last invocation -- otherwise we will not see the name. This keeps two filenames when the argv[] buffer is about to overflow and we have not finished iterating over the index, so that the last round will always have at least two paths to work with (and not require /dev/null). An obvious and the only exception is when there is only 1 file that is given to the underlying grep, and in that case we avoid passing /dev/null and let the external "grep -c" report only the number of matches. Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 7c8b5ea
Tip revision: d99ebf081797dbb43ff618ff59f4c607b0acf045 authored by Junio C Hamano on 14 September 2007, 07:31:00 UTC
Split grep arguments in a way that does not requires to add /dev/null.
Split grep arguments in a way that does not requires to add /dev/null.
Tip revision: d99ebf0
File | Mode | Size |
---|---|---|
Documentation | ||
arm | ||
compat | ||
contrib | ||
git-gui | ||
gitweb | ||
mozilla-sha1 | ||
perl | ||
ppc | ||
t | ||
templates | ||
xdiff | ||
.gitignore | -rw-r--r-- | 2.3 KB |
.mailmap | -rw-r--r-- | 1.9 KB |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 759 bytes |
INSTALL | -rw-r--r-- | 4.6 KB |
Makefile | -rw-r--r-- | 31.4 KB |
README | -rw-r--r-- | 2.1 KB |
RelNotes | l--------- | 34 bytes |
alloc.c | -rw-r--r-- | 1.7 KB |
archive-tar.c | -rw-r--r-- | 8.2 KB |
archive-zip.c | -rw-r--r-- | 8.9 KB |
archive.h | -rw-r--r-- | 1.1 KB |
attr.c | -rw-r--r-- | 14.6 KB |
attr.h | -rw-r--r-- | 816 bytes |
base85.c | -rw-r--r-- | 2.9 KB |
blob.c | -rw-r--r-- | 1.1 KB |
blob.h | -rw-r--r-- | 311 bytes |
builtin-add.c | -rw-r--r-- | 6.2 KB |
builtin-annotate.c | -rw-r--r-- | 446 bytes |
builtin-apply.c | -rw-r--r-- | 71.0 KB |
builtin-archive.c | -rw-r--r-- | 5.7 KB |
builtin-blame.c | -rw-r--r-- | 61.2 KB |
builtin-branch.c | -rw-r--r-- | 14.9 KB |
builtin-bundle.c | -rw-r--r-- | 10.8 KB |
builtin-cat-file.c | -rw-r--r-- | 3.4 KB |
builtin-check-attr.c | -rw-r--r-- | 1.4 KB |
builtin-check-ref-format.c | -rw-r--r-- | 282 bytes |
builtin-checkout-index.c | -rw-r--r-- | 7.5 KB |
builtin-commit-tree.c | -rw-r--r-- | 3.9 KB |
builtin-config.c | -rw-r--r-- | 7.2 KB |
builtin-count-objects.c | -rw-r--r-- | 2.9 KB |
builtin-describe.c | -rw-r--r-- | 7.0 KB |
builtin-diff-files.c | -rw-r--r-- | 958 bytes |
builtin-diff-index.c | -rw-r--r-- | 1.2 KB |
builtin-diff-tree.c | -rw-r--r-- | 3.3 KB |
builtin-diff.c | -rw-r--r-- | 9.0 KB |
builtin-fetch--tool.c | -rw-r--r-- | 12.8 KB |
builtin-fmt-merge-msg.c | -rw-r--r-- | 7.8 KB |
builtin-for-each-ref.c | -rw-r--r-- | 20.6 KB |
builtin-fsck.c | -rw-r--r-- | 18.3 KB |
builtin-gc.c | -rw-r--r-- | 2.5 KB |
builtin-grep.c | -rw-r--r-- | 18.1 KB |
builtin-init-db.c | -rw-r--r-- | 10.9 KB |
builtin-log.c | -rw-r--r-- | 20.1 KB |
builtin-ls-files.c | -rw-r--r-- | 12.6 KB |
builtin-ls-tree.c | -rw-r--r-- | 4.4 KB |
builtin-mailinfo.c | -rw-r--r-- | 19.9 KB |
builtin-mailsplit.c | -rw-r--r-- | 5.8 KB |
builtin-merge-base.c | -rw-r--r-- | 1.2 KB |
builtin-merge-file.c | -rw-r--r-- | 1.6 KB |
builtin-mv.c | -rw-r--r-- | 7.4 KB |
builtin-name-rev.c | -rw-r--r-- | 6.4 KB |
builtin-pack-objects.c | -rw-r--r-- | 47.3 KB |
builtin-pack-refs.c | -rw-r--r-- | 3.4 KB |
builtin-prune-packed.c | -rw-r--r-- | 1.8 KB |
builtin-prune.c | -rw-r--r-- | 1.9 KB |
builtin-push.c | -rw-r--r-- | 3.9 KB |
builtin-read-tree.c | -rw-r--r-- | 6.8 KB |
builtin-reflog.c | -rw-r--r-- | 9.8 KB |
builtin-rerere.c | -rw-r--r-- | 11.0 KB |
builtin-rev-list.c | -rw-r--r-- | 12.8 KB |
builtin-rev-parse.c | -rw-r--r-- | 8.2 KB |
builtin-revert.c | -rw-r--r-- | 10.1 KB |
builtin-rm.c | -rw-r--r-- | 6.3 KB |
builtin-runstatus.c | -rw-r--r-- | 833 bytes |
builtin-shortlog.c | -rw-r--r-- | 7.4 KB |
builtin-show-branch.c | -rw-r--r-- | 21.1 KB |
builtin-show-ref.c | -rw-r--r-- | 5.8 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-- | 10.3 KB |
builtin-tar-tree.c | -rw-r--r-- | 2.1 KB |
builtin-unpack-objects.c | -rw-r--r-- | 8.6 KB |
builtin-update-index.c | -rw-r--r-- | 19.2 KB |
builtin-update-ref.c | -rw-r--r-- | 1.6 KB |
builtin-upload-archive.c | -rw-r--r-- | 4.1 KB |
builtin-verify-pack.c | -rw-r--r-- | 1.7 KB |
builtin-verify-tag.c | -rw-r--r-- | 2.5 KB |
builtin-write-tree.c | -rw-r--r-- | 2.2 KB |
builtin.h | -rw-r--r-- | 5.7 KB |
cache-tree.c | -rw-r--r-- | 12.5 KB |
cache-tree.h | -rw-r--r-- | 921 bytes |
cache.h | -rw-r--r-- | 21.2 KB |
check-builtins.sh | -rwxr-xr-x | 588 bytes |
check-racy.c | -rw-r--r-- | 517 bytes |
color.c | -rw-r--r-- | 3.2 KB |
color.h | -rw-r--r-- | 376 bytes |
combine-diff.c | -rw-r--r-- | 26.4 KB |
commit.c | -rw-r--r-- | 36.7 KB |
commit.h | -rw-r--r-- | 3.8 KB |
config.c | -rw-r--r-- | 22.6 KB |
config.mak.in | -rw-r--r-- | 931 bytes |
configure.ac | -rw-r--r-- | 12.4 KB |
connect.c | -rw-r--r-- | 13.4 KB |
convert-objects.c | -rw-r--r-- | 7.3 KB |
convert.c | -rw-r--r-- | 14.9 KB |
copy.c | -rw-r--r-- | 688 bytes |
csum-file.c | -rw-r--r-- | 2.1 KB |
csum-file.h | -rw-r--r-- | 515 bytes |
ctype.c | -rw-r--r-- | 889 bytes |
daemon.c | -rw-r--r-- | 26.7 KB |
date.c | -rw-r--r-- | 18.0 KB |
decorate.c | -rw-r--r-- | 1.8 KB |
decorate.h | -rw-r--r-- | 382 bytes |
delta.h | -rw-r--r-- | 3.4 KB |
diff-delta.c | -rw-r--r-- | 13.6 KB |
diff-lib.c | -rw-r--r-- | 17.2 KB |
diff.c | -rw-r--r-- | 81.2 KB |
diff.h | -rw-r--r-- | 7.1 KB |
diffcore-break.c | -rw-r--r-- | 8.4 KB |
diffcore-delta.c | -rw-r--r-- | 5.2 KB |
diffcore-order.c | -rw-r--r-- | 2.2 KB |
diffcore-pickaxe.c | -rw-r--r-- | 3.3 KB |
diffcore-rename.c | -rw-r--r-- | 14.3 KB |
diffcore.h | -rw-r--r-- | 3.8 KB |
dir.c | -rw-r--r-- | 16.2 KB |
dir.h | -rw-r--r-- | 1.9 KB |
dump-cache-tree.c | -rw-r--r-- | 1.5 KB |
entry.c | -rw-r--r-- | 5.7 KB |
environment.c | -rw-r--r-- | 3.5 KB |
exec_cmd.c | -rw-r--r-- | 2.8 KB |
exec_cmd.h | -rw-r--r-- | 286 bytes |
fast-import.c | -rw-r--r-- | 58.9 KB |
fetch-pack.c | -rw-r--r-- | 17.6 KB |
fetch.c | -rw-r--r-- | 6.7 KB |
fetch.h | -rw-r--r-- | 1.6 KB |
fixup-builtins | -rwxr-xr-x | 326 bytes |
generate-cmdlist.sh | -rwxr-xr-x | 551 bytes |
git-add--interactive.perl | -rwxr-xr-x | 16.0 KB |
git-am.sh | -rwxr-xr-x | 11.1 KB |
git-archimport.perl | -rwxr-xr-x | 36.0 KB |
git-bisect.sh | -rwxr-xr-x | 8.3 KB |
git-checkout.sh | -rwxr-xr-x | 6.7 KB |
git-clean.sh | -rwxr-xr-x | 1.8 KB |
git-clone.sh | -rwxr-xr-x | 11.2 KB |
git-commit.sh | -rwxr-xr-x | 14.3 KB |
git-compat-util.h | -rw-r--r-- | 8.2 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 8.5 KB |
git-cvsimport.perl | -rwxr-xr-x | 26.1 KB |
git-cvsserver.perl | -rwxr-xr-x | 99.1 KB |
git-fetch.sh | -rwxr-xr-x | 8.9 KB |
git-filter-branch.sh | -rwxr-xr-x | 9.5 KB |
git-instaweb.sh | -rwxr-xr-x | 5.1 KB |
git-lost-found.sh | -rwxr-xr-x | 473 bytes |
git-ls-remote.sh | -rwxr-xr-x | 2.5 KB |
git-merge-octopus.sh | -rwxr-xr-x | 2.4 KB |
git-merge-one-file.sh | -rwxr-xr-x | 3.3 KB |
git-merge-ours.sh | -rwxr-xr-x | 335 bytes |
git-merge-resolve.sh | -rwxr-xr-x | 954 bytes |
git-merge-stupid.sh | -rwxr-xr-x | 1.4 KB |
git-merge.sh | -rwxr-xr-x | 11.2 KB |
git-mergetool.sh | -rwxr-xr-x | 8.4 KB |
git-parse-remote.sh | -rwxr-xr-x | 5.8 KB |
git-pull.sh | -rwxr-xr-x | 3.2 KB |
git-quiltimport.sh | -rwxr-xr-x | 3.0 KB |
git-rebase--interactive.sh | -rwxr-xr-x | 11.3 KB |
git-rebase.sh | -rwxr-xr-x | 8.5 KB |
git-relink.perl | -rwxr-xr-x | 4.0 KB |
git-remote.perl | -rwxr-xr-x | 9.0 KB |
git-repack.sh | -rwxr-xr-x | 2.8 KB |
git-request-pull.sh | -rwxr-xr-x | 1.3 KB |
git-reset.sh | -rwxr-xr-x | 2.3 KB |
git-send-email.perl | -rwxr-xr-x | 18.7 KB |
git-sh-setup.sh | -rwxr-xr-x | 2.9 KB |
git-stash.sh | -rwxr-xr-x | 4.5 KB |
git-submodule.sh | -rwxr-xr-x | 6.3 KB |
git-svn.perl | -rwxr-xr-x | 115.5 KB |
git-svnimport.perl | -rwxr-xr-x | 24.2 KB |
git.c | -rw-r--r-- | 13.1 KB |
git.spec.in | -rw-r--r-- | 8.0 KB |
gitk | -rwxr-xr-x | 215.1 KB |
grep.c | -rw-r--r-- | 12.7 KB |
grep.h | -rw-r--r-- | 1.6 KB |
hash-object.c | -rw-r--r-- | 1.9 KB |
help.c | -rw-r--r-- | 4.6 KB |
http-fetch.c | -rw-r--r-- | 25.9 KB |
http-push.c | -rw-r--r-- | 66.5 KB |
http.c | -rw-r--r-- | 11.4 KB |
http.h | -rw-r--r-- | 2.5 KB |
ident.c | -rw-r--r-- | 5.7 KB |
imap-send.c | -rw-r--r-- | 28.5 KB |
index-pack.c | -rw-r--r-- | 21.8 KB |
interpolate.c | -rw-r--r-- | 2.0 KB |
interpolate.h | -rw-r--r-- | 601 bytes |
list-objects.c | -rw-r--r-- | 4.5 KB |
list-objects.h | -rw-r--r-- | 382 bytes |
local-fetch.c | -rw-r--r-- | 6.0 KB |
lockfile.c | -rw-r--r-- | 4.4 KB |
log-tree.c | -rw-r--r-- | 10.1 KB |
log-tree.h | -rw-r--r-- | 386 bytes |
mailmap.c | -rw-r--r-- | 2.2 KB |
mailmap.h | -rw-r--r-- | 213 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.4 KB |
merge-recursive.c | -rw-r--r-- | 44.4 KB |
merge-tree.c | -rw-r--r-- | 7.9 KB |
mktag.c | -rw-r--r-- | 3.7 KB |
mktree.c | -rw-r--r-- | 3.1 KB |
object-refs.c | -rw-r--r-- | 2.0 KB |
object.c | -rw-r--r-- | 5.5 KB |
object.h | -rw-r--r-- | 2.3 KB |
pack-check.c | -rw-r--r-- | 5.1 KB |
pack-redundant.c | -rw-r--r-- | 14.9 KB |
pack-write.c | -rw-r--r-- | 4.7 KB |
pack.h | -rw-r--r-- | 2.0 KB |
pager.c | -rw-r--r-- | 1.2 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-- | 4.7 KB |
patch-ids.h | -rw-r--r-- | 490 bytes |
path-list.c | -rw-r--r-- | 2.3 KB |
path-list.h | -rw-r--r-- | 596 bytes |
path.c | -rw-r--r-- | 7.6 KB |
peek-remote.c | -rw-r--r-- | 1.4 KB |
pkt-line.c | -rw-r--r-- | 2.5 KB |
pkt-line.h | -rw-r--r-- | 348 bytes |
progress.c | -rw-r--r-- | 2.6 KB |
progress.h | -rw-r--r-- | 605 bytes |
quote.c | -rw-r--r-- | 8.0 KB |
quote.h | -rw-r--r-- | 2.0 KB |
reachable.c | -rw-r--r-- | 5.5 KB |
reachable.h | -rw-r--r-- | 127 bytes |
read-cache.c | -rw-r--r-- | 28.7 KB |
receive-pack.c | -rw-r--r-- | 12.1 KB |
reflog-walk.c | -rw-r--r-- | 6.7 KB |
reflog-walk.h | -rw-r--r-- | 383 bytes |
refs.c | -rw-r--r-- | 34.6 KB |
refs.h | -rw-r--r-- | 2.4 KB |
remote.c | -rw-r--r-- | 14.5 KB |
remote.h | -rw-r--r-- | 1018 bytes |
revision.c | -rw-r--r-- | 37.6 KB |
revision.h | -rw-r--r-- | 3.1 KB |
rsh.c | -rw-r--r-- | 1.7 KB |
rsh.h | -rw-r--r-- | 158 bytes |
run-command.c | -rw-r--r-- | 3.5 KB |
run-command.h | -rw-r--r-- | 1.2 KB |
send-pack.c | -rw-r--r-- | 10.2 KB |
server-info.c | -rw-r--r-- | 5.2 KB |
setup.c | -rw-r--r-- | 8.3 KB |
sha1_file.c | -rw-r--r-- | 60.3 KB |
sha1_name.c | -rw-r--r-- | 16.0 KB |
shallow.c | -rw-r--r-- | 2.3 KB |
shell.c | -rw-r--r-- | 1.1 KB |
show-index.c | -rw-r--r-- | 2.1 KB |
sideband.c | -rw-r--r-- | 1.9 KB |
sideband.h | -rw-r--r-- | 335 bytes |
ssh-fetch.c | -rw-r--r-- | 3.6 KB |
ssh-pull.c | -rw-r--r-- | 154 bytes |
ssh-push.c | -rw-r--r-- | 155 bytes |
ssh-upload.c | -rw-r--r-- | 2.8 KB |
strbuf.c | -rw-r--r-- | 767 bytes |
strbuf.h | -rw-r--r-- | 216 bytes |
symlinks.c | -rw-r--r-- | 862 bytes |
tag.c | -rw-r--r-- | 2.8 KB |
tag.h | -rw-r--r-- | 471 bytes |
tar.h | -rw-r--r-- | 644 bytes |
test-absolute-path.c | -rw-r--r-- | 147 bytes |
test-chmtime.c | -rw-r--r-- | 1.2 KB |
test-date.c | -rw-r--r-- | 378 bytes |
test-delta.c | -rw-r--r-- | 1.8 KB |
test-genrandom.c | -rw-r--r-- | 731 bytes |
test-match-trees.c | -rw-r--r-- | 588 bytes |
test-sha1.c | -rw-r--r-- | 815 bytes |
test-sha1.sh | -rwxr-xr-x | 1.9 KB |
trace.c | -rw-r--r-- | 3.9 KB |
tree-diff.c | -rw-r--r-- | 10.8 KB |
tree-walk.c | -rw-r--r-- | 4.3 KB |
tree-walk.h | -rw-r--r-- | 1.2 KB |
tree.c | -rw-r--r-- | 7.3 KB |
tree.h | -rw-r--r-- | 860 bytes |
unpack-file.c | -rw-r--r-- | 772 bytes |
unpack-trees.c | -rw-r--r-- | 21.5 KB |
unpack-trees.h | -rw-r--r-- | 940 bytes |
update-server-info.c | -rw-r--r-- | 457 bytes |
upload-pack.c | -rw-r--r-- | 16.3 KB |
usage.c | -rw-r--r-- | 1.9 KB |
utf8.c | -rw-r--r-- | 9.9 KB |
utf8.h | -rw-r--r-- | 388 bytes |
var.c | -rw-r--r-- | 1.3 KB |
write_or_die.c | -rw-r--r-- | 2.3 KB |
wt-status.c | -rw-r--r-- | 9.3 KB |
wt-status.h | -rw-r--r-- | 566 bytes |
xdiff-interface.c | -rw-r--r-- | 4.5 KB |
xdiff-interface.h | -rw-r--r-- | 632 bytes |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...