| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Internally we already did everything with git_bufs, so this is just
exposing those functions with public names.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Since we now export that type, we can avoid making the user guess a
size.
|
|/ / / |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Fix local push to file:// URL.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Sometimes a zero byte file is just a zero byte file
|
| | | |
| | | |
| | | |
| | | | |
Don't go to the ODB to resolve zero byte files in the workdir
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Don't try to determine whether the system supports file modes
when putting the tree data in the index during checkout. The tree's
mode is canonical and did not come from stat(2) in the first place.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's hard or even impossible to correctly free the string buffer
allocated by git_patch_to_str in some circumstances. Drop the function
so people have to use git_patch_to_buf instead - git_buf has a dedicated
destructor.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The "merge none" (don't automerge) flag was only to aide in
merge trivial tests. We can easily determine whether merge
trivial resulted in a trivial merge or an automerge by examining
the REUC after automerge has completed.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The default merge_file level was XDL_MERGE_MINIMAL, which will
produce conflicts where there should not be in the case where
both sides were changed identically. Change the defaults to be
more aggressive (XDL_MERGE_ZEALOUS) which will more aggressively
compress non-conflicts. This matches git.git's defaults.
Increase testing around reverting a previously reverted commit to
illustrate this problem.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Extend the "unmodified" submodule workdir test to include
uninitialized submodules, to prevent reporting submodules as
modified when they're not in the workdir at all.
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
Any well-behaved program should write a descriptive message to the
reflog whenever it updates a reference. Let's make this more prominent
by removing the version without the reflog parameters.
|
| | |
|
|\ \
| | |
| | | |
Add orig_commit.
|
| |/ |
|
|/ |
|
|\
| |
| | |
Accept 'submodule.*.fetchRecurseSubmodules' config 'on-demand' value
|
| | |
|
|/
|
| |
I am not sure why there was 6 in the first place.
|
|\
| |
| | |
Reference operations with log
|
| |
| |
| |
| |
| |
| | |
The frontend used to look at the file directly, but that's obviously not
the right thing to do. Expose it on the backend and use that function
instead.
|
| |
| |
| |
| |
| |
| | |
Sometimes (e.g. stash) we want to make sure that a log will be written,
even if it's not in one of the standard locations. Let's make that
easier.
|
| |
| |
| |
| |
| |
| | |
git-core only writes to the reflogs of HEAD, refs/heads/ and,
refs/notes/ or if there is already a reflog in place. Adjust our code to
follow these semantics.
|
| |
| |
| |
| |
| |
| | |
This was a convenience method for the refs front-end to do the reflog
writing. This is now done in the backend and it has no more reason for
being.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Whenever a reference is created or updated, we need to write to the
reflog regardless of whether the user gave us a message, so we shouldn't
leave that to the ref frontend, but integrate it into the backend.
This also eliminates the race between ref update and writing to the
reflog, as we protect the reflog with the ref lock.
As an additional benefit, this reflog append on the backend happens by
appending to the file instead of parsing and rewriting it.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
The size_t is 32-bit already, so it overflows before going into the
function. The `-1` test should handle this gracefully in both cases
anyway.
|
| |
| |
| |
| |
| |
| |
| | |
Ok, scrap the previous commit. This is the right overflow check that
takes care of 64 bit overflow **and** 32-bit overflow, which needs to be
considered because the pool malloc can only allocate 32-bit elements in
one go.
|
| |
| |
| |
| |
| |
| | |
This wasn't being tested and since it has a callback, I fixed it
even though the return value of this callback is not treated like
any of the other callbacks in the API.
|
| |
| |
| |
| |
| | |
This covers diff print, push, and ref foreach. This also has a
fix for a small memory leak in the push tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds tests that try canceling an indexer operation from
within the progress callback.
After writing the tests, I wanted to run this under valgrind and
had a number of errors in that situation because mmap wasn't
working. I added a CMake option to force emulation of mmap and
consolidated the Amiga-specific code into that new place (so we
don't actually need separate Amiga code now, just have to turn on
-DNO_MMAP).
Additionally, I made the indexer code propagate error codes more
reliably than it used to.
|
| |
| |
| |
| |
| |
| | |
This time actually checking return values in diff notify tests and
actually testing callbacks for the index all-all/update-all/etc
functions.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Clone callbacks can return non-zero values to cancel the clone.
This adds some tests to verify that this actually works and updates
the documentation to be clearer that this can happen and that the
return value will be propagated back by the clone function.
|