- 10 Jul, 2013 24 commits
-
-
This is a simple bit vector object that is not resizable after the initial allocation but can be of arbitrary size. It will keep the bti vector entirely on the stack for vectors 64 bits or less, and will allocate the vector on the heap for larger sizes. The API is uniform regardless of storage location. This is very basic right now and all the APIs are inline functions, but it is useful for storing an array of boolean values.
Russell Belfer committed -
Russell Belfer committed
-
This converts the array of parent SHAs from a git_vector where each SHA has to be separately allocated to a git_array_t where all the SHAs can be kept in one block. Since the two collections have almost identical APIs, there isn't much involved in making the change. I did add an API to git_array_t so that it could be allocated at a precise initial size.
Russell Belfer committed -
Russell Belfer committed
-
This fixes the way the example log program decides if a merge commit should be shown when a pathspec is given. Also makes it easier to use the pathspec API to just check "does a tree match anything in the pathspec" without allocating a match list.
Russell Belfer committed -
Russell Belfer committed
-
Russell Belfer committed
-
Russell Belfer committed
-
Russell Belfer committed
-
Russell Belfer committed
-
Russell Belfer committed
-
Russell Belfer committed
-
This adds more command line processing to the example version of log. In particular, this adds the funky command line processing that allows an arbitrary series of revisions followed by an arbitrary number of paths and/or glob patterns. The actual logging part still isn't implemented.
Russell Belfer committed -
This adds a new public API for compiling pathspecs and matching them against the working directory, the index, or a tree from the repository. This also reworks the pathspec internals to allow the sharing of code between the existing internal usage of pathspec matching and the new external API. While this is working and the new API is ready for discussion, I think there is still an incorrect behavior in which patterns are always matched against the full path of an entry without taking the subdirectories into account (so "s*" will match "subdir/file" even though it wouldn't with core Git). Further enhancements are coming, but this was a good place to take a functional snapshot.
Russell Belfer committed -
Russell Belfer committed
-
Try harder not to double free index entries
Vicent Martí committed -
PR 1706 plus error reporting cleanups
Vicent Martí committed -
Russell Belfer committed
-
The SSH error checking and reporting could still be further improved by using the libssh2 native methods to get error info, but at least this ensures that all error codes are checked and translated into libgit2 error messages.
Russell Belfer committed -
Conflicts: src/transports/ssh.c
Russell Belfer committed -
Etienne Samson committed
-
Etienne Samson committed
-
Remove GIT_STATUS_SHOW_INDEX_THEN_WORKDIR option
Vicent Martí committed -
API should not be ifdeffed
Vicent Martí committed
-
- 09 Jul, 2013 12 commits
-
-
Fix git_config_get_multivar with interleaved missing entries
Vicent Martí committed -
Russell Belfer committed
-
The old tests didn't try failing lookups or lookups across multiple config files with some having the pattern and some not having it.
Russell Belfer committed -
If there is not an error, the return value was always the return value of the last call to file->get_multivar With this commit GIT_ENOTFOUND is only returned if all the calls to filge-get_multivar return GIT_ENOTFOUND.
J. David Ibáñez committed -
This also adds a test that actually calls git_libgit2_capabilities and git_libgit2_version.
Russell Belfer committed -
This makes all of the credential objects use the same pattern to clear the contents and call git__memzero when done. Much of this information is probably not sensitive, but it also seems better to just clear consistently.
Russell Belfer committed -
Russell Belfer committed
-
Null byte in hunk header
Russell Belfer committed -
Much of the SSH credential creation API can be left enabled even on platforms with no SSH support. We really just have to give an error when you attempt to open the SSH connection.
Russell Belfer committed -
The SSH APIs will just return an error code and state that the library was built without SSH support if they are called in that case.
Russell Belfer committed -
Make the git_signature `const` in the stash API.
Vicent Martí committed -
Etienne Samson committed
-
- 05 Jul, 2013 2 commits
-
-
The diff hunk context string that is returned to xdiff need not be NUL terminated because the xdiff code just copies the number of bytes that you report directly into the output. There was an off by one in the diff driver code when the header context was longer than the output buffer size, the output buffer length included the NUL byte which was copied into the hunk header. Fixes #1710
Russell Belfer committed -
Segmentation fault on git_clone
Russell Belfer committed
-
- 03 Jul, 2013 2 commits
-
-
Etienne Samson committed
-
Fixes #1700.
Etienne Samson committed
-