- 22 Aug, 2013 8 commits
-
-
This converts an internal lock from a write lock to a read lock where write isn't needed, and also clarifies some doc things about where various locks are acquired and how various APIs are intended to be used.
Russell Belfer committed -
Russell Belfer committed
-
This makes libgit2 require Windows Vista or newer if it is going to be compiled with the THREADSAFE option
Russell Belfer committed -
Russell Belfer committed
-
Russell Belfer committed
-
This is the first use we have of pthread_rwlock_t in libgit2. Hopefully it won't cause any serious portability problems.
Russell Belfer committed -
Russell Belfer committed
-
Russell Belfer committed
-
- 21 Aug, 2013 4 commits
-
-
Russell Belfer committed
-
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.
Russell Belfer committed -
The refdb_fs implementation calls realloc directly on a reference object when it wants to rename it. It is not a public object, so this doesn't mess with the immutability of references, but it does assume certain constraints on the reference representation. This commit wraps that assumption in an isolated API to isolate it.
Russell Belfer committed -
This adds two other APIs that I need to the sortedcache type.
Russell Belfer committed
-
- 20 Aug, 2013 2 commits
-
-
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.
Russell Belfer committed -
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.
Russell Belfer committed
-
- 19 Aug, 2013 16 commits
-
-
Quiet down some warnings
Russell Belfer committed -
Edward Thomson committed
-
Fix p_inet_pton on windows
Ben Straub committed -
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.
Edward Thomson committed -
Use time(2) to get the time
Ben Straub committed -
We didn't use the added precision in gettimeofday, so remove it. This prevents us from having an unnecessary reimplementation on win32.
Edward Thomson committed -
Don't expose git_hash_ctx since it's internal
Ben Straub committed -
Carlos Martín Nieto committed
-
And doing so makes the mingw build choke.
Edward Thomson committed -
Carlos Martín Nieto committed
-
odb: move hashing to the frontend for streaming
Vicent Martí committed -
odb: Straighten oid prefix handling
Vicent Martí committed -
index: report when it's locked
Vicent Martí committed -
When implementing the ssh testing, the move to the script made it so the first test suite's exit code was ignored. Check whether the main tests fail and exit with an error in that case.
Carlos Martín Nieto committed -
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.
Carlos Martín Nieto committed -
Bring Valgrind back!
Ben Straub committed
-
- 18 Aug, 2013 2 commits
- 17 Aug, 2013 2 commits
-
-
If none of the backends support direct writes and we must stream the whole file, we already know what the object's id should be; so use the stream's functions directly, bypassing the frontend's hashing and overwriting of our existing id.
Carlos Martín Nieto committed -
Clarify the role of each function and in particular mention that there is no need for the backend or stream to worry about the object's id, as it will be given when `finalize_write` is called.
Carlos Martín Nieto committed
-
- 16 Aug, 2013 6 commits
-
-
The frontend is in charge of calculating the id of the objects. Thus the backends should treat it as a read-only value. The positioning in the function signature made it seem as though it was an output parameter. Make the id const and move it from the front to behind the subject (backend or stream).
Carlos Martín Nieto committed -
push: handle tag chains correctly
Vicent Martí committed -
Add "git init"-like example
Vicent Martí committed -
Russell Belfer committed
-
Russell Belfer committed
-
Russell Belfer committed
-