- 05 Apr, 2019 1 commit
-
-
The function `git_ignore_path_is_ignored` is there to test the ignore status of paths that need not necessarily exist inside of a repository. This has the implication that for a given path, we cannot always decide whether it references a directory or a file, and we need to distinguish those cases because ignore rules may treat those differently. E.g. given the following gitignore file: * !/**/ we'd only want to unignore directories, while keeping files ignored. But still, calling `git_ignore_path_is_ignored("dir/")` will say that this directory is ignored because it treats "dir/" as a file path. As said, the `is_ignored` function cannot always decide whether the given path is a file or directory, and thus it may produce wrong results in some cases. While this is unfixable in the general case, we can do better when we are being passed a path name with a trailing path separator (e.g. "dir/") and always treat them as directories.
Patrick Steinhardt committed
-
- 04 Apr, 2019 5 commits
-
-
Test that largefiles can be read through the tree API
Edward Thomson committed -
Tests for symlinked user config
Edward Thomson committed -
patch_parse: fix parsing addition/deletion of file with space
Edward Thomson committed -
Edward Thomson committed
-
Optimize string comparisons
Edward Thomson committed
-
- 29 Mar, 2019 11 commits
-
-
romkatv committed
-
Negation of subdir ignore causes other subdirs to be unignored
Patrick Steinhardt committed -
According to reports, libgit2 is unable to read a global configuration file that is simply a symlink to the real configuration. Write a (succeeding) test that shows that libgit2 _is_ correctly able to do so.
Patrick Steinhardt committed -
While we do verify that we are able to open the global ".gitconfig" file in config::global::open_global, we never verify that we it is in fact readable. Do so by writing the global configuration file and verifying that reading from it produces the expected values.
Patrick Steinhardt committed -
We've got reports that users are unable to open repos when their global configuration ("~/.gitconfig") is a symlink. Add a test to verify that we are in fact able to do so as expected.
Patrick Steinhardt committed -
Add a test that verifies that we are able to parse patches which add a new file that has spaces in its path.
Erik Aigner committed -
The diff header format is a strange beast in that it is inherently unparseable in an unambiguous way. While parsing a/file.txt b/file.txt is obvious and trivially doable, parsing a diff header of a/file b/file ab.txt b/file b/file ab.txt is not (but in fact valid and created by git.git). Due to that, we have relaxed our diff header parser in commit 80226b5f (patch_parse: allow parsing ambiguous patch headers, 2017-09-22), so that we started to bail out when seeing diff headers with spaces in their file names. Instead, we try to use the "---" and "+++" lines, which are unambiguous. In some cases, though, we neither have a useable file name from the header nor from the "---" or "+++" lines. This is the case when we have a deletion or addition of a file with spaces: the header is unparseable and the other lines will simply show "/dev/null". This trips our parsing logic when we try to extract the prefix (the "a/" part) that is being used in the path line, where we unconditionally try to dereference a NULL pointer in such a scenario. We can fix this by simply not trying to parse the prefix in cases where we have no useable path name. That'd leave the parsed patch without either `old_prefix` or `new_prefix` populated. But in fact such cases are already handled by users of the patch object, which simply opt to use the default prefixes in that case.
Patrick Steinhardt committed -
Patrick Steinhardt committed
-
xdiff: fix typo
Patrick Steinhardt committed -
The config::global test suite creates various different directories and files which are being populated with pretend-global files. Unfortunately, the tests do not clean up after themselves, which may cause subsequent tests to fail due to cruft left behind. Fix this by always removing created directories and their contents.
Patrick Steinhardt committed -
docs: clarify relation of safe and forced checkout strategy
Edward Thomson committed
-
- 25 Mar, 2019 2 commits
-
-
Erik Aigner committed
-
Each hash implementation should define `git_hash_global_init`
Edward Thomson committed
-
- 23 Mar, 2019 1 commit
-
-
This means the forward declaration isn't necessary. The forward declaration can cause compilation errors as it conflicts with the `GIT_INLINE` declaration (the signatures are different).
Aaron Patterson committed
-
- 20 Mar, 2019 2 commits
-
-
Steven King Jr committed
-
Stefan Widgren committed
-
- 15 Mar, 2019 1 commit
-
-
Steven King Jr committed
-
- 14 Mar, 2019 2 commits
-
-
Matching on the prefix of a negated pattern was triggering false negatives on siblings of that pattern. e.g. Given the .gitignore: dir/* !dir/sub1/sub2/** The path `dir/a.text` would not be ignored.
Steve King Jr committed -
When a directory's contents are ignored, and then a glob negation is made to a nested subdir, other subdirectories are now unignored
Tyler Ang-Wanek committed
-
- 06 Mar, 2019 1 commit
-
-
[Doc] Update URL to git2-rs
Edward Thomson committed
-
- 05 Mar, 2019 1 commit
-
-
Dominik Ritter committed
-
- 02 Mar, 2019 2 commits
-
-
remote: Rename git_remote_completion_type to _t
Edward Thomson committed -
odb: provide a free function for custom backends
Edward Thomson committed
-
- 28 Feb, 2019 2 commits
-
-
This reverts commit 1fe3fa5e.
Edward Thomson committed -
Edward Thomson committed
-
- 27 Feb, 2019 3 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
- 25 Feb, 2019 2 commits
-
-
For consistency with other "type" enums, rename git_remote_completion_type to git_remote_completion_t.
Edward Thomson committed -
Have git_branch_lookup accept GIT_BRANCH_ALL
Edward Thomson committed
-
- 23 Feb, 2019 2 commits
-
-
Custom backends can allocate memory when reading objects and providing them to libgit2. However, if an error occurs in the custom backend after the memory has been allocated for the custom object but before it's returned to libgit2, the custom backend has no way to free that memory and it must be leaked. Provide a free function that corresponds to the alloc function so that custom backends have an opportunity to free memory before they return an error.
Edward Thomson committed -
The `git_odb_backend_malloc` name is a system function that is provided for custom ODB backends and allows them to allocate memory for an ODB object in the read callback. This is important so that libgit2 can later free the memory used by an ODB object that was read from the custom backend. However, the name _suggests_ that it actually allocates a `git_odb_backend`. It does not; rename it to make it clear that it actually allocates backend _data_.
Edward Thomson committed
-
- 22 Feb, 2019 2 commits
-
-
Augustin Fabre committed
-
Augustin Fabre committed
-