tests


Log

Author Commit Date CI Message
Edward Thomson 92f7d32b 2015-09-12T13:46:22 diff::workdir: ensure ignored files are not returned Ensure that a diff with the workdir is not erroneously returning directories.
Edward Thomson 8e736a73 2015-09-08T15:48:44 futils: ensure we can write a hidden file
Edward Thomson ea3f2c29 2015-09-08T14:35:53 filebuf: ensure we can lock a hidden file
Carlos Martín Nieto 6d6020de 2015-09-08T18:34:51 Merge pull request #3353 from ethomson/wrongcase_add index: canonicalize directory case when adding
Edward Thomson 2964cbea 2015-09-08T11:50:08 Merge pull request #3381 from leoyanggit/index_directory_iterator New feature: add the ablility to iterate through a directory in index
Edward Thomson a32bc85e 2015-08-07T12:43:49 git_index_add: allow case changing renames On case insensitive platforms, allow `git_index_add` to provide a new path for an existing index entry. Previously, we would maintain the case in an index entry without the ability to change it (except by removing an entry and re-adding it.) Higher-level functions (like `git_index_add_bypath` and `git_index_add_frombuffers`) continue to keep the old path for easier usage.
Edward Thomson 280adb3f 2015-08-04T16:51:00 index: canonicalize directory case when adding On case insensitive systems, when given a user-provided path in the higher-level index addition functions (eg `git_index_add_bypath` / `git_index_add_frombuffer`), examine the index to try to match the given path to an existing directory. Various mechanisms can cause the on-disk representation of a folder to not match the representation in HEAD or the index - for example, a case changing rename of some file `a/file.txt` to `A/file.txt` will update the paths in the index, but not rename the folder on disk. If a user subsequently adds `a/other.txt`, then this should be stored in the index as `A/other.txt`.
Edward Thomson e1d27bca 2015-09-06T10:51:29 Merge pull request #3413 from libgit2/cmn/follow-symlink filebuf: follow symlinks when creating a lock file
Edward Thomson 9fd4c9c8 2015-09-06T10:50:22 Merge pull request #3366 from libgit2/cmn/index-hashmap Use a hashmap for path-based lookups in the index
Carlos Martín Nieto d83b2e9f 2015-09-05T03:54:06 filebuf: follow symlinks when creating a lock file We create a lockfile to update files under GIT_DIR. Sometimes these files are actually located elsewhere and a symlink takes their place. In that case we should lock and update the file at its final location rather than overwrite the symlink.
Leo Yang c097f717 2015-08-17T15:02:02 New API: git_index_find_prefix Find the first index entry matching a prefix.
Carlos Martín Nieto 21e7015c 2015-09-01T02:26:11 Merge pull request #3402 from ethomson/faster_diff Provide path matching in the iterators (for faster diffs)
Edward Thomson 03210cfa 2015-08-31T12:12:21 iterator test: handle case (in)sensitivity
Edward Thomson 4d19bced 2015-08-30T19:33:18 iterator test: use new iter opts in fifo test
Edward Thomson d53c8880 2015-08-30T19:25:47 iterator: saner pathlist matching for idx iterator Some nicer refactoring for index iteration walks. The index iterator doesn't binary search through the pathlist space, since it lacks directory entries, and would have to binary search each index entry and all its parents (eg, when presented with an index entry of `foo/bar/file.c`, you would have to look in the pathlist for `foo/bar/file.c`, `foo/bar` and `foo`). Since the index entries and the pathlist are both nicely sorted, we walk the index entries in lockstep with the pathlist like we do for other iteration/diff/merge walks.
Edward Thomson 71ef639e 2015-08-30T18:57:06 status test: brackets are now literal
Edward Thomson 1af84271 2015-08-30T18:35:57 tree_iterator: use a pathlist
Edward Thomson 4a0dbeb0 2015-08-30T17:06:26 diff: use new iterator pathlist handling When using literal pathspecs in diff with `GIT_DIFF_DISABLE_PATHSPEC_MATCH` turn on the faster iterator pathlist handling. Updates iterator pathspecs to include directory prefixes (eg, `foo/`) for compatibility with `GIT_DIFF_DISABLE_PATHSPEC_MATCH`.
Edward Thomson 3273ab3f 2015-08-28T20:06:18 diff: better document GIT_DIFF_PATHSPEC_DISABLE Document that `GIT_DIFF_PATHSPEC_DISABLE` is not necessarily about explicit path matching, but also includes matching of directory names. Enforce this in a test.
Edward Thomson aa06ecaf 2015-08-28T19:30:08 Merge pull request #3352 from ethomson/hidden win32: ensure hidden files can be staged
Edward Thomson 6c9352bf 2015-08-28T18:30:39 iterator: sort subdirs properly with pathlist When given a pathlist, don't assume that directories sort before files. Walk through any list of entries sorting before us to make sure that we've exhausted all entries that *aren't* directories. Eg, if we're searching for 'foo/bar', and we have a 'foo.c', keep advancing the pathlist to keep looking for an entry prefixed with 'foo/'.
Edward Thomson ef206124 2015-07-28T19:55:37 Move filelist into the iterator handling itself.
Edward Thomson ed1c6446 2015-07-28T11:41:27 iterator: use an options struct instead of args
Carlos Martín Nieto e451cd5c 2015-08-15T18:46:38 diff: don't error out on an invalid regex When parsing user-provided regex patterns for functions, we must not fail to provide a diff just because a pattern is not well formed. Ignore it instead.
Carlos Martín Nieto c232d6c3 2015-08-14T21:06:51 index: add tests around case switching We were missing tests for switching the case-sensitivity of an index in-memory and then looking up entries in it.
Edward Thomson 9f1af7f2 2015-08-13T10:22:50 Merge pull request #3168 from libgit2/cmn/config-tx Locking and transactional/atomic updates for config
Carlos Martín Nieto 5340d63d 2015-07-12T12:50:23 config: perform unlocking via git_transaction This makes the API for commiting or discarding changes the same as for references.
Carlos Martín Nieto 36f784b5 2015-06-01T20:02:23 config: expose locking via the main API This lock/unlock pair allows for the cller to lock a configuration file to avoid concurrent operations. It also allows for a transactional approach to updating a configuration file. If multiple updates must be made atomically, they can be done while the config is locked.
Carlos Martín Nieto b1667039 2015-06-01T19:17:03 config: implement basic transactional support When a configuration file is locked, any updates made to it will be done to the in-memory copy of the file. This allows for multiple updates to happen while we hold the lock, preventing races during complex config-file manipulation.
Carlos Martín Nieto a8792767 2015-08-11T20:44:19 remote: add failing test for a mirror refspec While we download the remote's remote-tracking branches, we don't download the tag. This points to the tag auto-follow rules interfering with the refspec.
Edward Thomson ef4857c2 2015-08-03T16:50:27 errors: tighten up git_error_state OOMs a bit more When an error state is an OOM, make sure that we treat is specially and do not try to free it.
Edward Thomson bdec3363 2015-08-03T17:48:33 win32: ensure hidden files can be staged
Michael Procter 988ea594 2015-07-27T10:13:49 Test: check restored oom error points to static buffer
Michael Procter 5ef4b860 2015-07-23T13:16:19 Add failing test for capture/restore oom error
Edward Thomson 69adb781 2015-08-03T08:33:53 Merge pull request #3325 from libgit2/cmn/filebuf-rename-error filebuf: remove lockfile upon rename errors
Carlos Martín Nieto b426ac90 2015-08-01T19:52:25 index: test that an unregistered submodule gets staged When we pass the path of a repository to `_bypath()`, we should behave like git and stage it as a `_COMMIT` regardless of whether it is registered a a submodule.
Linquize 63e5b551 2015-07-29T00:08:37 index: add test for adding an old-style submodule to index
Edward Thomson 9d4b7d25 2015-07-29T16:46:47 Merge pull request #3328 from libgit2/cmn/iterator-skip-diriter iterator: skip over errors in diriter init
Carlos Martín Nieto 0e391d85 2015-07-27T13:31:06 iterator: adjust unreadable-dir test to new behaviour We don't want the iterator to make us stop whenever we hit an unreadable dir. We should instead move over to the next item.
Carlos Martín Nieto 19d9beb7 2015-07-24T19:22:41 filebuf: remove lockfile upon rename errors When we have an error renaming the lockfile, we need to make sure that we remove it upon cleanup. For this, we need to keep track of whether we opened the file and whether the rename succeeded. If we did create the lockfile but the rename did not succeed, we remove the lockfile. This won't protect against all errors, but the most common ones (target file is open) does get handled.
Carlos Martín Nieto 668053be 2015-07-24T18:44:29 filebuf: failing test for leaving the lockfile when failing to rename When we fail to rename, we currently leave the lockfile laying around. This shows that behaviour.
Edward Thomson 2dfd5eae 2015-07-24T15:05:16 Merge pull request #3307 from libgit2/cmn/submodule-backslash Normalize submodule urls before looking at them
Edward Thomson 759b2230 2015-07-24T15:04:20 Merge pull request #3303 from libgit2/cmn/index-add-submodule Allow adding a submodule through git_index_add_bypath
Edward Thomson 91dad181 2015-07-24T15:01:04 Merge pull request #3305 from libgit2/cmn/reflog-del-backend refdb: delete a ref's reflog upon deletion
Carlos Martín Nieto ceb58739 2015-07-13T18:50:39 Merge pull request #3302 from libgit2/cmn/submodule-foreach-diff-path List a submodule only once when the path matches a submodule in the index
Carlos Martín Nieto aa51fa1e 2015-07-13T08:39:35 submodule: add failing test for backslash in url
Carlos Martín Nieto f861abad 2015-07-12T19:56:19 Merge branch 'portable-zu'
Matthew Plough 768f8be3 2015-06-30T19:00:41 Fix #3094 - improve use of portable size_t/ssize_t format specifiers. The header src/cc-compat.h defines portable format specifiers PRIuZ, PRIdZ, and PRIxZ. The original report highlighted the need to use these specifiers in examples/network/fetch.c. For this commit, I checked all C source and header files not in deps/ and transitioned to the appropriate format specifier where appropriate.
Carlos Martín Nieto 01d0c02d 2015-07-12T19:08:06 refdb: delete a ref's reflog upon deletion Removing a reflog upon ref deletion is something which only some backends might wish to do. Backends which are database-backed may wish to archive a reflog, log-based ones may not need to do anything.
Carlos Martín Nieto 247d27c2 2015-07-11T19:41:03 index: allow add_bypath to update submodules Similarly to how git itself does it, allow the index update operation to stage a change in a submodule's HEAD.
Carlos Martín Nieto 0d98af09 2015-07-11T19:03:38 blob: fail to create a blob from a dir with EDIRECTORY This also affects `git_index_add_bypath()` by providing a better error message and a specific error code when a directory is passed.
Carlos Martín Nieto a34c4f8d 2015-07-11T13:32:57 submdule: reproduce double-reporting of a submodule in foreach When we rename a submodule, we should be merging two sets of information based on whether their path is the same. We currently only deduplicate on equal name, which causes us to double-report.
Edward Thomson 9a99ca7b 2015-07-10T09:25:45 wildcard filters: move CHANGELOG message to 0.23+1
Edward Thomson bae467ae 2015-07-10T09:25:20 wildcard filters: clean up some warnings in tests
Carlos Martín Nieto 9847d80d 2015-07-09T18:21:31 Merge pull request #3281 from ethomson/wildcard_filters filters: custom filters with wildcard attributes
Edward Thomson 43ce8cb5 2015-07-07T16:46:20 revert: correct test that added trailing newline
Edward Thomson ae8f7260 2015-07-07T16:59:14 merge_files: don't add trailing newlines When invoked with three files that each lack a trailing newline, the merge result should also lack a trailing newline.
Carlos Martín Nieto 3704ac35 2015-07-07T12:38:47 Merge pull request #3277 from git-up/git_diff_index_to_index Added git_diff_index_to_index()
Carlos Martín Nieto ea445e06 2015-07-07T00:48:17 Merge pull request #3288 from ethomson/getenv git__getenv: utf-8 aware env reader
Carlos Martín Nieto 3c831113 2015-07-06T19:04:48 Merge pull request #3202 from jeffhostetler/windows_stack_trace Stacktraces with CRTDBG memory leaks on Windows
Edward Thomson e069c621 2015-07-02T09:25:48 git__getenv: utf-8 aware env reader Introduce `git__getenv` which is a UTF-8 aware `getenv` everywhere. Make `cl_getenv` use this to keep consistent memory handling around return values (free everywhere, as opposed to only some platforms).
Carlos Martín Nieto f034c851 2015-07-02T17:55:16 Merge pull request #3287 from ethomson/filter_test_cleanup filter::stream: free the filter sanely
Edward Thomson 79306d8d 2015-07-02T10:18:40 filter::stream: free the filter sanely Don't use the filter's free callback to free the actual data structure holding the filter, as we may not always actually initialize it (the test may be skipped).
Carlos Martín Nieto e8e848a8 2015-07-01T21:10:40 submodule: add failing test for loading the wrong submodule When two submodules are fairly similar, we may end up loading the wrong one.
Carlos Martín Nieto 34065968 2015-07-01T17:49:07 submodule: completely remove reload_all The function was removed, but its declaration and changelog entry about its removal were forgotten. The comment in the test doesn't make any sense as the function doesn't exist anymore, so get rid of it as well.
Edward Thomson 63924435 2015-07-01T09:40:11 filters: custom filters with wildcard attributes Allow custom filters with wildcard attributes, so that clients can support some random `filter=foo` in a .gitattributes and look up the corresponding smudge/clean commands in the configuration file.
Pierre-Olivier Latour ccef5adb 2015-06-30T09:30:20 Added git_diff_index_to_index()
Edward Thomson eb29292a 2015-06-30T14:25:51 index tests: add eol to avoid compiler warning
Edward Thomson 504b0697 2015-06-30T14:25:00 checkout test: mark unused vars
Carlos Martín Nieto 7bfdd1c2 2015-06-30T10:21:06 Merge pull request #3270 from ethomson/warnings2 Remove some warnings
Edward Thomson 64c415c2 2015-06-29T22:12:20 checkout test: check getcwd return value
Edward Thomson eadf3715 2015-06-29T22:10:45 clar: test chdir
Edward Thomson d88abb89 2015-06-29T21:54:06 filter test: pass base type
Edward Thomson 0175971e 2015-06-29T15:21:22 stash: const up conflict params
Edward Thomson 2cf33fee 2015-06-29T15:20:34 index test: include repository.h for decl
Jeff Hostetler 93b42728 2015-06-09T14:38:30 Include stacktrace summary in memory leak output.
Carlos Martín Nieto c28a5c97 2015-06-29T21:10:47 submodule: remove trailing slashes from submodule paths We allow looking up a submodule by path, but we lost the path normalisation during the recent changes. Bring it back.
Carlos Martín Nieto fa399750 2015-06-27T21:26:27 Merge pull request #3265 from libgit2/leaks Plug a bunch of leaks
Carlos Martín Nieto 92ec9ed3 2015-06-27T21:15:00 Merge pull request #3260 from ethomson/apply_with_reflog_indices stash: test we apply using reflog-like indices
Carlos Martín Nieto 24fa21f3 2015-06-26T18:59:53 index, iterator, fetchhead: plug leaks
Carlos Martín Nieto afd8a94e 2015-06-26T18:49:39 checkout: plug a few leaks
Carlos Martín Nieto 9568660f 2015-06-26T18:31:39 diff: fix leaks in diff printing
Carlos Martín Nieto cfafeb84 2015-06-26T18:11:05 Merge pull request #3263 from git-up/fixes Fixes
Edward Thomson ee6eed51 2015-06-25T19:04:04 stash: test we apply using reflog-like indices
Carlos Martín Nieto 354268ca 2015-06-26T17:46:35 Merge pull request #3259 from ethomson/stash_apply_argh Stash apply: stage new files even when not updating the index
Pierre-Olivier Latour 492851c9 2015-06-26T08:18:06 Removed unused variables
Vicent Marti 13e5e344 2015-06-26T16:52:26 test-diff-blob: Pass proper nibble sizes
Vicent Marti a2f8d1ae 2015-06-26T16:48:58 revparse: Add test to make sure this doesn't regress
Edward Thomson 619423f2 2015-06-19T11:11:12 diff: test we don't update index unnecessarily Test that workdir diffs, when presented with UPDATE_INDEX, only write the index when they actually make a change.
Edward Thomson c0280bdd 2015-06-25T18:55:48 Merge pull request #3255 from libgit2/cmn/rename-unspecified Rename FALLBACK to UNSPECIFIED
Edward Thomson b7f5cb8d 2015-06-20T19:33:15 stash: stage new files when unstashing them Files that were new (staged additions) in the stash tree should be staged when unstashing, even when not applying the index.
Edward Thomson 82b1c93d 2015-06-20T13:44:22 stash: don't allow apply with staged changes
Edward Thomson 1db6a0ab 2015-06-19T17:29:59 stash apply: add a newly staged file to tests
Edward Thomson 3b66c6a3 2015-06-25T15:36:53 Merge pull request #3256 from libgit2/cmn/fetch-spec-fetchhead remote: insert refspecs with no rhs in FETCH_HEAD
Edward Thomson 87987fd1 2015-06-25T15:26:43 Merge pull request #3246 from libgit2/cmn/dont-grow-borrowed Don't allow growing borrowed buffers
Carlos Martín Nieto 23aa7c90 2015-06-25T13:40:38 remote: insert refspecs with no rhs in FETCH_HEAD When a refspec contains no rhs and thus won't cause an explicit update, we skip all the logic, but that means that we don't update FETCH_HEAD with it, which is what the implicit rhs is. Add another bit of logic which puts those remote heads in the list of updates so we put them into FETCH_HEAD.
Carlos Martín Nieto c2418f46 2015-06-25T12:48:44 Rename FALLBACK to UNSPECIFIED Fallback describes the mechanism, while unspecified explains what the user is thinking.
Carlos Martín Nieto a6599235 2015-06-24T19:32:56 buffer: make use of EINVALID for growing a borrowed buffer This explains more closely what happens. While here, set an error message.
Carlos Martín Nieto caab22c0 2015-06-23T15:41:58 buffer: don't allow growing borrowed buffers When we don't own a buffer (asize=0) we currently allow the usage of grow to copy the memory into a buffer we do own. This muddles the meaning of grow, and lets us be a bit cavalier with ownership semantics. Don't allow this any more. Usage of grow should be restricted to buffers which we know own their own memory. If unsure, we must not attempt to modify it.
Carlos Martín Nieto daacf96d 2015-06-24T23:34:40 Merge pull request #3097 from libgit2/cmn/submodule-config-state Remove run-time configuration settings from submodules