- 10 Jul, 2013 28 commits
-
-
Russell Belfer committed
-
Vicent Marti committed
-
Vicent Marti committed
-
This adds an additional pathspec API that will match a pathspec against a diff object. This is convenient if you want to handle renames (so you need the whole diff and can't use the pathspec constraint built into the diff API) but still want to tell if the diff had any files that matched the pathspec. When the pathspec is matched against a diff, instead of keeping a list of filenames that matched, instead the API keeps the list of git_diff_deltas that matched and they can be retrieved via a new API git_pathspec_match_list_diff_entry. There are a couple of other minor API extensions here that were mostly for the sake of convenience and to reduce dependencies on knowing the internal data structure between files inside the library.
Russell Belfer committed -
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
-