git-commit-vandalism/builtin
Adam Spiers 0c8e8c080b check-ignore: allow incremental streaming of queries via --stdin
Some callers, such as the git-annex web assistant, find it useful to
invoke git check-ignore as a persistent background process, which can
then have queries fed to its STDIN at any point, and the corresponding
response consumed from its STDOUT.  For this we need to invoke
check_ignore() once per line of standard input, and flush standard
output after each result.

The above use case suggests that empty STDIN is actually a reasonable
scenario (e.g. when the caller doesn't know in advance whether any
queries need to be fed to the background process until after it's
already started), so we make the minor behavioural change that "no
pathspec given." is no longer emitted in when STDIN is empty.

Even though check_ignore() could now be changed to operate on a single
pathspec, we keep it operating on an array of pathspecs since that is
a more convenient way of consuming the existing pathspec API.

Signed-off-by: Adam Spiers <git@adamspiers.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-04-11 11:01:59 -07:00
..
add.c add.c: extract new die_if_path_beyond_symlink() for reuse 2013-01-06 14:26:37 -08:00
annotate.c
apply.c Merge branch 'jc/apply-binary-p0' into maint-1.7.11 2012-09-12 14:00:53 -07:00
archive.c
bisect--helper.c
blame.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
branch.c branch: remove lego in i18n tracking info strings 2012-05-04 09:12:24 -07:00
bundle.c
cat-file.c Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
check-attr.c
check-ignore.c check-ignore: allow incremental streaming of queries via --stdin 2013-04-11 11:01:59 -07:00
check-ref-format.c
checkout-index.c
checkout.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
clean.c clean.c, ls-files.c: respect encapsulation of exclude_list_groups 2013-01-16 09:43:35 -08:00
clone.c Merge branch 'ar/clone-honor-umask-at-top' into maint 2012-07-22 13:04:05 -07:00
column.c Add column layout skeleton and git-column 2012-04-27 09:26:37 -07:00
commit-tree.c Merge branch 'kk/maint-1.7.9-commit-tree' into kk/maint-commit-tree 2012-07-17 13:10:49 -07:00
commit.c split_ident_line(): make best effort when parsing author/committer line 2012-08-31 14:54:18 -07:00
config.c config: "git config baa" should exit with status 1 2012-07-30 08:51:26 -07:00
count-objects.c
describe.c
diff-files.c
diff-index.c
diff-tree.c
diff.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
fast-export.c Merge branch 'js/fast-export-paths-with-spaces' into maint 2012-07-22 13:00:45 -07:00
fetch-pack.c Merge branch 'jk/fetch-pack-remove-dups-optim' 2012-05-29 13:09:08 -07:00
fetch.c Merge branch 'mb/fetch-call-a-non-branch-a-ref' into maint 2012-05-03 15:29:25 -07:00
fmt-merge-msg.c Merge branch 'jc/fmt-merge-msg-people' 2012-06-12 08:33:30 -07:00
for-each-ref.c for-each-ref: Fix sort with multiple keys 2012-08-21 14:42:12 -07:00
fsck.c
gc.c gc: use argv-array for sub-commands 2012-04-18 16:17:42 -07:00
grep.c Merge branch 'mm/verify-filename-fix' into maint 2012-07-11 12:45:49 -07:00
hash-object.c
help.c Merge branch 'nd/columns' 2012-05-03 15:13:31 -07:00
index-pack.c index-pack: Disable threading on cygwin 2012-06-26 14:23:03 -07:00
init-db.c
log.c log: fix --quiet synonym for -s 2012-08-28 15:37:29 -07:00
ls-files.c clean.c, ls-files.c: respect encapsulation of exclude_list_groups 2013-01-16 09:43:35 -08:00
ls-remote.c
ls-tree.c
mailinfo.c
mailsplit.c
merge-base.c
merge-file.c remove superfluous newlines in error messages 2012-04-30 15:45:51 -07:00
merge-index.c
merge-ours.c
merge-recursive.c
merge-tree.c
merge.c Merge branch 'tr/void-diff-setup-done' into maint-1.7.11 2012-09-11 10:53:40 -07:00
mktag.c
mktree.c
mv.c
name-rev.c
notes.c
pack-objects.c pack-objects: refactor write_object() into helper functions 2012-05-18 14:22:15 -07:00
pack-redundant.c
pack-refs.c
patch-id.c
prune-packed.c
prune.c
push.c Merge branch 'ct/advise-push-default' into maint 2012-05-11 11:18:43 -07:00
read-tree.c
receive-pack.c receive-pack: do not leak output from auto-gc to standard output 2012-08-06 22:31:10 -07:00
reflog.c
remote-ext.c
remote-fd.c
remote.c remote: fix typo 2012-05-20 18:48:10 -07:00
replace.c
rerere.c
reset.c verify_filename(): ask the caller to chose the kind of diagnosis 2012-06-18 15:21:42 -07:00
rev-list.c Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint 2012-05-14 11:46:16 -07:00
rev-parse.c specifying ranges: we did not mean to make ".." an empty set 2012-08-23 14:37:49 -07:00
revert.c Merge branch 'cc/fix-missing-va-end-in-revert' into maint 2012-05-10 10:32:43 -07:00
rm.c i18n: git-rm basic messages 2011-03-09 23:52:56 -08:00
send-pack.c teach send-pack about --[no-]progress 2012-05-01 09:40:30 -07:00
shortlog.c
show-branch.c
show-ref.c
stripspace.c
symbolic-ref.c
tag.c ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT 2012-05-24 17:16:41 -07:00
tar-tree.c
unpack-file.c
unpack-objects.c remove superfluous newlines in error messages 2012-04-30 15:45:51 -07:00
update-index.c Merge branch 'hv/submodule-update-nuke-submodules' into maint 2012-07-11 12:46:31 -07:00
update-ref.c
update-server-info.c
upload-archive.c
var.c ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT 2012-05-24 17:16:41 -07:00
verify-pack.c
verify-tag.c
write-tree.c