| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Unified rev-parse, with a revision object
|
| | |
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | | |
This will probably prevent many lookup/free
operations in calling code.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't try to update anything if there are no heads to update. This
saves us from trying to look into a fetch refspec when there is none.
A better fix for compatibility with git when using remotes without
refspecs is still needed, but this stops us from segfaulting.
|
|/ /
| |
| |
| | |
Keep the data around until free, as expected by our own fetch example
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The end of the header is signaled by to consecutive LFs and the commit
message starts immediately after. Jumping over LFs at the start of the
message is a bug and leads to creating different commits if
when rebuilding history.
This also fixes an empty commit message being returned as "\n".
|
| | |
|
|\ \
| | |
| | | |
Branch upstream configuration
|
| | |
| | |
| | |
| | |
| | | |
Add functions to set and unset the upstream configuration to
complement the getter we already have.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Return the size we'd need to write to instead of simply an
error. Split the function into two to be used later by the upstream
configuration functions.
|
| | |
| | |
| | |
| | |
| | | |
The term 'tracking' is overloaded. Help distinguish what we mean by
using 'upstream' for this part of the library.
|
| | |
| | |
| | |
| | | |
I also moved all tests related to notifying in their own file.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Reduce the number of unnecessary objects in pushed packs
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This adds tests for diffs with submodules in them and (perhaps
unsurprisingly) requires further fixes to be made. Specifically,
this fixes:
- when considering if a submodule is dirty in the workdir, it was
being treated as dirty even if only the index was dirty.
- git_diff_patch_to_str (and git_diff_patch_print) were "printing"
the headers for files (and submodules) that were unmodified or
had no meaningful content.
- added comment to previous fix and removed unneeded parens.
|
| | | | |
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
there are only dirty submodules but no changed files
GIT_DIFF_PATCH_DIFFABLE was not set, so the diff content was not shown
When submodule is dirty, the hash may be the same, but the length is different because -dirty is appended
We can therefore compare the length or hash
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
All the hard work is already in revparse.
Signed-off-by: Greg Price <price@mit.edu>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Greg Price <price@mit.edu>
|
|\ \ \ \
| | | | |
| | | | | |
Avoid pre-Win7 WinHTTP self-redirect quirk
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | |_|/
| |/| | |
|
|/ / / |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
opts: allow configuration of odb cache size
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently, the odb cache has a fixed size of 128 slots as defined by
GIT_DEFAULT_CACHE_SIZE. Allow users to set the size of the cache via
git_libgit2_opts().
Fixes #1035.
|
|\ \ \ \
| | | | |
| | | | | |
Several diff and status fixes
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This started out trying to look at the problems from issue #1425
and gradually grew to a broader set of fixes. There are two core
things fixed here:
1. When you had an ignore like "/bin" which is rooted at the top
of your tree, instead of immediately adding the "bin/" entry
as an ignored item in the diff, we were returning all of the
direct descendants of the directory as ignored items. This
changes things to immediately ignore the directory. Note that
this effects the behavior in test_status_ignore__subdirectories
so that we no longer exactly match core gits ignore behavior,
but the new behavior probably makes more sense (i.e. we now
will include an ignored directory inside an untracked directory
that we previously would have left off).
2. When a submodule only contained working directory changes, the
diff code was always considering it unmodified which was just
an outright bug. The HEAD SHA of the submodule matches the SHA
in the parent repo index, and since the SHAs matches, the diff
code was overwriting the actual status with UNMODIFIED.
These fixes broke existing tests test_diff_workdir__submodules and
test_status_ignore__subdirectories but looking it over, I actually
think the new results are correct and the old results were wrong.
@nulltoken had actually commented on the subdirectory ignore issue
previously.
I also included in the tests some debugging versions of the
shared iteration callback routines that print status or diff
information. These aren't used actively in the tests, but can be
quickly swapped in to test code to give a better picture of what
is being scanned in some of the complex test scenarios.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This option has been sitting unimplemented for a while, so I
finally went through and implemented it along with some tests.
As part of this, I improved the implementation of
GIT_DIFF_IGNORE_SUBMODULES so it be more diligent about avoiding
extra work and about leaving off delta records for submodules to
the greatest extent possible (though it may include them still
if you are request TYPECHANGE records).
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This implements working versions of GIT_DIFF_RECURSE_IGNORED_DIRS
and GIT_STATUS_OPT_RECURSE_IGNORED_DIRS along with some tests for
the newly available behaviors. This is not turned on by default
for status, but can be accessed via the options to the extended
version of the command.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
don't stat until the file is written
|
| |/ / / / |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
http: Support 302 Found (arrbee did most of the work)
|
| | | | | |
|
| | | | | |
|