* upstream: (1173 commits)
Update CHANGELOG with the release number
filter: add docs for streaming filters
iterator_walk: cast away constness for free
filter::stream: free the filter sanely
submodule: correctly delimit the keys to use for lookup
submodule: add failing test for loading the wrong submodule
submodule: completely remove reload_all
Fix 8.3 filename tests failure when 8.3 is disabled
Fix#3093 - remove declaration of unused function git_fetch__download_pack
http: fixed leak when asking for credentials again
index tests: add eol to avoid compiler warning
checkout test: mark unused vars
winhttp: remove unused var
posix compat: include sys/stat.h for mingw
diff: use size_t format
fix memory leak in refspec.c on errors.
checkout test: check getcwd return value
clar: test chdir
filter test: pass base type
examples: clean up some warnings
...
Don't use the filter's free callback to free the actual data structure
holding the filter, as we may not always actually initialize it (the
test may be skipped).
The regex we use to look at the gitmodules file does not correctly
delimit the name of submodule which we want to look up and puts '.*'
straight after the name, maching on any submodule which has the seeked
submodule as a prefix of its name.
Add the missing '\.' in the regex so we want a full stop to exist both
before and after the submodule name.
The function was removed, but its declaration and changelog entry about
its removal were forgotten.
The comment in the test doesn't make any sense as the function doesn't
exist anymore, so get rid of it as well.
Function was added in commit 2c982daa2e on October 5, 2011,
and removed in commit 41fb1ca0ec on October 29, 2012.
Given the length of time it's gone unused, it's safe to remove now.
Because of the fact that pkg-config is pants-on-head retarded and that
the Linux linker *requires* a static library to come before all its
dynamic dependencies in the link path, calling `pkg-config --libs
--static` was generating the wrong flags for linking.
Before this patch:
-Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/local/lib -lcurl -lssh2
-lrt -lgit2 -lssl -lcrypto -ldl -lz
After this patch:
-Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/local/lib -lgit2 -lcurl
-lssh2 -lrt -lssl -lcrypto -ldl -lz
By setting the "Libs" line before all other rules, we make sure that
`-lgit2` is the first library in the link path and that it gets its
symbols resolved with the libraries coming after it.
This fix (ab)uses an implementation detail in `pkg-config` (namely, that
flags are output as they are found on the file), but this detail seems
to be stable between releases and always gives a stable output.