tests-clar


Log

Author Commit Date CI Message
Russell Belfer 5dca2010 2012-08-03T17:08:01 Update iterators for consistency across library This updates all the `foreach()` type functions across the library that take callbacks from the user to have a consistent behavior. The rules are: * A callback terminates the loop by returning any non-zero value * Once the callback returns non-zero, it will not be called again (i.e. the loop stops all iteration regardless of state) * If the callback returns non-zero, the parent fn returns GIT_EUSER * Although the parent returns GIT_EUSER, no error will be set in the library and `giterr_last()` will return NULL if called. This commit makes those changes across the library and adds tests for most of the iteration APIs to make sure that they follow the above rules.
Michael Schubert 0aeae705 2012-07-25T17:01:50 tests-clar/status: fix missing-prototype warning
yorah a1773f9d 2012-07-23T18:16:09 Add flag to turn off pathspec testing for diff and status
aroben 151446ca 2012-07-03T17:46:07 Add a test for getting status of files containing brackets
yorah e5e71f5e 2012-07-18T16:26:11 Add more test coverage to match default git behavior for files containing brackets
yorah 02a0d651 2012-07-12T16:31:59 Add git_buf_unescape and git__unescape to unescape all characters in a string (in-place)
Carlos Martín Nieto 279b45b0 2012-07-23T21:22:53 revparse: don't allow an empty string Asking the library for "" used to give HEAD, but that's trying to impose a default at the wrong layer. Make it fail.
Carlos Martín Nieto 14e1bc15 2012-07-21T17:54:56 tests: plug a leak in the config stress
Vicent Martí 5b786963 2012-07-21T07:56:59 Merge pull request #818 from nulltoken/rework Revparse rework
Carlos Martín Nieto 5d9cfa07 2012-07-20T17:52:53 config: escape subsection names when creating them This allows us to set options like "some.foo\\ish.var". This closes #830
Russell Belfer 71d27358 2012-07-19T10:23:45 Fix bug with merging diffs with null options A diff that is created with a NULL options parameter could result in a NULL prefix string, but diff merge was unconditionally strdup'ing it. I added a test to replicate the issue and then a new method that does the right thing with NULL values.
nulltoken db9be945 2012-07-15T11:06:15 object: introduce git_object_peel() Partially fix #530
nulltoken d448392e 2012-07-15T00:46:01 revparse: extend test coverage
nulltoken b0f15338 2012-07-15T00:45:20 revparse: add reflog test data
nulltoken d1b7921a 2012-07-12T11:46:20 revparse: fix disambiguation of refs and abbrev oids
nulltoken bb89cf94 2012-07-12T10:57:31 revparse: simplify handling of the colon syntax
nulltoken dc1f4b32 2012-07-12T10:52:19 tree: unfound tree entry returns GIT_ENOTFOUND
Russell Belfer 465092ce 2012-07-12T11:56:50 Fix memory leak in test
Carlos Martín Nieto eca67c58 2012-07-12T20:40:09 tests: fix git_odb_foreach() object count Some objects were added in another PR
Vicent Martí dd4345b4 2012-07-12T09:42:54 Merge pull request #789 from carlosmn/odb-foreach odb: add git_odb_foreach()
Vicent Martí 0cf6b2f2 2012-07-12T09:37:09 Merge pull request #805 from nulltoken/fix/revwalk-email-parsing Fix revwalk email parsing
Vicent Martí db2d4061 2012-07-12T09:35:35 Merge pull request #814 from nulltoken/topic/revparse-refac Revparse refactoring: a start
Vicent Martí 48bcf81d 2012-07-12T09:32:44 Merge pull request #812 from arrbee/assorted-tweaks Assorted goodies
nulltoken 84f18e35 2012-07-12T00:44:07 refs: introduce git_reference_remote_tracking_from_branch()
nulltoken 874303d4 2012-07-11T23:47:58 refs: readonly tests don't need a sandboxed repo
nulltoken b1aca6ea 2012-07-11T16:14:12 commit: introduce git_commit_nth_gen_ancestor()
nulltoken 8aedf1d5 2012-07-05T17:02:03 signature: prevent angle bracket usage in identity
nulltoken 118cf57d 2012-07-04T16:06:07 revwalk: relax the parsing of the commit time
nulltoken 5b071115 2012-07-04T14:00:19 tests: add test commit with angle brackets in the author name
Vicent Martí a13a30ac 2012-07-11T05:29:51 Merge pull request #801 from nulltoken/fix/ref-renaming refs and revparse love <3
Russell Belfer 991a56c7 2012-07-10T15:35:38 Add flag to write gitlink on setting repo workdir This added a flag to the `git_repository_set_workdir()` function that enables generation of a `.git` gitlink file that links the new workdir to the parent repository. Essentially, the flag tells the function to write out the changes to disk to permanently set the workdir of the repository to the new path. If you pass this flag as true, then setting the workdir to something other than the default workdir (i.e. the parent of the .git repo directory), will create a plain file named ".git" with the standard gitlink contents "gitdir: <repo-path>", and also update the "core.worktree" and "core.bare" config values. Setting the workdir to the default repo workdir will clear the core.worktree flag (but still permanently set core.bare to false). BTW, the libgit2 API does not currently provide a function for clearing the workdir and converting a non-bare repo into a bare one.
Russell Belfer b3ff1dab 2012-07-10T15:22:39 Adding git_config_foreach_match() iteration fn Adding a new config iteration function that let's you iterate over just the config entries that match a particular regular expression. The old foreach becomes a simple use of this with an empty pattern. This also fixes an apparent bug in the existing `git_config_foreach` where returning a non-zero value from the iteration callback was not correctly aborting the iteration and the returned value was not being propogated back to the caller of foreach. Added to tests to cover all these changes.
Russell Belfer b0fe1129 2012-07-10T15:13:30 Add path utilities to resolve relative paths This makes it easy to take a buffer containing a path with relative references (i.e. .. or . path segments) and resolve all of those into a clean path. This can be applied to URLs as well as file paths which can be useful. As part of this, I made the drive-letter detection apply on all platforms, not just windows. If you give a path that looks like "c:/..." on any platform, it seems like we might as well detect that as a rooted path. I suppose if you create a directory named "x:" on another platform and want to use that as the beginning of a relative path under the root directory of your repo, this could cause a problem, but then it seems like you're asking for trouble.
Russell Belfer 039fc406 2012-07-10T15:10:14 Add a couple of useful git_buf utilities * `git_buf_rfind` (with tests and tests for `git_buf_rfind_next`) * `git_buf_puts_escaped` and `git_buf_puts_escaped_regex` (with tests) to copy strings into a buffer while injecting an escape sequence (e.g. '\') in front of particular characters.
Russell Belfer 4d3a7b78 2012-07-10T21:45:16 Merge pull request #793 from libgit2/tree-entry-by-path Bring back `entry_bypath`
Russell Belfer 19017a24 2012-07-10T16:24:17 Merge pull request #797 from yorah/fix/inter-hunk-context diff: make inter-hunk-context default value git-compliant
nulltoken 3e82d6c6 2012-07-07T08:25:39 revparse: unfound reference return ENOTFOUND
nulltoken ce9e8e11 2012-07-07T07:27:53 revparse: fix invalid test reference name
nulltoken b8460c20 2012-07-06T23:37:44 revparse: do not segfault when retrieving the last entry
nulltoken 3d78ab64 2012-07-06T19:48:57 revparse: split reflog test per feature
nulltoken 3cd90893 2012-07-06T17:25:31 revparse: enhance upstream reflog test coverage
nulltoken 35bed94f 2012-07-03T18:01:46 revparse: enhance refs/<name> coverage
nulltoken cab65c2b 2012-07-05T22:26:14 revparse: detect incorrect "refname@{-n}" syntax
nulltoken 1decf88b 2012-07-03T15:34:22 revparse: slightly improve readability of tests
nulltoken 34922eee 2012-07-03T14:59:14 revparse: readonly tests don't need a sandboxed repo
nulltoken d0a920a6 2012-07-07T10:36:35 refs: deep unfound ref returns ENOTFOUND
nulltoken 75261421 2012-07-04T11:58:04 refs: add git_reference_has_log()
nulltoken b6bfd96f 2012-07-03T12:07:33 refs: fix moving of the reflog when renaming a ref
Vicent Martí b00e9216 2012-07-03T12:38:09 Merge pull request #798 from nulltoken/fix/revparse-date revparse: fix parsing of date specifiers
Carlos Martín Nieto 521aedad 2012-06-05T14:48:51 odb: add git_odb_foreach() Go through each backend and list every objects that exists in them. This allows fsck-like uses.
Carlos Martín Nieto 973ed4c9 2012-07-03T12:11:19 repo tests: do cleanup reinit tests
nulltoken 494ae940 2012-07-02T17:51:02 revparse: fix parsing of date specifiers
yorah 29f9186d 2012-07-02T11:18:01 diff: make inter-hunk-context default value git-compliant Default in git core is 0, not 3
nulltoken 52b938d5 2012-06-29T17:06:38 revparse: unfound reflog entry returns ENOTFOUND
nulltoken 08ac23a5 2012-06-29T17:02:29 revparse: unfound reflog ref returns ENOTFOUND
nulltoken 4de89ce7 2012-06-29T16:51:46 revparse: unfound partially-named ref returns ENOTFOUND
Scott J. Goldman 7e8c146c 2012-06-29T00:47:46 Don't rmdir() nonexistent dirs in object::tree::frompath tests It causes the clar testsuite to abort on Windows, and isn't necessary.
Vicent Marti 0e2fcca8 2012-06-29T02:21:12 tree: Bring back `entry_bypath` Smaller, simpler, faster.
nulltoken 0e7af9e7 2012-06-28T18:04:01 revparse: unfound nth parent returns ENOTFOUND
nulltoken 0d23c62c 2012-06-28T11:09:16 revparse: handle specs with caret and colon
nulltoken 5b68ba7e 2012-06-27T17:27:38 revparse: unfound treepath returns ENOTFOUND
nulltoken faaa7c51 2012-06-27T16:51:19 revparse: return trees through the "colon" syntax
nulltoken e28dd29b 2012-06-28T07:50:16 revparse: replace spaces with tabs
Vicent Martí ed754a75 2012-06-25T23:28:17 Merge pull request #783 from nulltoken/topic/reinit-coverage Repo reinit fix + enhanced test coverage
nulltoken 527ed554 2012-06-22T15:51:44 references: introduce git_reference_foreach_glob()
nulltoken d046945c 2012-06-22T16:42:37 Fix MSVC compilation errors
nulltoken d6d8cc27 2012-06-22T13:41:26 tests-clar: fix isolation of repo initialization tests
nulltoken dbb24a39 2012-06-22T11:30:43 repository: enhance reinitialization test coverage
Michael Schubert f7292a99 2012-06-22T10:13:50 tests-clar: mark unused variables
Vicent Martí fb8aa9e1 2012-06-21T20:12:50 Merge pull request #782 from nulltoken/topic/branch-foreach Branch foreach
nulltoken d4827081 2012-06-21T18:48:36 branch: drop git_branch_list()
nulltoken a8fd805e 2012-06-21T18:29:38 branch: add git_branch_foreach()
Michael Schubert dca6b228 2012-06-20T18:06:37 notes: fix memory leaks
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