tests-clar


Log

Author Commit Date CI Message
Russell Belfer 2a99df69 2012-05-24T17:14:56 Fix bugs for status with spaces and reloaded attrs This fixes two bugs: * Issue #728 where git_status_file was not working for files that contain spaces. This was caused by reusing the "fnmatch" parsing code from ignore and attribute files to interpret the "pathspec" that constrained the files to apply the status to. In that code, unescaped whitespace was considered terminal to the pattern, so a file with internal whitespace was excluded from the matched files. The fix was to add a mode to that code that allows spaces and tabs inside patterns. This mode only comes into play when parsing in-memory strings. * The other issue was undetected, but it was in the recently added code to reload gitattributes / gitignores when they were changed on disk. That code was not clearing out the old values from the cached file content before reparsing which meant that newly added patterns would be read in, but deleted patterns would not be removed. The fix was to clear the vector of patterns in a cached file before reparsing the file.
Russell Belfer 9cde607c 2012-05-24T15:08:55 Clean up system file finding tests on Win32
Russell Belfer 9e35d7fd 2012-05-24T13:44:24 Fix bugs in UTF-8 <-> UTF-16 conversion The function to convert UTF-16 to UTF-8 was only allocating a buffer of wcslen(utf16str) bytes for the UTF-8 string, but that is not sufficient if you have multibyte characters, and so when those occured, the conversion was failing. This updates the conversion functions to use the Win APIs to calculate the correct buffer lengths. Also fixes a comparison in the unit tests that would fail if you did not have a particular environment variable set.
Russell Belfer 23059130 2012-05-24T12:45:20 Get user's home dir in UTF-16 clean manner On Windows, we are having problems with home directories that have non-ascii characters in them. This rewrites the relevant code to fetch environment variables as UTF-16 and then explicitly map then into UTF-8 for our internal usage.
Vicent Martí 59d91979 2012-05-18T13:53:38 Merge pull request #710 from libgit2/breaking-changes Break everything before the release
Vicent Martí 904b67e6 2012-05-18T01:48:50 errors: Rename error codes
Vicent Martí e172cf08 2012-05-18T01:21:06 errors: Rename the generic return codes
Vicent Martí 2e2e9785 2012-05-18T00:42:24 Properly tag all `enums` with a `_t`
Vicent Martí 4fbd1c00 2012-05-17T20:35:48 refs: git_reference_listall -> git_reference_list
Vicent Martí 255c38c5 2012-05-10T11:50:29 global: Fix unit tests after reordering
nulltoken 392eced6 2012-05-11T22:22:14 branch: retrieve symbolic references when listing the branches
Russell Belfer 6e5c4af0 2012-05-17T14:21:10 Fix workdir iterators on empty directories Creating a workdir iterator on a directory with absolutely no files was returning an error (GIT_ENOTFOUND) instead of an iterator for nothing. This fixes that and includes two new tests that cover that case.
Russell Belfer bd4ca902 2012-05-16T17:02:06 Fix status for files under ignored dirs There was a bug where tracked files inside directories that were inside ignored directories where not being found by status. To make that a little clearer, if you have a .gitignore with: ignore/ And then have the following files: ignore/dir/tracked <-- actually a tracked file ignore/dir/untracked <-- should be ignored Then we would show the tracked file as being removed (because when we got the to contained item "dir/" inside the ignored directory, we decided it was safe to skip -- bzzt, wrong!). This update is much more careful about checking that we are not skipping over any prefix of a tracked item, regardless of whether it is ignored or not. As documented in diff.c, this commit does create behavior that still differs from core git with regards to the handling of untracked files contained inside ignored directories. With libgit2, those files will just not show up in status or diff. With core git, those files don't show up in status or diff either *unless* they are explicitly ignored by a .gitignore pattern in which case they show up as ignored files. Needless to say, this is a local behavior difference only, so it should not be important and (to me) the libgit2 behavior seems more consistent.
nulltoken ee7680d5 2012-05-16T21:21:24 notes: make git_note_foreach() callback signature easier to cope with from a binding perspective
Vicent Martí 9d0011fd 2012-05-16T19:23:47 tree: Naming conventions
Vicent Martí eb270884 2012-05-16T19:17:32 clar: Fix warning
Vicent Martí cedf9ca9 2012-05-16T19:16:35 tree: Kill the `git_tree_diff` functions These are deprecated and replaced with the diffing code in git2/diff.h
Russell Belfer 41a82592 2012-05-15T14:17:39 Ranged iterators and rewritten git_status_file The goal of this work is to rewrite git_status_file to use the same underlying code as git_status_foreach. This is done in 3 phases: 1. Extend iterators to allow ranged iteration with start and end prefixes for the range of file names to be covered. 2. Improve diff so that when there is a pathspec and there is a common non-wildcard prefix of the pathspec, it will use ranged iterators to minimize excess iteration. 3. Rewrite git_status_file to call git_status_foreach_ext with a pathspec that covers just the one file being checked. Since ranged iterators underlie the status & diff implementation, this is actually fairly efficient. The workdir iterator does end up loading the contents of all the directories down to the single file, which should ideally be avoided, but it is pretty good.
nulltoken d5ed6348 2012-05-14T22:24:58 Fix compilation warnings
nulltoken 86ecd844 2012-05-08T17:58:40 notes: add git_notes_foreach()
Vicent Martí 1c3a5a03 2012-05-14T11:25:55 Merge pull request #693 from nulltoken/topic/enhance_branch_move_test_coverage branch: cover with test that moving a non existing branch returns ENOTFOUND
Vicent Martí 8c6329ee 2012-05-14T11:25:40 Merge pull request #692 from nulltoken/fix/delete-branch_ENOTFOUND branch: make git_branch_delete() return GIT_ENOTFOUND when the branch doesn't exist
Vicent Martí c9e9ec97 2012-05-14T11:24:37 Merge pull request #688 from hanwen/master See issue https://github.com/libgit2/libgit2/issues/680
Vicent Martí e49cb168 2012-05-14T11:03:30 Merge pull request #671 from nulltoken/topic/blob_create_fromdisk Add git_blob_create_fromdisk()
Vicent Martí 72bfde97 2012-05-14T11:01:14 Merge pull request #681 from scottjg/solaris-fixes Fix build/runtime issues on Solaris
Vicent Martí 27f5b7cf 2012-05-14T10:58:23 Merge pull request #682 from arrbee/attribute-cache-buster Attribute cache buster
Scott J. Goldman 212eb09d 2012-05-13T23:12:51 Add a test to verify FILENAME_MAX Since we now rely on it (at least under Solaris), I figured we probably want to make sure it's accurate. The new test makes sure that creating a file with a name of length FILENAME_MAX+1 fails.
nulltoken 7327a090 2012-05-13T12:21:00 mergebase: enhance test code coverage
Carlos Martín Nieto f0b350eb 2012-05-07T11:48:39 tests: make sure we clean up in objects/blob/write.c
nulltoken 6ca9643c 2012-05-06T21:00:20 blob: Add git_blob_create_fromdisk() This function will create blobs in the object database from files anywhere on the filesystem. This can be run against bare and non-bare repositories.
nulltoken 48ce97dd 2012-05-13T11:03:29 branch: cover with test that moving a non existing branch returns ENOTFOUND
nulltoken 341a7136 2012-05-13T10:17:52 branch: make git_branch_delete() return GIT_ENOTFOUND when the branch doesn't exist
Han-Wen Nienhuys 24634c6f 2012-05-12T15:01:39 Handle duplicate objects from different backends in git_odb_read_prefix().
Vicent Martí b72969e0 2012-05-12T01:51:58 Merge pull request #683 from arrbee/better-repo-init Improve repo initialization to be more like git
nulltoken e28c3776 2012-05-11T23:56:23 object: make git_object_lookup() return GIT_ENOTFOUND when searching for an existing object by specifying an incorrect type This fix complements cb0ce16bbe8efe2098ef9cfffcf158301b036565 and cover the following additional use cases - retrieving an object which has been previously searched, found and cached - retrieving an object through an non ambiguous abbreviated id
Russell Belfer db628072 2012-05-11T12:16:19 Fixed leaks and added tests
Russell Belfer a7c09c0d 2012-05-10T11:15:37 Fixed mode on clar
Russell Belfer dc13f1f7 2012-05-10T11:08:59 Add cache busting to attribute cache This makes the git attributes and git ignores cache check stat information before using the file contents from the cache. For cached files from the index, it checks the SHA of the file instead. This should reduce the need to ever call `git_attr_cache_flush()` in most situations. This commit also fixes the `git_status_should_ignore` API to use the libgit2 standard parameter ordering.
Vicent Martí a9d9965b 2012-05-09T22:54:24 clar: Update from upstream
nulltoken 1956693f 2012-05-09T21:14:49 Fix MSVC compilation issue exp() is already defined in math.h. This leads to LMSVC complaining ..\..\libgit2\tests-clar\diff\blob.c(5): error C2365: 'exp' : redefinition; previous definition was 'function' Renaming the variable fixes this issue.
Michael Schubert b470019f 2012-05-09T18:01:23 tests-clar/diff: fix missing-prototype warning
Vicent Martí e65752bb 2012-05-08T16:06:27 Merge pull request #677 from arrbee/status-without-head Add support for diffing index with no HEAD
Russell Belfer 7e000ab2 2012-05-08T15:03:59 Add support for diffing index with no HEAD When a repo is first created, there is no HEAD yet and attempting to diff files in the index was showing nothing because a tree iterator could not be constructed. This adds an "empty" iterator and falls back on that when the head cannot be looked up.
Vicent Martí c99bdacf 2012-05-08T14:13:43 Merge pull request #670 from nulltoken/ntk/topic/clean-commit_message Clean commit and tag messages
Russell Belfer 364f51bd 2012-05-08T13:56:21 Merge pull request #668 from nulltoken/topic/binary-blobs Enhancing the blob diffing experience
Vicent Martí 1f796cd1 2012-05-08T13:42:11 Merge pull request #676 from carlosmn/remotes Add git_remote_add() and change signature for _new()
Russell Belfer 19579847 2012-05-08T13:23:00 Clean up warnings and tests
Carlos Martín Nieto baaa8a44 2012-05-03T20:25:56 remotes: change git_remote_new's signature Add a fetch refspec arguemnt and make the arguments (name, url, refspec), as that order makes more sense.
Carlos Martín Nieto a209a025 2012-05-03T16:08:33 remote: add git_remote_add() Helper function to create a remote with the default settings
nulltoken 722c08af 2012-05-07T21:21:48 status: Prevent git_status_file() from returning ENOTFOUND when not applicable
nulltoken 464cf248 2012-05-07T17:25:16 repository: ensure git_repository_discover() returns ENOTFOUND when unable to find a repository given the constraints
nulltoken 0b0957a6 2012-05-07T17:04:06 fileops: replace integer usage with more explicit enum in some git_futils_rmdir_r() calls
nulltoken d7d8a0bf 2012-05-07T16:16:08 repository: ensure git_repository_open() returns ENOTFOUND when being passed a path leading to no repository
nulltoken 9abb5bca 2012-05-07T13:58:01 compat: make p_realpath Windows implementation be a bit more POSIX compliant and fail if the provided path does not lead to an existing entry
nulltoken cb0ce16b 2012-05-07T15:42:13 object: make git_object_lookup() return GIT_ENOTFOUND when searching for an existing object by specifying an incorrect type
nulltoken 9fb70f37 2012-05-07T10:57:34 remote: make git_remote_load() return GIT_ENOTFOUND when the remote url cannot be retrieved from the config file
Vicent Martí 8d89c8e9 2012-05-07T13:36:02 Merge pull request #672 from scottjg/more-mingw32-fixes More mingw32 compilation fixes.
nulltoken 3191ae89 2012-05-06T13:04:12 compat: make p_open able to accept optional mode when passing the O_CREAT flag This has the nice side effect of making test_attr_repo__staging_properly_normalizes_line_endings_according_to_gitattributes_directives() test pass again on Windows. This test started to fail after commit 674a198 was applied.
nulltoken 9a29f8d5 2012-05-04T07:55:09 diff: fix the diffing of two identical blobs
nulltoken 28ef7f9b 2012-05-03T17:25:01 diff: make git_diff_blobs() able to detect binary blobs
nulltoken cfe25b13 2012-05-03T16:11:40 tests: add two binary blobs to attr test repository - edf3dce -> assets.github.com/images/icons/emoji/alien.png?v5 - de863bf -> assets.github.com/images/icons/emoji/heart.png?v5
nulltoken 4f806761 2012-05-03T17:19:06 diff: fix the diffing of a concrete blob against a null one
nulltoken 245c5eae 2012-05-03T16:34:02 diff: When diffing two blobs, ensure the delta callback parameter is filled with relevant information
nulltoken 458b9450 2012-03-01T17:03:32 commit/tag: ensure the message is cleaned up 'git commit' and 'git tag -a' enforce some conventions, like cleaning up excess whitespace and making sure that the last line ends with a '\n'. This fix replicates this behavior. Fix libgit2/libgit2sharp#117
Carlos Martín Nieto 9b62e40e 2012-05-07T11:28:26 clar helper: don't dereference giterr_last() if it's NULL It can cause segfaults if the call didn't set an error
Scott J. Goldman 17847c78 2012-05-06T23:58:41 Update clar to latest version Fixes the mingw32 build issues.
Vicent Martí cd58c15c 2012-05-05T16:47:20 Merge remote-tracking branch 'scottjg/fix-mingw32' into development Conflicts: src/netops.c src/netops.h src/transports/http.c tests-clar/clar
Vicent Martí 4ef14af9 2012-05-05T14:22:06 Merge pull request #664 from arrbee/attrs-from-index Support git attrs from index (and bare repo)
Vicent Martí d3a60dc2 2012-05-05T14:14:58 Merge pull request #663 from schu/notes-honor-config Honor core.notesRef config option
Scott J. Goldman 35cdd261 2012-05-05T13:54:33 Fix unsigned/signed comparison on Windows in commitstagedfile.c
Scott J. Goldman 06ac3e7f 2012-05-05T13:16:48 Fix clar generated code to compile on MINGW32 MINGW32 does not define _mktemp_s, so we can just use _mktemp instead. See the non-compressed/non-base64-encoded version of the patch here: http://gist.github.com/2605249
Vicent Martí 674a1985 2012-05-04T16:05:14 clar: Properly create files in helper
Russell Belfer 3ec1fa5e 2012-05-04T13:55:07 Fixing issue with test data
Russell Belfer b709e951 2012-05-04T11:06:12 Fix memory leaks and use after free
Russell Belfer f917481e 2012-05-03T16:37:25 Support reading attributes from index Depending on the operation, we need to consider gitattributes in both the work dir and the index. This adds a parameter to all of the gitattributes related functions that allows user control of attribute reading behavior (i.e. prefer workdir, prefer index, only use index). This fix also covers allowing us to check attributes (and hence do diff and status) on bare repositories. This was a somewhat larger change that I hoped because it had to change the cache key used for gitattributes files.
Michael Schubert 630c5a4a 2012-04-30T14:29:34 notes: add git_note_default_ref() Add git_note_default_ref to allow easy retrieval of the currently set default notes reference.
Michael Schubert caea5e54 2012-04-29T18:42:42 notes: honor core.notesRef Setting core.notesRef allows to change the default notes reference used by Git. Check if set before using GIT_NOTES_DEFAULT_REF. Fixes #649.
Vicent Martí 76873c09 2012-05-03T13:30:14 Silence return value warning
Vicent Martí 3fbcac89 2012-05-02T19:56:38 Remove old and unused error codes
Vicent Martí b02bcd97 2012-05-02T16:57:16 Boom
Russell Belfer 17f1c9fb 2012-05-02T16:44:47 chmod for writability when writing test files
Vicent Martí a1d08025 2012-05-02T16:33:26 Backport more test data
Vicent Martí 8c83fead 2012-05-02T16:18:55 Move test resources
Vicent Martí 946a6dc4 2012-05-02T16:14:30 Update test suite
Vicent Martí 40879fac 2012-05-02T15:59:02 Merge branch 'new-error-handling' into development 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
Russell Belfer 16b83019 2012-03-04T23:28:36 Fix usage of "new" for fieldname in public header This should restore the ability to include libgit2 headers in C++ projects. Cherry picked 2de60205dfea2c4a422b2108a5e8605f97c2e895 from development into new-error-handling.
Vicent Martí b8802146 2012-05-01T19:16:14 Merge remote-tracking branch 'carlosmn/remaining-errors' into new-error-handling Conflicts: src/refspec.c
Michael Schubert 52877c89 2012-05-01T14:28:18 tests-clar/diff: mark output_len unused
nulltoken 4e7a3c76 2012-05-01T00:33:25 attr: add test coverage related to crlf normalization while staging
nulltoken 2de0652b 2012-04-30T07:41:33 Leverage GIT_UNUSED macro to explicitly mark a function parameter as purposely unused
nulltoken 1d2dd864 2012-04-29T19:42:51 diff: provide more context to the consumer of the callbacks Update the callback to provide some information related to the file change being processed and the range of the hunk, when applicable.
Russell Belfer d58336dd 2012-04-26T10:51:45 Fix leading slash behavior in attrs/ignores 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.
Carlos Martín Nieto 3aa351ea 2012-04-26T15:05:07 error handling: move the missing parts over to the new error handling
nulltoken eb3d71a5 2012-04-25T22:23:35 diff: fix generation of the header of a removal patch
Russell Belfer c2b67043 2012-04-25T15:20:28 Rename git_khash_str to git_strmap, etc. 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 19fa2bc1 2012-04-17T15:12:50 Convert attrs and diffs to use string pools 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 2bc8fa02 2012-04-17T10:14:24 Implement git_pool paged memory allocator 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.
Carlos Martín Nieto a7d19b97 2012-04-25T15:47:53 config: also allow escaping outside of a quoted string This limitation was a misparsing of the documentation.
Vicent Martí f9f2344b 2012-04-23T17:28:11 Merge pull request #632 from arrbee/win64-cleanup Code clean up, including fixing warnings on Windows 64-bit build
Vicent Martí 4795807a 2012-04-23T17:25:11 Merge pull request #637 from nulltoken/issue/odb-refcount Fix git_repository_set_odb() refcount issue