| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \
| | | | |
| | | | | |
Move system directory cache out of utils
|
| | | | | |
|
| | | | | |
|
|/ / / / |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Make GIT_INLINE an internal definition so it cannot be used in
public headers
* Fix language in CONTRIBUTING
* Make index caps API use signed instead of unsigned values
|
| | | | |
|
| | | | |
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On some systems, notably HP PA-RISC systems running Linux or HP-UX,
EWOULDBLOCK and EAGAIN are not the same value. POSIX (and these OSes) allow
EWOULDBLOCK to occur on write(2) (and send(2), etc.), so check explicitly
for this case as well as EAGAIN by defining and using a macro GIT_ISBLOCKED
that considers both.
The macro is necessary because MSYS does not provide EWOULDBLOCK and
compilation fails if an attempt is made to use it unconditionally. On most
systems, where the two values are the same, the compiler will simply
optimize this check out and it will have no effect.
|
| | |
| | |
| | |
| | | |
Core git performs no conversion on systems that use LF, emulate that.
|
|\ \ \
| | | |
| | | | |
Handle `core.autocrlf=input` when checking out
|
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | | |
Keep the reflog parameters as the last two, as they're the optional
parameters.
|
|/ /
| |
| |
| |
| | |
This addresses arrbee's concerns about wording in the conditional
reference udpate functions.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
More reflogness
|
| | | |
|
| |\ \ |
|
| | | | |
|
| | | |
| | | |
| | | | |
Also added a test for git_remote_fetch.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
refs: conditional ref updates
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add it under the git_reference_remove() name, letting the user pass the
repo and name, analogous to unconditional setting/creation.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If the type of the on-disk reference has changed, the old value
comparison should fail.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Recognize when the reference has changed since we loaded it.
|
| | | | |
| | | | |
| | | | |
| | | | | |
We don't actually pass the old value yet.
|
| | | | |
| | | | |
| | | | |
| | | | | |
We will reuse this later for deletion.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Bring the race detection goodness to symbolic references as well.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add a parameter to the backend to allow checking for the old symbolic
target.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Free the old ref even on success.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In case we loose the race to update the reference, return GIT_EMODIFIED
to let the user distinguish it from other types of errors.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change the name to _matching() intead of _if(), and force _set_target()
to be a conditional update. If the user doesn't care about the old
value, they should use git_reference_create().
|
| | | | |
| | | | |
| | | | |
| | | | | |
Allow updating references if the old value matches the given one.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Replace priority queue code with implementation from hashsig
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| |_|_|/
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
Add flexibility to the revwalk API
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Pushing a whole namespace can cause us to attempt to push non-committish
objects. Catch this situation and special-case it for ignoring this.
|