- 07 Feb, 2014 1 commit
-
-
Replace priority queue code with implementation from hashsig
Vicent Marti committed
-
- 06 Feb, 2014 1 commit
-
-
Remove unused utf8 -> utf16 conversion code
Russell Belfer committed
-
- 05 Feb, 2014 15 commits
-
-
Edward Thomson committed
-
Some tests of paths that can't actually be written to disk
Ben Straub committed -
Add flexibility to the revwalk API
Russell Belfer committed -
commit: faster parsing
Vicent Marti committed -
We need this from util.h and posix.h, but the latter includes common.h which includes util.h, which means p_strlen is not defined by the time we get to git__strndup(). Split the definition on p_strlen() off into its own header so we can use it in util.h.
Carlos Martín Nieto committed -
The standard library provides a very nice strnlen function, which knows to use SSE, let's not reimplement it ourselves.
Carlos Martín Nieto committed -
The current code issues a lot of strncmp() calls in order to check for the end of the header, simply in order to copy it and start going through it again. These are a lot of calls for something we can check as we go along. Knowing the amount of parents beforehand to reduce allocations in extreme cases does not make up for them. Instead start parsing immediately and check for the double-newline after each header field, leaving the raw_header allocation for the end, which lets us go through the header once and reduces the amount of strncmp() calls significantly. In unscientific testing, this has reduced a shortlog-like usage (walking though the whole history of a branch and extracting data from the commits) of git.git from ~830ms to ~700ms and makes the time we spend in strncmp() negligible.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Now that we no longer fail to push non-commits on a glob, let's search on all refs when we rev-parse syntax asks us to match text.
Carlos Martín Nieto committed -
This used to be broken, let's make sure we don't break this use-case.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Pushing a whole namespace can cause us to attempt to push non-committish objects. Catch this situation and special-case it for ignoring this.
Carlos Martín Nieto committed -
This shows that pusing a whole namespace can be problematic.
Carlos Martín Nieto committed -
Let the user push committish objects and peel them to figure out which commit to push to our queue. This is for convenience and for allowing uses of git_revwalk_push_glob(w, "tags") with annotated tags.
Carlos Martín Nieto committed -
This tweaks the pqueue_up and pqueue_down routines so that they will not do full element swaps but instead carry over the state of the previous loop iteration and only assign elements for which we know the final position. This will avoid a little bit of data assignment which should improve performance in theory. Also got rid of some vector helpers that I'm no longer using.
Russell Belfer committed
-
- 04 Feb, 2014 10 commits
-
-
This fixes a typo I made for setting the sorted flag on the index after a reload. That typo didn't actually cause any test failures so I'm also adding a test that explicitly checks that the index is correctly sorted after a reload when ignoring case and when not.
Russell Belfer committed -
This updates the git_pqueue to simply be a set of specialized init/insert/pop functions on a git_vector. To preserve the pqueue feature of having a fixed size heap, I converted the "sorted" field in git_vectors to a more general "flags" field so that pqueue could mix in it's own flag. This had a bunch of ramifications because a number of places were directly looking at the vector "sorted" field - I added a couple new git_vector helpers (is_sorted, set_sorted) so the specific representation of this information could be abstracted.
Russell Belfer committed -
Corrections for merge working directory validation
Vicent Marti committed -
I forgot that I wrote some tests for the new priority queue code.
Russell Belfer committed -
I accidentally wrote a separate priority queue implementation when I was working on file rename detection as part of the file hash signature calculation code. To simplify licensing terms, I just adapted that to a general purpose priority queue and replace the old priority queue implementation that was borrowed from elsewhere. This also removes parts of the COPYING document that no longer apply to libgit2.
Russell Belfer committed -
Edward Thomson committed
-
Validating the workdir should not compare HEAD to working directory - this is both inefficient (as it ignores the cache) and incorrect. If we had legitimately allowed changes in the index (identical to the merge result) then comparing HEAD to workdir would reject these changes as different. Further, this will identify files that were filtered strangely as modified, while testing with the cache would prevent this. Also, it's stupid slow.
Edward Thomson committed -
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
- 03 Feb, 2014 1 commit
-
-
Correct "new" id for reattached-HEAD reflog entry
Vicent Marti committed
-
- 02 Feb, 2014 3 commits
-
-
Add `git_reference_is_note`.
Vicent Marti committed -
Arthur Schreiber committed
-
Ben Straub committed
-
- 01 Feb, 2014 2 commits
-
-
Ben Straub committed
-
Ben Straub committed
-
- 31 Jan, 2014 4 commits
-
-
Update to latest clar
Vicent Marti committed -
Russell Belfer committed
-
Reflog completionism
Vicent Marti committed -
Ben Straub committed
-
- 30 Jan, 2014 3 commits
-
-
Ben Straub committed
-
Ben Straub committed
-
Ben Straub committed
-