path_excluded(): update API to less cache-entry centric

It was stupid of me to make the API too much cache-entry specific;
the caller may want to check arbitrary pathname without having a
corresponding cache-entry to see if a path is ignored.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/add.c: use path_excluded()

This only happens in --ignore-missing --dry-run codepath which
presumably nobody should care, but is for completeness.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
unpack-trees.c: use path_excluded() in check_ok_to_remove()

This function is responsible for determining if a path that is not
tracked is ignored and allow "checkout" to overwrite it as needed.
It used excluded() without checking if higher level directory in the
path is ignored; correct it to use path_excluded() for this check.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---

 * There are uses of lower-level interface excluded_from_list() in
   the codepath for narrow-checkout hack; they are supposed to be
   already checking each level as they descend, and are not touched
   with this patch.
dir.c: make excluded() file scope static

Now there no longer is external callers of this interface, so we can
make it static.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'cr/persistent-https' into jch

A remote helper that acts as a proxy that caches ssl session for the
https:// transport is added to the contrib/ area.

Will merge to master.

By Colby Ranger
* cr/persistent-https:
  Add persistent-https to contrib
Merge branch 'rr/maint-t3510-cascade-fix' into jch

Will merge to master.

By Ramkumar Ramachandra
* rr/maint-t3510-cascade-fix:
  t3510 (cherry-pick-sequence): add missing '&&'
Merge branch 'jc/svn-auth-providers-unusable-at-1.6.12' into jch

Regression fix for people with libsvn between 1.6.12 and 1.6.15 on
which we tried to use non-working platform auth providers.

Will merge to master.

* jc/svn-auth-providers-unusable-at-1.6.12:
  git-svn: platform auth providers are working only on 1.6.15 or newer
Merge branch 'mm/api-credentials-doc' into jch

Will merge to master.

By Matthieu Moy (3) and Junio C Hamano (1)
* mm/api-credentials-doc:
  api-credentials.txt: add "see also" section
  api-credentials.txt: mention credential.helper explicitly
  api-credentials.txt: show the big picture first
  doc: fix xref link from api docs to manual pages
Merge branch 'jk/version-string' into jch

I am somewhat tempted to merge this to master before 1.7.11 final.
Thoughts?

By Jeff King
* jk/version-string:
  http: get default user-agent from git_user_agent
  version: add git_user_agent function
  move git_version_string into version.c
Merge branch 'jk/clone-local' into jch

"git clone --local $path" started its life as an experiment to
optionally use link/copy when cloning a repository on the disk, but
we didn't deprecate it after we made the option a no-op to always
use the optimization.

Not urgent; probably early post 1.7.11.

By Jeff King
* jk/clone-local:
  clone: allow --no-local to turn off local optimizations
  docs/clone: mention that --local may be ignored
Merge branch 'jk/no-more-asciidoc7' into jch

Not urgent; probably early post 1.7.11.

By Jeff King
* jk/no-more-asciidoc7:
  docs: drop antique comment from Makefile
  docs: drop asciidoc7compatible flag
Merge branch 'jc/request-pull-match-tagname' into jch

"git request-pull $url dev" when the tip of "dev" branch was tagged
with "ext4-for-linus" used the contents from the tag in the output
but still asked the "dev" branch to be pulled, not the tag.

Not urgent; probably early post 1.7.11.

* jc/request-pull-match-tagname:
  request-pull: really favor a matching tag
Merge branch 'jc/bundle-complete-notice' into jch

Running "git bundle verify" on a bundle that records a complete
history said "it requires these 0 commits".

Not urgent; probably early post 1.7.11.

* jc/bundle-complete-notice:
  tweak "bundle verify" of a complete history
Merge branch 'jc/ls-files-i-dir' (early part) into jch

* 'jc/ls-files-i-dir' (early part):
  ls-files -i: micro-optimize path_excluded()
  ls-files -i: pay attention to exclusion of leading paths
Merge branch 'jc/ls-files-i-dir' into pu

"git ls-files --exclude=t -i" did not consider anything under t/
as excluded, as it did not pay attention to exclusion of leading
paths while walking the index.  Other two users of excluded() are
also updated.

Not urgent.

* jc/ls-files-i-dir:
  dir.c: make excluded() file scope static
  unpack-trees.c: use path_excluded() in check_ok_to_remove()
  builtin/add.c: use path_excluded()
  path_excluded(): update API to less cache-entry centric
Merge branch 'db/vcs-svn' into pu

I do not know the doneness of this series that came out of the
blue.  Are people involved in vcs-svn happy with this series?

By David Barr
* db/vcs-svn:
  vcs-svn: drop no-op reset methods
  vcs-svn: fix signedness warnings
  vcs-svn: prefer strstr over memmem
  vcs-svn: prefer constcmp to prefixcmp
  vcs-svn: simplify cleanup in apply_one_window()
  vcs-svn: fix clang-analyzer error
Merge branch 'nd/stream-index-pack' into pu

Use streaming API to read from the object store to avoid having to hold
a large blob object in-core while running index-pack.

Not urgent; probably early post 1.7.11.

By Nguyễn Thái Ngọc Duy
* nd/stream-index-pack:
  index-pack: use streaming interface for collision test on large blobs
  index-pack: factor out unpack core from get_data_from_pack
  index-pack: use streaming interface on large blobs (most of the time)
  index-pack: hash non-delta objects while reading from stream
Merge branch 'nd/stream-pack-objects' into pu

Not urgent; probably early post 1.7.11.

By Nguyễn Thái Ngọc Duy
* nd/stream-pack-objects:
  pack-objects: use streaming interface for reading large loose blobs
Merge branch 'jk/no-more-pre-exec-callback' into pu

On hold for 6 months until ancient "less" goes extinct.

By Jeff King
* jk/no-more-pre-exec-callback:
  pager: drop "wait for output to run less" hack
Merge branch 'jc/merge-annotated-tag' into pu

"git merge anno" created a merge commit even when anno is an
unsigned annotated tag that points at a commit that can be fast
forwarded to; this came from a laziness of the implementation of
merging of signed tags in 1.7.9, and can be worked around by saying
"git merge --ff-only anno", so it is not really necessariy, but is
here for completeness.

Not urgent.

* jc/merge-annotated-tag:
  merge: allow fast-forwarding to an annotated but unsigned tag
  merge: separte the logic to check for a signed tag

Conflicts:
	builtin/merge.c