| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
| |
|
|
| |
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
| |
|
|
|
|
|
|
| |
W/o this a libgit2 error message could have a mixed encoding:
e.g. a filename in UTF-8 combined with a native Windows error message
encoded with the local code page.
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
| | |
|
| | |
|
| |\
| |
| | |
config: support trailing backslashes
|
| | |
| |
| |
| |
| |
| | |
Check whether the backslash at the end of the line is being escaped or
not so as not to consider it a continuation marker when it's e.g. a
Windows-style path.
|
| |/ |
|
| |
|
|
|
|
|
|
|
| |
This is a convenience function to get the branch name of a given
ref. The returned branch name is compatible with the name that can
be supplied e.g. to git_branch_lookup(). That is, the prefixes
"refs/heads" or "refs/remotes" are omitted.
Also added a new test for testing the new function.
|
| |
|
|
|
|
| |
The index is empty; repeated tree entries cannot collide.
cc github/gitrpc#83
|
| |\
| |
| | |
Update remote tips on push
|
| | | |
|
| | | |
|
| |\ \
| | |
| | | |
Global options setter
|
| | | | |
|
| |\ \ \
| | | |
| | | | |
Allow peeled references without trailing newline at end of file
|
| | | | |
| | | |
| | | |
| | | | |
Also ammends one of the tag tests to make sure it's working.
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the new code to make tree iterators support ignore_case,
there is a bug in setting the start entry for range bounded
iterators where memcmp was being used instead of strncasecmp.
This fixes that and expands the tree iterator test to cover
the cases that were broken.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 28b1cdf3a1bdcd37cf9d550c92b8c19b1782ea6b.
//cc #1262 #1267
|
| |\ \ \
| |_|/
|/| | |
A simple perf optimization in pack-objects.c
|
| | | | |
|
| |/ / |
|
| |\ \
| | |
| | | |
Handle packed peeled objects without trailing newlines
|
| | |/
| |
| |
| | |
Fixes #1262
|
| |/
|
|
|
|
|
| |
The commit time is already stored as a git_time_t, but we were
parsing is as a uint32_t. This just switches the parser to use
uint64_t which will handle dates further in the future (and adds
some tests of those future dates).
|
| |
|
|
|
|
|
|
|
| |
When the encoding header changed to be treated as an additional
header, the EOL pointer started to point to the byte after the LF,
making the git__strndup call copy the LF into the value.
Increase the EOL pointer value after copying the data to keep the rest
of the semantics but avoid copying LF.
|
| | |
|
| | |
|
| |\
| |
| | |
add an index_remove_bypath that removes conflicts
|
| | |
| |
| |
| | |
to match
|
| |\ \
| | |
| | | |
A comparison of eviction algorithms for the delta base cache
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Somewhat surprisingly, this can increase the speed considerably, as we
don't bother trying to decide what to evict, and the most used entries
are quickly back into the cache.
|
| | | |
| | |
| | |
| | |
| | | |
This drops the cache eviction below libcrypto and zlib in the perf
output. The number has been chosen empirically.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
sba1/dont-segfault-if-transport-doesnt-support-push
Don't segfault if transport doesn't support push.
|
| | | | |
| | | |
| | | |
| | | | |
Instead, set an more informative error message.
|
| |\ \ \ \
| | | | |
| | | | | |
Add skipping of unknown commit headers
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This moves the check for the "encoding" header into a loop which
is just scanning for non-required headers at the end of a commit
header. That loop will skip unrecognized lines (including header
continuation lines) until a terminating completely blank line is
found, and only then does it move to reading the commit message.
|
| |/ / / |
|
| |\ \ \
| | | |
| | | | |
Fix case insensitivity issues in git_status_file
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This makes tree iterators directly support case insensitivity by
using a secondary index that can be sorted by icase. Also, this
fixes the ambiguity check in the git_status_file API to also be
case insensitive. Lastly, this adds new test cases for case
insensitive range boundary checking for all types of iterators.
With this change, it should be possible to deprecate the spool
and sort iterator, but I haven't done that yet.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This adds a new external API git_tree_entry_cmp and a new internal
API git_tree_entry_icmp for sorting tree entries. The case
insensitive one is internal only because general users should
never be seeing case-insensitively sorted trees.
|
| | | | |
| | | |
| | | |
| | | | |
This adds git_path_icmp to complement git_path_cmp.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
git__bsearch and git__tsort did not pass a payload through to the
comparison function. This makes it impossible to implement sorted
lists where the sort order depends on external data (e.g. building
a secondary sort order for the entries in a tree). This commit
adds git__bsearch_r and git__tsort_r versions that pass a third
parameter to the cmp function of a user payload.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This changes the iterator API so that flags can be passed in to
the constructor functions to control the ignore_case behavior.
At this point, the flags are not supported on tree iterators (i.e.
there is no functional change over the old API), but the API
changes are all made to accomodate this.
By the way, I went with a flags parameter because in the future
I have a couple of other ideas for iterator flags that will make
it easier to fix some diff/status/checkout bugs.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Returning GIT_EAMBIGUOUS from inside the status callback gets
overridden with GIT_EUSER. `git_status_file` accounted for this
via the callback payload, but was allowing the error message to
be cleared. Move the `giterr_set` call outside the callback to
where the EUSER case was being dealt with.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In preparation for further iterator changes, this cleans up a few
small things in the iterator API:
* removed the git_iterator_for_repo_index_range API
* made git_iterator_free not be inlined
* minor param name and test function name tweaks
|
| | | | | |
|
| | | | | |
|
| |/ / / |
|