- 21 Aug, 2013 3 commits
-
-
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 9 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
-
This adds a new API for creating a signature that uses the config to look up "user.name" and "user.email".
Russell Belfer committed -
Give credit to PHP for the p_readlink function in posix_w32.c
Ben Straub committed -
Martin Woodward committed
-
- 15 Aug, 2013 6 commits
-
-
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.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Hash the data as it's coming into the stream and tell the backend what its name is when finalizing the write. This makes it consistent with the way a plain git_odb_write() performs the write.
Carlos Martín Nieto committed -
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.
Carlos Martín Nieto committed -
revparse: Free left side of invalid range revspecs
Vicent Martí committed -
Evan Hanson committed
-