- 11 Mar, 2016 2 commits
-
-
Patrick Steinhardt committed
-
When computing a short OID we do this by first copying the leading parts into the new OID structure and then setting the trailing part to zero. In the case of the desired length being `GIT_OID_HEXSZ - 1` we will call `memset` with an out of bounds pointer and a length of 0. While this seems to cause no problems for common platforms the C89 standard does not explicitly state that calling `memset` with an out of bounds pointer and length of 0 is valid. Fix the potential issue by using the newly introduced `git_oid__cpy_prefix` function.
Patrick Steinhardt committed
-
- 10 Mar, 2016 2 commits
-
-
When parsing a section header we expect something along the format of '[section "subsection"]'. When a section is mal-formated and is entirely missing its quotation marks we catch this case by observing that `strchr(line, '"') - strrchr(line, '"') = NULL - NULL = 0` and error out. Unfortunately, the error message is misleading though, as we state that we are missing the closing quotation mark while we in fact miss both quotation marks. Improve the error message by explicitly checking if the first quotation mark could be found and, if not, stating that quotation marks are completely missing.
Patrick Steinhardt committed -
Patrick Steinhardt committed
-
- 09 Mar, 2016 10 commits
-
-
rebase: additional setup tests of exotic behavior
Carlos Martín Nieto committed -
appveyor: stop if the first test fails
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Fixes for `gid_odb_expand_ids`
Edward Thomson committed -
Vicent Marti committed
-
Vicent Marti committed
-
Vicent Marti committed
-
mwindow: free unused windows if we fail to mmap
Edward Thomson committed -
The first time may be due to memory fragmentation or just bad luck on a 32-bit system. When we hit the mmap error for the first time, free up the unused windows and try again.
Carlos Martín Nieto committed -
The old implementation had two issues: 1. OIDs that were too short as to be ambiguous were not being handled properly. 2. If the last OID to expand in the array was missing from the ODB, we would leak a `GIT_ENOTFOUND` error code from the function.
Vicent Marti committed
-
- 08 Mar, 2016 10 commits
-
-
Introduce `git_odb_expand_ids`
Vicent Marti committed -
Take (and write to) an array of a struct, `git_odb_expand_id`.
Edward Thomson committed -
Edward Thomson committed
-
Support for ssh+git and git+ssh protocols
Edward Thomson committed -
commit: split creating the commit and writing it out
Edward Thomson committed -
Sometimes you want to create a commit but not write it out to the objectdb immediately. For these cases, provide a new function to retrieve the buffer instead of having to go through the db.
Carlos Martín Nieto committed -
Enable nanosecond resolution by default
Carlos Martín Nieto committed -
Instead of hoping that we can get a racy entry by going real fast and praying real hard, just create a racy entry.
Edward Thomson committed -
Update link to Pro Git's Git internals chapter
Edward Thomson committed -
Patrick McKenna committed
-
- 07 Mar, 2016 4 commits
-
-
If the underlying filesystem doesn't support better than one second resolution, then don't expect that turning on `GIT_USE_NSEC` does anything magical to change that.
Edward Thomson committed -
Query the object database for multiple objects at a time, given their object ID (which may be abbreviated) and optional type.
Edward Thomson committed -
When looking up an abbreviated oid, show the actual (abbreviated) oid the caller passed instead of a full (but ambiguously truncated) oid.
Edward Thomson committed -
Update unit test to use newfangled `st_ctime_nsec`, which provides indirection to the platform-correct name.
Edward Thomson committed
-
- 04 Mar, 2016 2 commits
-
-
treebuilder: don't try to verify submodules exist in the odb
Edward Thomson committed -
Submodules don't exist in the objectdb and the code is making us try to look for a blob with its commit id, which is obviously not going to work. Skip the test if the user wants to insert a submodule.
Carlos Martín Nieto committed
-
- 03 Mar, 2016 10 commits
-
-
ssh: initialize libssh2
Edward Thomson committed -
We should have been doing this, but it initializes itself upon first use, which works as long as nobody's doing concurrent network operations. Initialize it on our init to make sure it's not getting initialized concurrently.
Carlos Martín Nieto committed -
Expand OpenSSL and libssh2 thread safety documentation
Carlos Martín Nieto committed -
Nanosecond resolution is now the default in git itself. Enable this as our default as well.
Edward Thomson committed -
Carlos Martín Nieto committed
-
Carlos Martín Nieto committed
-
Carlos Martín Nieto committed
-
Carlos Martín Nieto committed
-
test: make sure we retry the auth callback on all platforms
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-