- 02 May, 2012 6 commits
-
-
Conflicts: .travis.yml include/git2/diff.h src/config_file.c src/diff.c src/diff_output.c src/mwindow.c src/path.c tests-clar/clar_helpers.c tests-clar/object/tree/frompath.c tests/t00-core.c tests/t03-objwrite.c tests/t08-tag.c tests/t10-refs.c tests/t12-repo.c tests/t18-status.c tests/test_helpers.c tests/test_main.c
Vicent Martí committed -
Since strnlen is not supported on all platforms and since we now have the shiny new git_text_is_binary in the filtering code, let's convert diff binary detection to use the new stuff.
Russell Belfer committed -
To make this code more resilient to future changes, we'll explicitly translate the libgit2 structure to the libxdiff structure.
Russell Belfer committed -
This should restore the ability to include libgit2 headers in C++ projects. Cherry picked 2de60205 from development into new-error-handling.
Russell Belfer committed -
Conflicts: src/refspec.c
Vicent Martí committed -
remote: don't free transport on disconnect
Vicent Martí committed
-
- 01 May, 2012 2 commits
-
-
Currently, git_remote_disconnect not only closes the connection but also frees the underlying transport object, making it impossible to write code like // fetch stuff git_remote_download() // close connection git_remote_disconnect() // call user provided callback for each ref git_remote_update_tips(remote, callback) because remote->refs points to references owned by the transport object. This means, we have an idling connection while running the callback for each reference. Instead, allow immediate disconnect and free the transport later in git_remote_free().
Michael Schubert committed -
Michael Schubert committed
-
- 30 Apr, 2012 8 commits
-
-
crlf normalization test coverage
Vicent Martí committed -
nulltoken committed
-
Recognize and report server-side error messages
Vicent Martí committed -
diff: provide more context to the consumer of the callbacks
Russell Belfer committed -
When e.g. a repository isn't found, the server sends an error saying so. Put that error message in our error buffer.
Carlos Martín Nieto committed -
nulltoken committed
-
nulltoken committed
-
Update the callback to provide some information related to the file change being processed and the range of the hunk, when applicable.
nulltoken committed
-
- 29 Apr, 2012 1 commit
-
-
nulltoken committed
-
- 28 Apr, 2012 3 commits
-
-
Teach travis how to build the project.
Carlos Martín Nieto committed -
The recent 64-bit Windows fixes changed the return code in git_pkt_parse_line() so it wouldn't signal a short buffer, breaking the network code. Bring it back.
Carlos Martín Nieto committed -
Michael Schubert committed
-
- 27 Apr, 2012 1 commit
-
-
Michael Schubert committed
-
- 26 Apr, 2012 4 commits
-
-
Russell Belfer committed
-
Ignore pat leading slash
Vicent Martí committed -
We were not following the git behavior for leading slashes in path names when matching git ignores and git attribute file patterns. This should fix issue #638.
Russell Belfer committed -
Carlos Martín Nieto committed
-
- 25 Apr, 2012 15 commits
-
-
nulltoken committed
-
Memory pools and khash hashtables
Russell Belfer committed -
This renamed `git_khash_str` to `git_strmap`, `git_hash_oid` to `git_oidmap`, and deletes `git_hashtable` from the tree, plus adds unit tests for `git_strmap`.
Russell Belfer committed -
More Networking updates
Vicent Martí committed -
Carlos Martín Nieto committed
-
This updates khash.h with some extra features (like error checking on allocations, ability to use wrapped malloc, foreach calls, etc), creates two high-level wrappers around khash: `git_khash_str` and `git_khash_oid` for string-to-void-ptr and oid-to-void-ptr tables, then converts all of the old usage of `git_hashtable` over to use these new hashtables. For `git_khash_str`, I've tried to create a set of macros that yield an API not too unlike the old `git_hashtable` API. Since the oid hashtable is only used in one file, I haven't bother to set up all those macros and just use the khash APIs directly for now.
Russell Belfer committed -
Russell Belfer committed
-
Adding a small stash of nodes with key conflicts has been demonstrated to greatly increase the efficiency of a cuckoo hashtable. See: http://research.microsoft.com/pubs/73856/stash-full.9-30.pdf for more details.
Russell Belfer committed -
Russell Belfer committed
-
This removes the custom paged allocator from revwalk and replaces it with a `git_pool`.
Russell Belfer committed -
This converts the git attr related code (including ignores) and the git diff related code (and implicitly the status code) to use `git_pools` for storing strings. This reduces the number of small blocks allocated dramatically.
Russell Belfer committed -
This adds a `git_pool` object that can do simple paged memory allocation with free for the entire pool at once. Using this, you can replace many small allocations with large blocks that can then cheaply be doled out in small pieces. This is best used when you plan to free the small blocks all at once - for example, if they represent the parsed state from a file or data stream that are either all kept or all discarded. There are two real patterns of usage for `git_pools`: either for "string" allocation, where the item size is a single byte and you end up just packing the allocations in together, or for "fixed size" allocation where you are allocating a large object (e.g. a `git_oid`) and you generally just allocation single objects that can be tightly packed. Of course, you can use it for other things, but those two cases are the easiest.
Russell Belfer committed -
This limitation was a misparsing of the documentation.
Carlos Martín Nieto committed -
This allows the caller to update an internal structure or update the user output with the tips that were updated. While in the area, only try to update the ref if the value is different from its old one.
Carlos Martín Nieto committed -
In the case that walk->one is NULL, we know that we have no positive references, so we already know that the revwalk is over.
Carlos Martín Nieto committed
-