tests-clar


Log

Author Commit Date CI Message
Ben Straub 1c7eb971 2012-07-10T12:04:23 Reindent.
Ben Straub acdd3d95 2012-06-21T19:51:56 Clone: allow empty dirs.
Ben Straub 5a20196f 2012-06-21T15:11:13 Fix warning on msvc build.
Ben Straub 94161115 2012-06-21T10:34:11 Clone: minor cleanup and whitespace.
Ben Straub 8340dd5d 2012-06-20T14:17:54 Clone: remove fragile path-handling code. Also standardized on 3-space indentation. Sorry about that.
Ben Straub da73fb70 2012-06-20T12:48:41 Disable long-running test.
Ben Straub 3c4b008c 2012-06-20T12:43:28 Disable failing test (for now).
Ben Straub f2a855d5 2012-06-19T20:37:12 Clone: restructure.
Ben Straub bb1f6087 2012-06-19T09:15:39 Add progress reporting to clone.
Ben Straub 764df57e 2012-06-15T13:14:43 Add git_clone and git_clone_bare. So far they only create a repo, setup the "origin" remote, and fetch. The API probably needs work as well; there's no way to get progress information at this point. Also uncovered a shortcoming; git_remote_download doesn't fetch over local transport.
Carlos Martín Nieto 9311423c 2012-06-21T02:30:30 tests: plug a leak in the repo tests The second call to assert_config_entry_on_init_bytype is cleaned up by the main cleanup function, but that overwrites the first _repo. Make sure that one doesn't leak.
Ben Straub eb6bc45f 2012-06-19T21:11:48 Avoid uninitialized variable error.
Carlos Martín Nieto cdca82c7 2012-06-20T00:46:26 Plug a few leaks
Vicent Martí c3ce8d0c 2012-06-19T15:17:35 Merge pull request #775 from arrbee/fix-index-filemodes Make index add/append support core.filemode flag
Vicent Martí 52329940 2012-06-19T15:04:45 Merge pull request #768 from nulltoken/topic/expose-message-prettify message: Expose git_message_prettify()
Russell Belfer da825c92 2012-06-19T14:27:02 Make index add/append support core.filemode flag This fixes git_index_add and git_index_append to behave more like core git, preserving old filemode data in the index when adding and/or appending with core.filemode = false. This also has placeholder support for core.symlinks and core.ignorecase, but those flags are not implemented (well, symlinks has partial support for preserving mode information in the same way that git does, but it isn't tested).
Ben Straub 2c90145a 2012-06-19T09:24:44 Fix potential segfault in revparse.
nulltoken 743a4b3b 2012-06-15T22:24:59 message: Expose git_message_prettify() git_commit() and git_tag() no longer prettify the message by default. This has to be taken care of by the caller. This has the nice side effect of putting the caller in position to actually choose to strip the comments or not.
Vicent Martí 68f527c4 2012-06-18T17:50:12 Merge pull request #758 from libgit2/config-values-containing-quotes Quotes inside config values don't survive serialization/deserialization
Vicent Marti 8c4c357f 2012-06-19T02:43:36 clar: Fix warnings
Vicent Martí 31eed56b 2012-06-18T17:36:14 Merge pull request #753 from nulltoken/topic/merge-base-many Expose git_merge_base_many()
Vicent Marti b93688d0 2012-06-19T02:33:03 Merge remote-tracking branch 'yorah/fix/notes-creation' into development Conflicts: src/notes.c
Vicent Marti 515a4c7c 2012-06-19T00:59:04 tree: Proper path comparison logic
Tim Clem e00b56eb 2012-06-15T10:15:57 Fix broken tests caused by no longer prettifying by default
Carlos Martín Nieto 67d334c1 2012-06-11T16:57:02 config: add more tests for writing escaped chars
Adam Roben 750be86a 2012-06-09T12:45:21 Add a test that shows we don't preserve quotes in config values
Frederick Ros fa45d25f 2012-06-13T14:03:48 Fix issue #763
yorah 027d77ee 2012-06-06T16:41:42 notes: simplify tests
nulltoken 7623b1b6 2012-06-11T11:33:13 repository: make git_repository_init() value the core.logallrefupdates config entry
nulltoken 976b69bd 2012-06-11T11:06:53 repository: widen test coverage regarding initialization and configuration entries
Adam Roben cfc17dc4 2012-06-09T17:43:18 Add a test showing that git_status_file gets confused by spaces in .gitignore
Russell Belfer 145e696b 2012-06-08T11:56:24 Minor fixes, cleanups, and clarifications There are three actual changes in this commit: 1. When the trailing newline of a file is removed in a diff, the change will now be reported with `GIT_DIFF_LINE_DEL_EOFNL` passed to the callback. Previously, the `ADD_EOFNL` constant was given which was just an error in my understanding of when the various circumstances arose. `GIT_DIFF_LINE_ADD_EOFNL` is deprecated and should never be generated. A new newline is simply an `ADD`. 2. Rewrote the `diff_delta__merge_like_cgit` function that contains the core logic of the `git_diff_merge` implementation. The new version doesn't actually have significantly different behavior, but the logic should be much more obvious, I think. 3. Fixed a bug in `git_diff_merge` where it freed a string pool while some of the string data was still in use. This led to `git_diff_print_patch` accessing memory that had been freed. The rest of this commit contains improved documentation in `diff.h` to make the behavior and the equivalencies with core git clearer, and a bunch of new tests to cover the various cases, oh and a minor simplification of `examples/diff.c`.
Russell Belfer 0abd7244 2012-06-04T16:17:41 Fix filemode comparison in diffs File modes were both not being ignored properly on platforms where they should be ignored, nor be diffed consistently on platforms where they are supported. This change adds a number of diff and status filemode change tests. This also makes sure that filemode-only changes are included in the diff output when they occur and that filemode changes are ignored successfully when core.filemode is false. There is no code that automatically toggles core.filemode based on the capabilities of the current platform, so the user still needs to be careful in their .git/config file.
yorah a02e7249 2012-05-29T17:53:29 notes: simplify the handling of fanouts - Do not create new levels of fanout when creating notes from libgit2 - Insert a note in an existing matching fanout - Remove a note from an existing fanout - Cleanup git_note_read, git_note_remove, git_note_foreach, git_note_create methods in order use tree structures instead of tree_oids
Ben Straub e272efcb 2012-06-08T11:24:37 Tests: wrap 'getenv' and friends for Win32 tests.
yorah 3a0d1e12 2012-05-10T15:32:52 notes: add failing test
yorah 454cc829 2012-05-29T13:28:26 notes: add test resource with faked two-level fanout
Vicent Martí 3f035860 2012-06-07T22:43:03 misc: Fix warnings from PVS Studio trial
Ben Straub 763b8381 2012-06-07T13:22:50 Fixing rev-parse-induced Travis errors.
Vicent Martí 6c08e69f 2012-06-07T12:30:20 Merge pull request #669 from nulltoken/topic/reset Add git_reset()
Vicent Martí b9ebcc59 2012-06-07T12:29:31 Merge pull request #684 from benstraub/rev-parse Rev parse
nulltoken edebceff 2012-05-01T13:57:45 Add git_reset() Currently supports Soft and Mixed modes.
Vicent Martí cddb8efe 2012-06-07T11:34:48 Merge pull request #704 from nulltoken/topic/blob_fromchunks Add the ability to create blob given a provider of chunks of bytes
nulltoken cd445767 2012-05-27T15:00:05 blob: add git_blob_create_fromchunks()
Vicent Martí 5bb54582 2012-06-07T09:44:08 Merge pull request #752 from nulltoken/fix/warning Fix compilation warning and failing test
nulltoken b46bdb22 2012-05-25T16:28:53 merge: Expose git_merge_base_many()
Adam Roben 8e60c712 2012-06-07T09:50:19 Fix git_status_file for files that start with a character > 0x7f git_status_file would always return GIT_ENOTFOUND for these files. The underlying bug was that git__strcmp_cb, which is used by git_path_with_stat_cmp to sort entries in the working directory, compares strings based on unsigned chars (this is confirmed by the strcmp(3) manpage), while git__prefixcmp, which is used by workdir_iterator__entry_cmp to search for a path in the working directory, compares strings based on char. So the sort puts this path at the end of the list, while the search expects it to be at the beginning. The fix was simply to make git__prefixcmp compare using unsigned chars, just like strcmp(3). The rest of the change is just adding/updating tests.
nulltoken 6183f0e2 2012-06-07T14:55:24 merge: cleanup tests
nulltoken 6654dbe3 2012-06-07T14:09:25 tests: fix assertion
Ben Straub 36c08022 2012-06-06T12:39:29 Omit failing test on 32-bit machines. This test is intended to verify that 64-bit machines can handle parsing dates in 2039 and beyond, and fails on 32-bit machines. It is now omitted when run on a 32-bit machine to eliminate an expected failure.
Ben Straub 8a385c04 2012-06-06T12:25:22 Move git__date_parse declaration to util.h.
Vicent Martí eadc0e03 2012-06-05T13:41:13 Merge pull request #747 from nulltoken/topic/init-filemode Make git_repository_init() value "core.filemode" and "core.ignorecase"
nulltoken 693b23c0 2012-06-05T14:29:10 repository: make git_repository_init() value the core.ignorecase config entry
Vicent Marti a146ba9e 2012-06-05T22:16:08 tests: Fix warning with nested comments
Ben Straub 56a5000d 2012-06-05T12:52:44 Merge branch 'development' into rev-parse Conflicts: src/util.h tests-clar/refs/branches/listall.c
nulltoken fac66990 2012-06-05T13:56:44 repository: make git_repository_init() value the core.filemode config entry
Carlos Martín Nieto 01dbe273 2012-06-04T15:10:29 Merge pull request #737 from nulltoken/topic/git_remote_add_refspec Remotes and refspecs
nulltoken d27bf665 2012-05-30T00:50:39 remote: Make git_remote_add() generate a default refspec with a force update specifier
Arthur Schreiber 36c88422 2012-06-02T16:48:12 Add a failing test case for git_remote_disconnect/git_remote_connected.
Ben Straub 734efe4b 2012-06-01T14:18:52 Rev-parse: implement ":/foo" syntax.
Ben Straub 2497106f 2012-06-01T11:41:54 Rev-parse: add test with deeper path.
Ben Straub 244d2f6b 2012-05-30T16:52:11 Rev-parse: add "tag:README" syntax.
Ben Straub dd9e4abc 2012-05-30T11:46:42 Approxidate: use libgit2 naming/calling conventions. Also use git_time_t (64-bit integer) for time values, although the 2038 problem is still present on 32-bit machines.
nulltoken d05e2c64 2012-05-30T00:27:22 refspec: expose the force update specifier through git_refspec_force() accessor
Michael Schubert dbab0459 2012-05-26T14:59:07 tests-clar/core: fix non-null warning gcc 4.7.0 apparently doesn't see that we won't call setenv with NULL as second argument.
Russell Belfer 29ef309e 2012-05-25T09:44:56 Make errors for system and global files consistent The error codes from failed lookups of system and global files on Windows were not consistent with the codes returned on other platforms. This makes the error detection patterns match and adds a unit test for the various errors.
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