tests-clar


Log

Author Commit Date CI Message
Russell Belfer cccacac5 2012-11-14T22:41:51 Add POSIX compat lstat() variant for win32 The existing p_lstat implementation on win32 is not quite POSIX compliant when setting errno to ENOTDIR. This adds an option to make is be compliant so that code (such as checkout) that cares to have separate behavior for ENOTDIR can use it portably. This also contains a couple of other minor cleanups in the posix_w32.c implementations to avoid unnecessary work.
Vicent Martí 513e794e 2012-11-13T14:59:18 Merge pull request #1068 from carlosmn/config-empty-value Deal with empty and nonexsitent values in config
Carlos Martín Nieto 0da81d2b 2012-11-13T14:43:23 config: return an emtpy string when there is no value Returning NULL for the string when we haven't signaled an error condition is counter-intuitive and causes unnecessary edge cases. Return an empty string when asking for a string value for a configuration variable such as '[section] var' to avoid these edge cases. If the distinction between no value and an empty value is needed, this can be retrieved from the entry directly. As a side-effect, this change stops the int parsing functions from segfaulting on such a variable.
Vicent Martí aa1c3b58 2012-11-13T14:13:47 Merge pull request #1016 from arrbee/fix-checkout-dir-removal Update checkout with new strategies & behavior
Carlos Martín Nieto 47db054d 2012-11-13T13:41:01 config: distinguish between a lone variable name and one without rhs '[section] variable' and '[section] variable =' behave differently when parsed as booleans, so we need to store that distinction internally.
Carlos Martín Nieto 3ee078c0 2012-11-13T13:46:17 config: rename get_config_entry -> config_entry We're already in the git_config namespace, there is no need to repeat it.
Edward Thomson d6fb0924 2012-11-05T12:37:15 Win32 CryptoAPI and CNG support for SHA1
Edward Thomson 603bee07 2012-11-12T19:22:49 Remove git_hash_ctx_new - callers now _ctx_init()
Ben Straub e45423dd 2012-11-13T05:45:08 Merge pull request #1065 from nulltoken/fix/memory-leak Fix memory leaks
Michael Schubert d51e54f1 2012-11-13T14:28:44 Remove unused variables
nulltoken 4e547eee 2012-11-13T07:11:24 test: fix memory leak
Vicent Marti 9a50026b 2012-11-12T15:38:28 clar-helpers: Oops, grab pointer
Vicent Marti 19c044a1 2012-11-12T14:23:17 Merge remote-tracking branch 'ben/local-transport' into development
nulltoken b1a3a70e 2012-11-12T00:14:51 repository: Refine repository_head() error report
nulltoken ef887151 2012-11-11T23:52:37 Fix compilation warning
Edward Thomson b0f6e45d 2012-11-01T15:47:18 create FETCH_HEAD specially instead of as a ref file
Vicent Martí d18713fb 2012-11-10T20:24:53 Merge pull request #1056 from nulltoken/duplicate-tree-entries Duplicate tree entries
nulltoken 33f95a9b 2012-11-10T21:01:05 index: refine add_from_workdir() error report
nulltoken 69c068c7 2012-11-10T20:42:45 index: make git_index_new() work with a NULL path
nulltoken 353e9916 2012-11-10T16:43:05 tests: Add missing assertions
Ben Straub 2ff1a0d0 2012-11-09T16:59:46 Helpers for local-filesystem remote URLs
Russell Belfer 757b4065 2012-11-09T14:01:44 Fix warnings and valgrind issues This fixes some various warnings that showed up in Travis and a couple uses of uninitialized memory and one memory leak.
Russell Belfer 8064ecba 2012-11-09T10:48:25 Update reset hard test The `git_reset` API with the HARD option is still slightly broken, but this test now does exercise the ability of the command to revert modified files.
Russell Belfer ad9a921b 2012-11-08T17:05:07 Rework checkout with new strategy options This is a major reworking of checkout strategy options. The checkout code is now sensitive to the contents of the HEAD tree and the new options allow you to update the working tree so that it will match the index content only when it previously matched the contents of the HEAD. This allows you to, for example, to distinguish between removing files that are in the HEAD but not in the index, vs just removing all untracked files. Because of various corner cases that arise, etc., this required some additional capabilities in rmdir and other utility functions. This includes the beginnings of an implementation of code to read a partial tree into the index based on a pathspec, but that is not enabled because of the possibility of creating conflicting index entries.
Russell Belfer 18eff2ad 2012-11-08T16:44:39 Clean up a couple things missed in rebase
Russell Belfer 32def5af 2012-10-24T17:37:07 Fix checkout behavior when its hands are tied So, @nulltoken created a failing test case for checkout that proved to be particularly daunting. If checkout is given only a very limited strategy mask (e.g. just GIT_CHECKOUT_CREATE_MISSING) then it is possible for typechange/rename modifications to leave it unable to complete the request. That's okay, but the existing code did not have enough information not to generate an error (at least for tree/blob conflicts). This led me to a significant reorganization of the code to handle the failing case, but it has three benefits: 1. The test case is handled correctly (I think) 2. The new code should actually be much faster than the old code since I decided to make checkout aware of diff list internals. 3. The progress value accuracy is hugely increased since I added a fourth pass which calculates exactly what work needs to be done before doing anything.
Russell Belfer 331e7de9 2012-10-24T17:32:50 Extensions to rmdir and mkdir utilities * Rework GIT_DIRREMOVAL values to GIT_RMDIR flags, allowing combinations of flags * Add GIT_RMDIR_EMPTY_PARENTS flag to remove parent dirs that are left empty after removal * Add GIT_MKDIR_VERIFY_DIR to give an error if item is a file, not a dir (previously an EEXISTS error was ignored, even for files) and enable this flag for git_futils_mkpath2file call * Improve accuracy of error messages from git_futils_mkdir
nulltoken 55f9837f 2012-11-09T21:49:50 config: make git_config_open_level() work with an empty config
Ben Straub 11fabe73 2012-11-08T20:18:19 Local fetch: add tests
Ben Straub 505da062 2012-11-06T10:26:06 Implement local transport's fetch
nulltoken f92bcaea 2012-11-08T17:39:23 index: prevent tree creation from a non merged state Fix libgit2/libgit2sharp#243
nulltoken 7cc1bf0f 2012-11-08T21:08:59 index: Introduce git_index_has_conflicts()
nulltoken 29cc374d 2012-11-08T17:37:01 tree: enforce coverage of silent entry replacement
delanne bcad677b 2012-11-08T12:28:21 - Update 'tests-clar/resources/config/config11' in order to reproduce the invalidread with the unittest (just added some \n at the end of the file) - Fix config_file.c
Vicent Martí 8ff2b0c7 2012-11-07T16:30:55 Merge pull request #1039 from erikvanzijst/erik/tag_without_message Correctly parse tags lacking a description
Russell Belfer a5e85d86 2012-11-05T11:06:50 Merge pull request #1046 from libgit2/empty-remote-url-crash Bail out of remote loading if the URL would be NULL
Justin Spahr-Summers 6edefa14 2012-11-05T10:58:08 Revert "Don't expect the 'empty-remote-url' remote to be listed" Apparently git_remote_list() includes even remotes for which git_remote_load() would fail. Sorry @nulltoken, false alarm. This reverts commit f358ec143c8c9952227d31cd21c24f8c9be23d3c.
Justin Spahr-Summers f358ec14 2012-11-05T10:45:26 Don't expect the 'empty-remote-url' remote to be listed CC @nulltoken
Justin Spahr-Summers 1fe99aee 2012-11-05T10:44:48 Test for GITERR_INVALID
Russell Belfer 065be7a1 2012-11-05T10:44:21 Merge pull request #1044 from dahlbyk/repo/state Fix state when HEAD is not detached
Vicent Martí 942a7698 2012-11-05T06:54:34 Merge pull request #1034 from carlosmn/packbuilder-foreach Let the user grab the packfile as it's being written
nulltoken a2a61894 2012-11-05T07:49:37 remote: Add malformed remote load test
Keith Dahlby 35d255fd 2012-11-04T12:13:42 repo: fix state when HEAD is not detached
Erik van Zijst 6bb9fea1 2012-11-02T10:28:17 tags: Fixed the tag parser to correctly treat the message field as optional. This fix makes libgit2 capable of parsing annotated tag objects that lack the optional message/description field. Previously, libgit2 treated this field as mandatory and raised a tag_error on such tags. However, the message field is optional. An example of such a tag is refs/tags/v2.6.16.31-rc1 in Linux: $ git cat-file tag refs/tags/v2.6.16.31-rc1 object afaa018cefb6af63befef1df7d8febaae904434f type commit tag v2.6.16.31-rc1 tagger Adrian Bunk <bunk@stusta.de> 1162716505 +0100 $
Vicent Martí 1362a983 2012-11-02T10:00:28 Merge pull request #1014 from arrbee/diff-rename-detection Initial implementation of diff rename detection
Vicent Martí d13da328 2012-11-01T14:18:40 Merge pull request #1038 from arrbee/doc-fixes Improve docs, examples, warnings
Russell Belfer b90500f0 2012-11-01T14:08:30 Improve docs, examples, warnings This improves docs in some of the public header files, cleans up and improves some of the example code, and fixes a couple of pedantic warnings in places.
Vicent Marti 43eeca04 2012-11-01T20:24:43 index: Fix tests
Vicent Martí 7ae73e94 2012-11-01T09:15:29 Merge pull request #1030 from pwkelley/transports Reorganize transport architecture
Philip Kelley e068f2bb 2012-11-01T11:50:08 Fix a bug in cl_setenv on Windows XP
Philip Kelley 41fb1ca0 2012-10-29T13:41:14 Reorganize transport architecture (squashed 3)
Carlos Martín Nieto 3dfed9cb 2012-10-31T10:26:04 packbuilder: add git_packbuilder_foreach Let the user get each object as a buffer+size pair so they can handle the packfile content as they need to.
Russell Belfer 744cc03e 2012-10-30T12:10:36 Add git_config_refresh() API to reload config This adds a new API that allows users to reload the config if the file has changed on disk. A new config callback function to refresh the config was added. The modified time and file size are used to test if the file needs to be reloaded (and are now stored in the disk backend object). In writing tests, just using mtime was a problem / race, so I wanted to check file size as well. To support that, I extended `git_futils_readbuffer_updated` to optionally check file size in addition to mtime, and I added a new function `git_filebuf_stats` to fetch the mtime and size for an open filebuf (so that the config could be easily refreshed after a write). Lastly, I moved some similar file checking code for attributes into filebuf. It is still only being used for attrs, but it seems potentially reusable, so I thought I'd move it over.
Vicent Martí efde4225 2012-10-30T12:04:28 Merge pull request #1017 from arrbee/diff-patch-to-str Add git_diff_patch_to_str API
Vicent Martí c4a9ded0 2012-10-30T12:03:22 Merge pull request #1026 from nulltoken/repo/state repo: enhance git_repository_state() detection
Vicent Martí 6c21358a 2012-10-30T11:51:58 Merge pull request #1029 from ethomson/index_refactor Index changes
Michael Schubert 6cfbbf7e 2012-10-30T18:50:59 Fix a couple of warnings
Russell Belfer db106d01 2012-10-30T09:40:50 Move rename detection into new file This improves the naming for the rename related functionality moving it to be called `git_diff_find_similar()` and renaming all the associated constants, etc. to make more sense. I also moved the new code (plus the existing `git_diff_merge`) into a new file `diff_tform.c` where I can put new functions related to manipulating git diff lists. This also updates the implementation significantly from the last revision fixing some ordering issues (where break-rewrite needs to be handled prior to copy and rename detection) and improving config option handling.
Edward Thomson f45ec1a0 2012-10-29T20:04:21 index refactoring
Ben Straub 81eecc34 2012-10-29T13:34:14 Fetch: don't clobber received count This memset was being reached after the entire packfile under WinHttp, so the byte count was being lost for small repos.
nulltoken 31966d20 2012-10-27T09:30:03 repo: enhance git_repository_state() detection
nulltoken 00e161b9 2012-10-26T22:09:28 tests: fix a memory leak
nulltoken e4c64cf2 2012-10-08T20:07:55 stash: add git_stash_drop()
nulltoken 23388413 2012-10-04T15:13:43 stash: add git_stash_foreach()
nulltoken 590fb68b 2012-10-04T13:47:45 stash: add git_stash_save()
nulltoken 1f87fa35 2012-10-09T18:29:26 reflog: fix bogus removal of reflog entries
nulltoken 65d12df5 2012-10-03T15:04:59 message: reorganize tests
Russell Belfer 1b934689 2012-10-25T10:55:03 Merge pull request #925 from nulltoken/topic/moving-branch-updates-config Updates config upon moving and deletion of branches
Ben Straub 1fc375e6 2012-10-25T09:02:55 Fix Windows build Pedantic ordering of GIT_UNUSED vs. variable declarations.
nulltoken fcccf304 2012-09-09T20:39:13 remote: introduce git_remote_rename()
nulltoken 3a14d3e2 2012-10-01T11:58:15 buf: introduce git_buf_splice()
nulltoken e497b16c 2012-09-17T14:22:18 remote: prevent from saving a nameless remote
nulltoken 383f164a 2012-09-07T17:55:30 branch: rename config section upon moving
nulltoken 0b98a8a4 2012-09-07T15:13:11 branch: remove config section upon deletion
Vicent Martí 1eb8cd7f 2012-10-25T08:16:13 Merge pull request #990 from ben/clone-callbacks Progress callbacks
Russell Belfer 93cf7bb8 2012-10-24T20:56:32 Add git_diff_patch_to_str API This adds an API to generate a complete single-file patch text from a git_diff_patch object.
Edward Thomson 03bdb2ad 2012-10-23T16:32:01 GIT_EUNMERGED
Edward Thomson 632d8b23 2012-10-23T15:42:09 reset changes for merge
Ben Straub 1e3b8ed5 2012-10-24T14:07:07 Remove 'bytes' param from git_remote_download
Ben Straub 7d222e13 2012-10-24T13:29:14 Network progress: rename things git_indexer_stats and friends -> git_transfer_progress* Also made git_transfer_progress members more sanely named.
Michael Schubert 6f6b0c01 2012-10-24T15:42:09 tests-clar/repo: remove unused variable
Russell Belfer b4f5bb07 2012-10-23T16:40:51 Initial implementation of diff rename detection This implements the basis for diff rename and copy detection, although it is based on simple SHA comparison right now instead of using a matching algortihm. Just as `git_diff_merge` can be used as a post-pass on diffs to emulate certain command line behaviors, there is a new API `git_diff_detect` which will update a diff list in-place, adjusting some deltas to RENAMED or COPIED state (and also, eventually, splitting MODIFIED deltas where the change is too large into DELETED/ADDED pairs). This also adds a new test repo that will hold rename/copy/split scenarios. Right now, it just has exact-match rename and copy, but the tests are written to use tree diffs, so we should be able to add new test scenarios easily without breaking tests.
yorah a1abe66a 2012-09-10T12:11:02 Add config level support in the config API Added `struct git_config_entry`: a git_config_entry contains the key, the value, and the config file level from which a config element was found. Added `git_config_open_level`: build a single-level focused config object from a multi-level one. We are now storing `git_config_entry`s in the khash of the config_file
yorah f8ede948 2012-09-18T14:10:40 Fix adding variable to config file with no trailing newline This can occur after a manual modification of a config file.
Vicent Martí 8a89aa1f 2012-10-22T12:04:48 Merge pull request #963 from carlosmn/remote-save-autotag Save the autotag configuration for remotes
nulltoken f36fb761 2012-10-20T19:23:04 tests: more git_repository_head_detached() coverage
nulltoken c436ed26 2012-10-20T12:09:02 reset: make git_reset() cope with an orphaned HEAD
nulltoken cd1ef822 2012-10-20T12:07:53 test: extract make_head_orphaned() logic
nulltoken 209e34fa 2012-10-20T10:44:01 tests: leverage git_repository_detach_head()
Ben Straub 9c05c17b 2012-10-19T20:05:18 Checkout progress now reports completed/total steps
Ben Straub cd001bbb 2012-10-19T19:37:47 Fix from rebase
Ben Straub 25e8b201 2012-10-18T15:35:03 Fix broken tests
Ben Straub 30a46ab1 2012-10-18T14:04:14 Adjust for rebase
Ben Straub aa1e8674 2012-10-18T12:57:47 Clone: in-line callbacks for progress Also implemented in the git2 example.
Ben Straub 216863c4 2012-10-17T14:02:24 Fetch/indexer: progress callbacks
nulltoken 0ae81fc4 2012-10-17T15:30:22 index: remove read_tree() progress indicator git_index_read_tree() was exposing a parameter to provide the user with a progress indicator. Unfortunately, due to the recursive nature of the tree walk, the maximum number of items to process was unknown. Thus, the indicator was only counting processed entries, without providing any information how the number of remaining items.
Ben Straub 183d8bdd 2012-10-16T20:33:48 Remove checkout_stats from git_clone
Ben Straub 80642656 2012-10-16T20:23:10 Convert checkout_* to use progress callback
Ben Straub 2c8bbb27 2012-10-16T20:16:21 Convert checkout_index to use progress callback
Ben Straub 3028be07 2012-10-16T13:10:27 Add git_indexer_stats field to git_remote Also removing all the *stats parameters from external APIs that don't need them anymore.