Log

Author Commit Date CI Message
Russell Belfer bc16fd3e 2012-09-28T13:40:02 Introduce status/diff TYPECHANGE flags When I wrote the diff code, I based it on core git's diff output which tends to split a type change into an add and a delete. But core git's status has the notion of a T (typechange) flag for a file. This introduces that into our status APIs and modifies the diff code so it can be forced to not split type changes.
Russell Belfer fade21db 2012-09-28T13:39:34 Improve error propogation in checkout
Vicent Martí 21e0d297 2012-10-09T11:45:50 Merge pull request #967 from arrbee/diff-submodule-tests-and-fixes Diff submodule tests and fixes
Michael Schubert aa4437f6 2012-10-09T00:51:43 Fix compiler warnings * tests-clar/status: remove an unused variable * clone: fix -Wmaybe-uninitialized warning
Ben Straub 9adfa7d1 2012-10-08T15:25:44 Merge pull request #949 from nulltoken/topic/deploy_repository_set_head Deploy git_repository_set_head()
Russell Belfer dfbff793 2012-10-08T15:14:12 Fix a few diff bugs with directory content There are a few cases where diff should leave directories in the diff list if we want to match core git, such as when the directory contains a .git dir. That feature was lost when I introduced some of the new submodule handling. This restores that and then fixes a couple of related to diff output that are triggered by having diffs with directories in them. Also, this adds a new flag that can be passed to diff if you want diff output to actually include the file content of any untracked files.
Russell Belfer 5d1308f2 2012-10-08T15:19:00 Add test for diffs with submodules and bug fixes The adds a test for the submodule diff capabilities and then fixes a few bugs with how the output is generated. It improves the accuracy of OIDs in the diff delta object and makes the submodule output more closely mirror the OIDs that will be used by core git.
Russell Belfer 71966e2f 2012-10-08T15:18:30 Extend diff helpers for tests a little
Russell Belfer 543864b6 2012-10-08T15:21:47 Merge pull request #940 from scunz/diff_sm Diff: Show submodule diff
Russell Belfer 527508b0 2012-10-08T14:53:37 Merge pull request #966 from pwkelley/icasefix Fix a bug where ignorecase wasn't applied to ignores
Philip Kelley edb456c3 2012-10-08T16:32:43 Fix a bug where ignorecase wasn't applied to ignores
nulltoken bf0e62a2 2012-10-07T12:50:18 clone: fix cloning of empty repository
nulltoken ebecf1e7 2012-10-07T12:04:07 clone: reorganize tests
nulltoken d280c71b 2012-09-26T19:22:21 clone: leverage refspec transform
nulltoken 3e012fca 2012-09-26T19:15:11 refspec: introduce git_refspec_transform_l()
nulltoken 70edc1b0 2012-09-26T11:05:12 clone: align type casing with convention
nulltoken 4ba23be1 2012-10-06T12:20:13 branch: deploy git_branch_is_head()
nulltoken 0c78f685 2012-10-06T10:41:53 branch: introduce git_branch_is_head()
nulltoken f3cc7834 2012-09-22T12:51:34 refs: deploy git_repository_set_head() usage
nulltoken 7eca3c56 2012-09-22T12:50:18 clone: deploy git_repository_set_head() usage
nulltoken a147408f 2012-09-22T12:47:17 reset: make reset rely on git_repository_head()
nulltoken b52b6571 2012-09-22T12:42:16 branch: enhance branch moving test coverage
nulltoken 096d9e94 2012-10-07T21:00:46 remote: use constants for well-known names
nulltoken 74a24005 2012-09-21T10:28:20 refs: use constants for well-known names
Carlos Martín Nieto acd17006 2012-10-07T11:19:19 remote: only keep a weak pointer in update_tips The reference is only needed inside the function. We mistakenly increased the reference counter causing the ODB not to get freed and leaking descriptors.
Carlos Martín Nieto 22935b06 2012-10-07T10:20:23 protocol: don't store flushes Storing flushes in the refs vector doesn't let us recognize when the remote is empty, as we'd always introduce at least one element into it. These flushes aren't necessary, so we can simply ignore them.
Sascha Cunz 1dca8510 2012-10-05T13:44:18 Diff: Do not try to calculate an oid for a GITLINK. We don't have anything useful that we could do with that oid anyway (We need to query the submodule for the HEAD commit instead). Without this, the following code creates the error "Failed to read descriptor: Is a directory" when run against the submod2 test-case: const char* oidstr = "873585b94bdeabccea991ea5e3ec1a277895b698"; git_tree* tree = resolve_commit_oid_to_tree(g_repo, oidstr); git_diff_list* diff = NULL; cl_assert(tree); cl_git_pass(git_diff_workdir_to_tree(g_repo, NULL, tree, &diff));
Sascha Cunz 1686641f 2012-10-05T13:03:22 Extract submodule logic out of diff_output.c:get_workdir_content
Sascha Cunz 7e57d250 2012-09-18T23:43:23 Diff: teach get_workdir_content to show a submodule as text 1. teach diff.c:maybe_modified to query git_submodule_status for the modification state of a submodule. According to the git_submodule_status docs, it will filter for to-ignore states already. 2. teach diff_output.c:get_workdir_content to check the submodule status again and create a line like: Subproject commit <SHA-1>\n or Subproject comimt <SHA-1>-dirty\n like git.git does.
Sascha Cunz 9ce44f1a 2012-09-18T22:35:09 Diff: teach get_blob_content to show a submodule as text diff_output.c:get_blob_content used to try to read the submodule commit as a blob in the superproject's odb. Of course it cannot find it and errors out with GIT_ENOTFOUND, implcitly terminating the whole diff output. This patch teaches it to create a text that describes the submodule instead. The text looks like: Subproject commit <SHA1>\n which is what git.git does, too.
Sascha Cunz 1a5cd26b 2012-10-05T13:02:35 Fix minor whitespace issue
Vicent Marti f9cf12b4 2012-10-02T20:23:54 clar: Proper shutdown order
Russell Belfer d0b452db 2012-10-02T11:08:30 Merge pull request #932 from ben/clone_pack_race ODB: re-load packfiles on failed lookup
Russell Belfer eada0762 2012-10-02T10:45:40 Merge pull request #939 from pwkelley/ignorecase Support for the core.ignorecase flag
Vicent Martí 8bc5cacc 2012-10-01T13:57:32 Merge pull request #961 from arrbee/win64-cleanups Win64 cleanups
Russell Belfer 7c411fd9 2012-10-01T12:32:55 Fix up more Win64 compile warnings
Vicent Marti 93b5fabc 2012-10-01T17:59:04 threads: Assert that the global state is initialized
Vicent Marti 9063be1f 2012-10-01T17:33:05 remote: Fix mid-block declaration
Vicent Martí bdaa40d3 2012-10-01T08:28:46 Merge pull request #957 from carlosmn/include-tag Include tag
Carlos Martín Nieto 3230a44f 2012-09-30T10:56:06 remote: support downloading all tags Also honor remote.$name.tagopt = --tags.
Carlos Martín Nieto eb0bd77a 2012-09-29T22:50:33 remote: use the refspec functions to parse, instead of rolling our own The local function works for simple cases, but we shouldn't reinvent the wheel just for us.
Carlos Martín Nieto f70e466f 2012-09-27T11:58:35 remote: add accessors for the autotag setting
Carlos Martín Nieto a37ddf7e 2012-09-16T03:36:03 remote: create tags if we have them Together with include-tag, this make us behave more like git. After a fetch, try to create any tags the remote told us about for which we have objects locally.
Carlos Martín Nieto 24f2f94e 2012-09-15T08:07:24 fetch: use the include-tag capability This tells the remote to send us any tags that point to objects that we are downloading.
Carlos Martín Nieto c1281493 2012-09-30T11:37:53 refs: propagate EEXISTS Indicate whether the error comes from the ref already existing or elsewhere. We always perform the check and this lets the user write more concise code.
Carlos Martín Nieto 3665ba8e 2012-09-27T12:04:41 refspec: add git_refspec__free, remove git_refspec_parse The latter shouldn't be exposed and isn't used, git_refspec__parse supersedes it. Fix a leak in the refspec tests while we're at it.
Carlos Martín Nieto 2af1c266 2012-09-30T11:02:53 examples: fix config getter param order
Russell Belfer cc5bf359 2012-09-28T09:08:09 Clean up Win64 warnings
Vicent Martí 34402bcd 2012-09-28T11:57:02 Merge pull request #959 from jamill/empty_file_hash Fix error hashing empty file.
Vicent Martí 3f849902 2012-09-28T11:48:43 Merge pull request #958 from schu/fix-merge-base revwalk: fix off-by-one error
Vicent Martí b55fd885 2012-09-28T09:56:42 Merge pull request #941 from arrbee/diff-separate-iterators Create a diff patch object as a replacement for iterators
Jameson Miller addc9be4 2012-09-26T17:21:32 Fix error hashing empty file.
Michael Schubert 8060cdc9 2012-09-27T14:59:43 revwalk: fix off-by-one error Fixes #921.
Russell Belfer bae957b9 2012-09-25T16:31:46 Add const to all shared pointers in diff API There are a lot of places where the diff API gives the user access to internal data structures and many of these were being exposed through non-const pointers. This replaces them all with const pointers for any object that the user can access but is still owned internally to the git_diff_list or git_diff_patch objects. This will probably break some bindings... Sorry!
Russell Belfer 64286308 2012-09-25T10:48:50 Fix bugs in new diff patch code This fixes all the bugs in the new diff patch code. The only really interesting one is that when we merge two diffs, we now have to actually exclude diff delta records that are not supposed to be tracked, as opposed to before where they could be included because they would be skipped silently by `git_diff_foreach()`. Other than that, there are just minor errors.
Russell Belfer 5f69a31f 2012-09-24T20:52:34 Initial implementation of new diff patch API Replacing the `git_iterator` object, this creates a simple API for accessing the "patch" for any file pair in a diff list and then gives indexed access to the hunks in the patch and the lines in the hunk. This is the initial implementation of this revised API - it is still broken, but at least builds cleanly.
Russell Belfer 9a12a625 2012-09-18T15:13:07 New take on iterating over diff content Allow diff deltas to be accessed by index and make patch generation explicit with hunk and line access by index as well.
Vicent Martí 5942bd18 2012-09-25T14:53:13 Merge pull request #947 from arrbee/public-error-set Make giterr_set_str() and giterr_set_oom() public APIs
Vicent Martí 31d22037 2012-09-25T14:52:24 Merge pull request #944 from scunz/list_tags Tags: teach git_tag_list not to include the 'refs/tags/' prefix
Vicent Martí 3f7c5497 2012-09-25T14:35:33 Merge pull request #938 from nulltoken/topic/is_valid_name Topic/is valid name
nulltoken 0adfa20a 2012-09-11T11:42:13 refspec: introduce git_refspec__parse()
nulltoken 77e06d7e 2012-09-17T07:11:32 refs: introduce git_reference_is_valid_name()
nulltoken c030ada7 2012-09-11T12:06:57 refs: make git_reference_normalize_name() accept refspec pattern
Sascha Cunz 8469219e 2012-09-22T23:11:26 Tests: Add test for git_tag_list to check for 'git tag -l "*bar"'
Sascha Cunz daa70138 2012-09-22T23:04:45 Tests: reindent object/tag/list.c to use tabs
Sascha Cunz 45949b37 2012-09-21T01:53:15 Tests::object::tag: also test for a 'foo/*/bar'.
Sascha Cunz 7604ddbf 2012-09-21T00:57:21 Tests: Add 3 tags to resources/testrepo. Adjusts refs::list test (including the comments) Adjusts objects::tags::list test
Sascha Cunz e800bbe8 2012-09-21T00:32:53 Tests::Object::Tag: Add a mechanism to test which tags were returned This patch changes the tag listing test helper to use a struct as input parameter, which tells what we exactly expect. As I don't think, we can rely on the fact that every os and every filesystem will report the tags in the same order, I made this code independent of the order that the tags are retrieved.
Sascha Cunz f73f760e 2012-09-20T23:49:17 Tests::Object::Tag: move listing tags tests to an own file
Sascha Cunz 3af06254 2012-09-20T22:42:22 Tags: teach git_tag_list not to include the 'refs/tags/' prefix Since quite a while now, git_branch_foreach has learnt to list branches without the 'refs/heads/' or 'refs/remotes' prefixes. This patch teaches git_tag_list to do the same for listing tags.
Michael Schubert d75074f4 2012-09-22T12:29:16 Fix -Wmaybe-uninitialized warning
Russell Belfer 63f6c825 2012-09-21T16:20:41 Merge pull request #948 from csware/comment-fix Make clear that git_odb_hashfile does not use filters
Sven Strickroth f55af775 2012-09-22T01:16:10 Make clear that git_odb_hashfile does not use filters Signed-off-by: Sven Strickroth <email@cs-ware.de>
Russell Belfer 1a628100 2012-09-21T15:04:39 Make giterr_set_str public There has been discussion for a while about making some set of the `giterr_set` type functions part of the public API for code that is implementing new backends to libgit2. This makes the `giterr_set_str()` and `giterr_set_oom()` functions public.
Russell Belfer 0cb24616 2012-09-21T10:51:42 Merge pull request #942 from nulltoken/topic/checkout-notify-skipped checkout: add notification callback for skipped files
Russell Belfer 73f6da66 2012-09-21T10:42:53 Merge pull request #943 from csware/only-close-open-filehandles git_repository_hashfile: Only close file handle if we have a valid one
nulltoken 9e592583 2012-09-19T12:23:47 checkout: add notification callback for skipped files
Sven Strickroth b1127a30 2012-09-20T22:32:19 git_repository_hashfile: Only close file handle if we have a valid one Otherwise this throws an exception on MFC based systems. Signed-off-by: Sven Strickroth <email@cs-ware.de>
nulltoken 9ac8b113 2012-09-20T14:06:49 Fix MSVC amd64 compilation warnings
nulltoken 28abf3db 2012-09-20T11:41:49 checkout: prefer mode_t type usage over int
Ben Straub 63409451 2012-09-19T04:55:16 ODB pack: snapshot last_found to avoid race Also removed unnecessary refresh call and fixed some indentation.
Ben Straub 78216495 2012-09-13T20:08:05 Remove mtime checks from ODB packfile backend Now forcing refresh on a foreach, and on missed full-oid or short-oid lookups.
Ben Straub 5bb0dc93 2012-09-13T14:02:46 ODB: re-load packfiles on failed lookup The old method was avoiding re-loading of packfiles by watching the mtime of the pack directory. This causes the ODB to become stale if the directory and packfile are written within the same clock millisecond, as when cloning a fairly small repo. This method tries to find the object in the cached packs, and forces a refresh when that fails. This will cause extra stat'ing on a miss, but speeds up the success case and avoids this race condition.
Philip Kelley f08c60a5 2012-09-17T16:10:42 Minor fixes for ignorecase support
Philip Kelley ec40b7f9 2012-09-17T15:42:41 Support for core.ignorecase
Russell Belfer 411cb017 2012-09-17T11:38:33 Merge pull request #887 from nulltoken/topic/reset-hard Checkout, reset and others enhancements
nulltoken 39783719 2012-09-17T20:27:28 checkout: Mimic git_diff_options storage of paths
nulltoken 5e4cb4f4 2012-09-17T10:38:57 checkout : reduce memory usage when not filtering
nulltoken 44af67a8 2012-09-15T22:07:45 repository: introduce git_repository_set_head()
nulltoken 4ebe38bd 2012-09-15T22:07:09 repository: introduce git_repository_set_head_detached()
nulltoken 3f4c3072 2012-09-15T22:03:31 repository: introduce git_repository_detach_head()
nulltoken cc548c7b 2012-09-15T12:55:37 repository: fix documentation typo
nulltoken f1ad25f6 2012-09-15T12:44:07 repository: separate head related tests
nulltoken 10df95c3 2012-09-15T12:23:49 checkout: add test coverage of dirs and subtrees
nulltoken 5af61863 2012-09-14T11:15:49 checkout: drop git_checkout_reference()
nulltoken c214fa1c 2012-09-06T15:15:46 checkout: segregate checkout strategies
nulltoken 020cda99 2012-09-14T16:45:24 checkout: separate tree from index related tests
nulltoken ee8bb8ba 2012-08-19T21:24:51 reset: add support for GIT_RESET_HARD mode
nulltoken e93af304 2012-08-24T10:40:17 checkout: introduce git_checkout_index()
nulltoken 3aa443a9 2012-08-20T16:56:45 checkout: introduce git_checkout_tree()