summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* http: don't give up on auth on the first trycmn/release-fixupsCarlos Martín Nieto2015-06-291-2/+1
| | | | | When the server rejects an authentication request, ask the caller for the credentials again, instead of giving up on the first try.
* submodule: remove trailing slashes from submodule pathsCarlos Martín Nieto2015-06-292-4/+15
| | | | | We allow looking up a submodule by path, but we lost the path normalisation during the recent changes. Bring it back.
* submodule: remove some obsolete logicCarlos Martín Nieto2015-06-291-19/+0
| | | | | Remove some of the logic that was left-over from the time we had a cache of submodules, plugging a leak of the submodule object in certain cases.
* CHANGELOG: add submodule changesv0.23.0-rc1Carlos Martín Nieto2015-06-291-2/+23
|
* Merge pull request #3268 from libgit2/vmg/pkg-config-sortVicent Marti2015-06-291-2/+4
|\ | | | | pkg-config: Sort the different sections
| * pkg-config: Sort the different sectionsvmg/pkg-config-sortVicent Marti2015-06-291-2/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Bump version to 0.23.0 and SOVERSION to 23Carlos Martín Nieto2015-06-281-3/+3
|
* Merge pull request #3267 from libgit2/cmn/libs-listCarlos Martín Nieto2015-06-281-10/+14
|\ | | | | CMake: treat the ld flags as a list
| * CMake: treat the ld flags as a listCarlos Martín Nieto2015-06-281-10/+14
|/ | | | | | | | | These are treated as a list by CMake itself, which means that treating them as a simple string can put semicolons in our ld command-line if we have libraries which are not installed on the standard locations. Treat the variable as a CMake list and replace it with the space-delimited list just before writing it out to our pc file.
* Merge pull request #3265 from libgit2/leaksCarlos Martín Nieto2015-06-277-8/+42
|\ | | | | Plug a bunch of leaks
| * index, iterator, fetchhead: plug leaksleaksCarlos Martín Nieto2015-06-263-1/+10
| |
| * checkout: plug a few leaksCarlos Martín Nieto2015-06-261-5/+15
| |
| * diff: fix leaks in diff printingCarlos Martín Nieto2015-06-263-2/+17
| |
* | Merge pull request #3260 from ethomson/apply_with_reflog_indicesCarlos Martín Nieto2015-06-271-0/+34
|\ \ | | | | | | stash: test we apply using reflog-like indices
| * | stash: test we apply using reflog-like indicesEdward Thomson2015-06-261-0/+34
| |/
* | Merge pull request #3264 from arthurschreiber/fast-buildsCarlos Martín Nieto2015-06-273-10/+12
|\ \ | | | | | | Fast builds?
| * | Remove dependency installation file for travis builds.Arthur Schreiber2015-06-271-6/+0
| | | | | | | | | | | | We're installing dependencies via the APT addon now.
| * | Always install valgrind via the apt addon.Arthur Schreiber2015-06-271-1/+1
| | |
| * | Don't try to start ssh.Arthur Schreiber2015-06-261-2/+0
| | |
| * | Fast builds?Arthur Schreiber2015-06-261-1/+11
| |/
* | Merge pull request #3263 from git-up/fixesCarlos Martín Nieto2015-06-264-4/+2
|\ \ | |/ |/| Fixes
| * Removed unused variablesPierre-Olivier Latour2015-06-262-2/+0
| |
| * Fixed build failure if GIT_CURL is not definedPierre-Olivier Latour2015-06-262-2/+2
| |
* | Merge pull request #3259 from ethomson/stash_apply_arghCarlos Martín Nieto2015-06-266-95/+323
|\ \ | | | | | | Stash apply: stage new files even when not updating the index
| * | stash: stage new files when unstashing themEdward Thomson2015-06-252-2/+128
| | | | | | | | | | | | | | | Files that were new (staged additions) in the stash tree should be staged when unstashing, even when not applying the index.
| * | iterator: provide git_iterator_walkEdward Thomson2015-06-253-86/+133
| | | | | | | | | | | | | | | Provide `git_iterator_walk` to walk each iterator in lockstep, returning each iterator's idea of the contents of the next path.
| * | stash: don't allow apply with staged changesEdward Thomson2015-06-253-1/+45
| | |
| * | stash apply: add a newly staged file to testsEdward Thomson2015-06-251-8/+19
| | |
* | | Merge pull request #3262 from libgit2/vmg/prefix-lenCarlos Martín Nieto2015-06-263-19/+34
|\ \ \ | |_|/ |/| | Desenfuckenate prefix lookups
| * | test-diff-blob: Pass proper nibble sizesvmg/prefix-lenVicent Marti2015-06-261-14/+14
| | |
| * | revparse: Add test to make sure this doesn't regressVicent Marti2015-06-261-0/+15
| | |
| * | Revert "object: correct the expected ID size in prefix lookup"Vicent Marti2015-06-261-5/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | This reverts commit 969d4b703c910a8fd045baafbcd243b4c9825316. This was a fluke from Coverity. The length to all the APIs in the library is supposed to be passed in as nibbles, not bytes. Passing it as bytes would prevent us from parsing uneven-sized SHA1 strings. Also, the rest of the library was still using nibbles (including revparse and the odb_prefix APIs), so this change was seriously breaking things in unexpected ways. ^^
* | Merge pull request #3261 from libgit2/cmn/link-one-levelCarlos Martín Nieto2015-06-261-3/+3
|\ \ | | | | | | pc: Put libcurl and libssh2 in Libs.private
| * | pc: Put libcurl and libssh2 in Libs.privatecmn/link-one-levelCarlos Martín Nieto2015-06-261-3/+3
|/ / | | | | | | | | | | | | | | Pass on to whoever wants to link to libgit2 statically the flags that we would have used for these libraries. Putting them in Requires.private as we do now makes pkg-config put their dependencies in the linker arguments as well, which is not what we want.
* | Merge pull request #3234 from ethomson/dont_update_index_unnecessarilyCarlos Martín Nieto2015-06-263-9/+74
|\ \ | | | | | | Dont update index unnecessarily
| * | Only write index if updated when passing GIT_DIFF_UPDATE_INDEXPierre-Olivier Latour2015-06-262-2/+5
| | | | | | | | | | | | | | | | | | When diffing the index with the workdir and GIT_DIFF_UPDATE_INDEX has been passed, the previous implementation was always writing the index to disk even if it wasn't modified.
| * | diff: test we don't update index unnecessarilyEdward Thomson2015-06-261-7/+69
|/ / | | | | | | | | Test that workdir diffs, when presented with UPDATE_INDEX, only write the index when they actually make a change.
* | Merge pull request #3255 from libgit2/cmn/rename-unspecifiedEdward Thomson2015-06-2513-26/+26
|\ \ | | | | | | Rename FALLBACK to UNSPECIFIED
| * | Rename FALLBACK to UNSPECIFIEDcmn/rename-unspecifiedCarlos Martín Nieto2015-06-2513-26/+26
| | | | | | | | | | | | | | | Fallback describes the mechanism, while unspecified explains what the user is thinking.
* | | Merge pull request #3258 from arthurschreiber/patch-6Carlos Martín Nieto2015-06-261-0/+1
|\ \ \ | |_|/ |/| | List `libcurl` in the generated `libgit2.pc`
| * | List `libcurl` in the generated `libgit2.pc`Arthur Schreiber2015-06-251-0/+1
|/ /
* | Merge pull request #3256 from libgit2/cmn/fetch-spec-fetchheadEdward Thomson2015-06-252-3/+58
|\ \ | | | | | | remote: insert refspecs with no rhs in FETCH_HEAD
| * | remote: insert refspecs with no rhs in FETCH_HEADcmn/fetch-spec-fetchheadCarlos Martín Nieto2015-06-252-3/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | When a refspec contains no rhs and thus won't cause an explicit update, we skip all the logic, but that means that we don't update FETCH_HEAD with it, which is what the implicit rhs is. Add another bit of logic which puts those remote heads in the list of updates so we put them into FETCH_HEAD.
* | | Merge pull request #3246 from libgit2/cmn/dont-grow-borrowedEdward Thomson2015-06-257-15/+35
|\ \ \ | |_|/ |/| | Don't allow growing borrowed buffers
| * | Add CHANGELOG entriescmn/dont-grow-borrowedCarlos Martín Nieto2015-06-241-0/+6
| | |
| * | buffer: make use of EINVALID for growing a borrowed bufferCarlos Martín Nieto2015-06-242-3/+5
| | | | | | | | | | | | | | | This explains more closely what happens. While here, set an error message.
| * | errors: introduce EINVALIDCarlos Martín Nieto2015-06-241-0/+1
| | | | | | | | | | | | | | | We've been using EINVALIDSPEC for a while to mean this, but that name is too specific. Introduce this to be more explicit.
| * | blob: don't recomment using git_buf_growCarlos Martín Nieto2015-06-241-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | We currently recommend using `git_buf_grow` in order to make a buffer make an owned copy of the memory it points to. This is not behaviour we should encourage, so remove this recommendation. The function itself is not changed, as we need to remain compatible, but it will be changed not to allow usage on borrowed buffers.
| * | buffer: don't allow growing borrowed buffersCarlos Martín Nieto2015-06-244-9/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we don't own a buffer (asize=0) we currently allow the usage of grow to copy the memory into a buffer we do own. This muddles the meaning of grow, and lets us be a bit cavalier with ownership semantics. Don't allow this any more. Usage of grow should be restricted to buffers which we know own their own memory. If unsure, we must not attempt to modify it.
* | | Merge pull request #3097 from libgit2/cmn/submodule-config-stateCarlos Martín Nieto2015-06-2420-1015/+616
|\ \ \ | | | | | | | | Remove run-time configuration settings from submodules