- 14 Nov, 2016 1 commit
-
-
Patrick Steinhardt committed
-
- 22 Aug, 2016 1 commit
-
-
Jason Haslam committed
-
- 21 Apr, 2016 1 commit
-
-
Edward Thomson committed
-
- 02 Apr, 2016 1 commit
-
-
Allow callers to specify a start path with a trailing slash to match a submodule, instead of just a directory. This is for some legacy behavior that's sort of dumb, but there it is.
Edward Thomson committed
-
- 31 Mar, 2016 3 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
Carlos Martín Nieto committed
-
- 24 Mar, 2016 7 commits
-
-
Marc Strapetz committed
-
Marc Strapetz committed
-
Remove some unused functions, refactor some ugliness.
Edward Thomson committed -
Edward Thomson committed
-
Since the three iterators implement `advance_over` differently, mandate it and implement each.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
- 23 Mar, 2016 6 commits
-
-
Ensure that we have hit the end of iteration; previously we tested that we saw all the values that we expected to see. We did not then ensure that we were at the end of the iteration (and that there were subsequently values in the iteration that we did *not* expect.)
Edward Thomson committed -
Drop some of the layers of indirection between the workdir and the filesystem iterators. This makes the code a little bit easier to follow, and reduces the number of unnecessary allocations a bit as well. (Prior to this, when we filter entries, we would allocate them, filter them and then free them; now we do the filtering before allocation.) Also, rename `git_iterator_advance_over_with_status` to just `git_iterator_advance_over`. Mostly because it's a fucking long-ass function name otherwise.
Edward Thomson committed -
Refactored the tree iterator to never recurse; simply process the next entry in order in `advance`. Additionally, reduce the number of allocations and sorting as much as possible to provide a ~30% speedup on case-sensitive iteration. (The gains for case-insensitive iteration are less majestic.)
Edward Thomson committed -
Edward Thomson committed
-
Disambiguate the reset and reset_range functions. Now reset_range with a NULL path will clear the start or end; reset will leave the existing start and end unchanged.
Edward Thomson committed -
Edward Thomson committed
-
- 20 Mar, 2016 1 commit
-
-
Instead of copying over the data into the individual entries, point to the originals, which are already in a format we can use.
Carlos Martín Nieto committed
-
- 17 Feb, 2016 2 commits
-
-
Although a `tree_iterator` that failed to be properly created does not have a frame, all other `tree_iterator`s should. Do not call `pop` in the failure case, but assert that in all other cases there is a frame.
Edward Thomson committed -
When Git repository at network locations, sometimes git_iterator_for_tree fails at iterator__update_ignore_case so it goes to git_iterator_free. Null pointer will crash the process if not check. Signed-off-by: Colin Xu <colin.xu@gmail.com>
Colin Xu committed
-
- 11 Feb, 2016 1 commit
-
-
Arthur Schreiber committed
-
- 28 Oct, 2015 1 commit
-
-
Vicent Marti committed
-
- 13 Sep, 2015 1 commit
-
-
Edward Thomson committed
-
- 11 Sep, 2015 1 commit
-
-
While advancing the tree iterator, if we advance over things that we aren't interested in, then call `current`. Which may *itself* call advance. While advancing the tree iterator, if we advance over things that we aren't interested in, then call `current`. Which may *itself* call advance. While advancing the tree iterator, if we advance over things that we aren't interested in, then call `current`. Which may *itself* call advance. While advancing the tree iterator, if we advance over things that we aren't interested in, then call `current`. Which may *itself* call advance. While advancing the tree iterator, if we advance over things that we aren't interested in, then call `current`. Which may *itself* call advance. Error: stack overflow.
Edward Thomson committed
-
- 31 Aug, 2015 1 commit
-
-
Some nicer refactoring for index iteration walks. The index iterator doesn't binary search through the pathlist space, since it lacks directory entries, and would have to binary search each index entry and all its parents (eg, when presented with an index entry of `foo/bar/file.c`, you would have to look in the pathlist for `foo/bar/file.c`, `foo/bar` and `foo`). Since the index entries and the pathlist are both nicely sorted, we walk the index entries in lockstep with the pathlist like we do for other iteration/diff/merge walks.
Edward Thomson committed
-
- 30 Aug, 2015 2 commits
-
-
Edward Thomson committed
-
When using literal pathspecs in diff with `GIT_DIFF_DISABLE_PATHSPEC_MATCH` turn on the faster iterator pathlist handling. Updates iterator pathspecs to include directory prefixes (eg, `foo/`) for compatibility with `GIT_DIFF_DISABLE_PATHSPEC_MATCH`.
Edward Thomson committed
-
- 28 Aug, 2015 3 commits
-
-
When given a pathlist, don't assume that directories sort before files. Walk through any list of entries sorting before us to make sure that we've exhausted all entries that *aren't* directories. Eg, if we're searching for 'foo/bar', and we have a 'foo.c', keep advancing the pathlist to keep looking for an entry prefixed with 'foo/'.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
- 03 Aug, 2015 1 commit
-
-
When an error state is an OOM, make sure that we treat is specially and do not try to free it.
Edward Thomson committed
-
- 26 Jul, 2015 1 commit
-
-
An error here will typically mean that the directory was removed between the time we iterated the parent and the time we wanted to visit it in which case we should ignore it. Other kinds of errors such as permissions (or transient errors) also better dealt with by pretending we didn't see it.
Carlos Martín Nieto committed
-
- 02 Jul, 2015 1 commit
-
-
Edward Thomson committed
-
- 29 Jun, 2015 1 commit
-
-
Edward Thomson committed
-
- 26 Jun, 2015 1 commit
-
-
Carlos Martín Nieto committed
-
- 25 Jun, 2015 1 commit
-
-
Provide `git_iterator_walk` to walk each iterator in lockstep, returning each iterator's idea of the contents of the next path.
Edward Thomson committed
-
- 22 Jun, 2015 1 commit
-
-
When a file on the workdir has the same or a newer timestamp than the index, we need to perform a full check of the contents, as the update of the file may have happened just after we wrote the index. The iterator changes are such that we can reach inside the workdir iterator from the diff, though it may be better to have an accessor instead of moving these structs into the header.
Carlos Martín Nieto committed
-