| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| | |
push: handle tag chains correctly
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
When dealing with a chain of tags, we need to enqueue each of them
individually, which means we can't use `git_tag_peel` as that jumps
over the intermediate tags.
Do the peeling manually so we can look at each object and take the
appropriate action.
|
| | |
| |
| |
| |
| | |
This adds a new API for creating a signature that uses the
config to look up "user.name" and "user.email".
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
This fixes a small memory leak in git_revparse where early returns on
errors from git_revparse_single cause a free() on the (reallocated) left
side of the revspec to be skipped.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
That commit accidentally removed the initialization of the "start"
variable giving undefined results for the host extraction from the
url input.
|
| |\ \
| | |
| | | |
Respect GIT_SSL_NO_VERIFY and http.sslVerify
|
| | | | |
|
| |\ \ \
| | | |
| | | | |
remote: relax the url rules
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Accept any value for the remote's url, including an empty string which
we used to reject as invalid configuration.
This is not quite what git does (although it has its own problems with
such configurations) and it makes it harder to fix the issue, by not
letting the user modify it.
As we already need to check for a valid URL when we try to connect to
the network, let that perform the check, as we don't need to do it
anywhere else.
|
| |\ \ \ \
| | | | |
| | | | | |
fileops: stat() before open()ing in git_futils_readbuffer_updated()
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts refactoring done in 13224ea4aad9a1b3c9cc4c992ceaea9af623e047
that introduces a performance regression for NFS when reading files that
don't exist. open() forces a cache invalidation on NFS, while stat()ing a
file just uses the cache and is very quick.
To give a specific example, say you have a repo with a thousand packed
refs. Before this change, looking up every single one ould incur a thousand
slow open() calls. With this change, it's a thousand fast stat() calls.
|
| | | | | |
|
| | | | | |
|
| | |/ /
|/| | |
|
| |\ \ \
| | | |
| | | | |
Speed up build under MSVC
|
| | |/ / |
|
| |\ \ \
| |/ /
|/| | |
Bigger buffer for utf-8 parsing in win32
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is just a bunch of small fixes that I noticed while looking
at the UTF8 and UTF16 path stuff. It fixes a slowdown in looking
for an empty directory (not exiting loop asap), makes the dir name
in the git__DIR structure be a GIT_FLEX_ARRAY to save an allocation,
and fixes some slightly odd assumptions in the cl_getenv helper.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
...and normalize the signatures of the two conversion functions.
|
| | | |
| | |
| | |
| | |
| | | |
Also fixed up call-sites to use the correct buffer sizes, especially
when converting to utf-8.
|
| |\ \ \
| | | |
| | | | |
SSH username fixes
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Key-based authentication also needs an username, so include it in each
one.
Also stop assuming a default username of "git" in the ssh transport
which has no business making such a decision.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
By the time we recognise this as an ambiguous id, the object's data
has been loaded into memory. Free it when returning EABMIGUOUS.
|
| |\ \ \ \
| |/ / /
|/| | | |
Fix issue 1766 - bugs in managing ignore file lists
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This just cleans up the improved logic for popping ignore dirs
and documents why the complex behavior is needed.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The routines to push and pop ignore files while traversing a
directory had some issues. In particular, setting up the initial
list would sometimes push an ignore file before it ought to be
applied if the starting path was a directory containing an ignore
file. Also, the pop function was not always matching the right
part of the path and would fail to pop ignores from the list in
some cases.
This adds some tests that exercise a particular problematic case
and then fixes the problems that I could find related to this.
At some point, I'd like to isolate this ignore rule management
code and rewrite it, but that's a larger project and right now,
I'll opt to just try to fix the broken behaviors.
|
| |\ \ \ \
| |/ / /
|/| | | |
Fixes to safely reading the index
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Avoid wrapping around extension size when reading, avoid walking off
the end of the buffer when reading names.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This rolls back the changes to fnmatch parsing from commit
2e40a60e847d6c128af23e24ea7a8efebd2427da except for the tests
that were added. Instead this adds couple of new flags that can
be passed in when attempting to parse an fnmatch pattern. Also,
this changes the pathspec match logic to special case matching a
filename with a '!' prefix against a negative pattern.
This fixes the build.
|
| |\ \ \ \
| | | | |
| | | | | |
Add rename from rewrites to status
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
In git_diff_paired_foreach, temporarily resort the
index->workdir diff list by index path so that we can
track a rename in the workdir from head->index->workdir.
|
| |\ \ \ \
| | | | |
| | | | | |
status: fix handling of filenames with special prefixes
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Fix libgit2/libgit2sharp#379
|