| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
|
| |/ /
|/| | |
|
|\ \ \
| |/ /
|/| | |
Thread safety for the refdb_fs
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This is the first use we have of pthread_rwlock_t in libgit2.
Hopefully it won't cause any serious portability problems.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds thread safety to the refdb_fs by using the new
git_sortedcache object and also by relaxing the handling of some
filesystem errors where the fs may be changed out from under us.
This also adds some new threading tests that hammer on the refdb.
|
| | |
| | |
| | |
| | | |
This adds two other APIs that I need to the sortedcache type.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds a convenient new data type for caching the contents of
file in memory when each item in that file corresponds to a name
and you need to both be able to lookup items by name and iterate
over them in some sorted order. The new data type has locks in
place to manage usage in a threaded environment.
|
| | |
| | |
| | |
| | |
| | |
| | | |
If there were symbolic refs among the loose refs then the code
to create packed-refs would fail trying to parse the OID out of
them (where Git just skips trying to pack them). This fixes it.
|
|\ \ \
| | | |
| | | | |
Even more lenient remote parsing
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In order to be loaded, a remote needs to be configured with at least a `url` or a `pushurl`.
ENOTFOUND will be returned when trying to git_remote_load() a remote with neither of these entries defined.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Configuration iterators redux
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Build it on top of the normal iterator instead, which lets use re-use
a lot of code.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
As the name suggests, it iterates over all the entries
|
| | | | |
| | | | |
| | | | |
| | | | | |
Make it look like the refs iterator API.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Implement the foreach version as a wrapper around the iterator.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The plain function will return an iterator, so move this one out of
the way.
|
| |/ / /
|/| | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
238b761 introduced a test for posix behaviour, but on FreeBSD some
of the structs and constants used aren't defined in <arpa/inet.h>.
Include the appropriate headers to get the tests working again on
FreeBSD.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
When a git_buf contains a UTF-8 BOM, the three bytes comprising
that BOM are treated as unprintable characters. For a small git_buf,
the three BOM characters overwhelm the printable characters. This
is problematic when trying to check out a small file as the CR/LF
filtering will not apply.
|
| | |
| | |
| | |
| | |
| | |
| | | |
p_inet_pton on Windows should set errno properly for callers.
Rewrite p_inet_pton to handle error cases correctly and add
test cases to exercise this function.
|
|\ \ \
| | | |
| | | | |
odb: move hashing to the frontend for streaming
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is in preparation for moving the hashing to the frontend, which
requires us to handle the incoming data before passing it to the
backend's stream.
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
Report the index being locked with its own error code in order to be
able to differentiate, as a locked index is typically the result of a
crashed process or concurrent access, both of which often require user
intervention to fix.
|
|\ \ \
| | | |
| | | | |
push: handle tag chains correctly
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
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.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Set up the ssh credentials so we are able to talk to localhost and
issue git commands. Move to use a script, as the command list is
getting somewhat long.
While here, delay installing valgrind until we need it, as it and its
dependencies are by far the largest downloads and this allows us to
start compiling (and failing) faster and we only incur this cost when
the test suite runs successfully.
|
|\ \ \
| | | |
| | | | |
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.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|