- 08 Feb, 2014 4 commits
-
-
Add git_commit_amend API
Ben Straub committed -
This adds an API to amend an existing commit, basically a shorthand for creating a new commit filling in missing parameters from the values of an existing commit. As part of this, I also added a new "sys" API to create a commit using a callback to get the parents. This allowed me to rewrite all the other commit creation APIs so that temporary allocations are no longer needed.
Russell Belfer committed -
More reflogness
Russell Belfer committed -
refs: conditional ref updates
Russell Belfer committed
-
- 07 Feb, 2014 2 commits
-
-
This fixes a number of warnings with the Windows 64-bit build including a test failure in test_repo_message__message where an invalid pointer to a git_buf was being used.
Russell Belfer committed -
Replace priority queue code with implementation from hashsig
Vicent Marti committed
-
- 06 Feb, 2014 4 commits
-
-
Ben Straub committed
-
Ben Straub committed
-
Remove unused utf8 -> utf16 conversion code
Russell Belfer committed -
Ben Straub committed
-
- 05 Feb, 2014 30 commits
-
-
Edward Thomson committed
-
Ben Straub committed
-
Ben Straub committed
-
Ben Straub committed
-
Ben Straub committed
-
Ben Straub committed
-
Ben Straub 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 -
Add it under the git_reference_remove() name, letting the user pass the repo and name, analogous to unconditional setting/creation.
Carlos Martín Nieto committed -
If the type of the on-disk reference has changed, the old value comparison should fail.
Carlos Martín Nieto committed -
Recognize when the reference has changed since we loaded it.
Carlos Martín Nieto committed -
We don't actually pass the old value yet.
Carlos Martín Nieto committed -
We will reuse this later for deletion.
Carlos Martín Nieto committed -
Bring the race detection goodness to symbolic references as well.
Carlos Martín Nieto committed -
Add a parameter to the backend to allow checking for the old symbolic target.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Free the old ref even on success.
Carlos Martín Nieto committed -
In case we loose the race to update the reference, return GIT_EMODIFIED to let the user distinguish it from other types of errors.
Carlos Martín Nieto committed
-