src


Log

Author Commit Date CI Message
Carlos Martín Nieto 7ae5ab56 2012-10-15T16:35:10 Fix leak in the tests Also introduce the slective ref trimming promised but also missed in the previous commit.
Carlos Martín Nieto 47f44b6e 2012-10-15T13:51:25 refs: loosen the OID parsing We used to require loose references to contain only an OID (possibly after trimming the string). This is however not enough for letting us lookup FETCH_HEAD, which can have a lot of content after the initial OID. Change the parsing rules so that a loose refernce must e at least 40 bytes long and the 41st (if it's there) must be accepted by isspace(3). This makes the trim unnecessary, so only do it for symrefs. This fixes #977.
Philip Kelley 9d9288f4 2012-10-14T12:29:05 Fix buffer overrun in git_buf_put_base64
nulltoken 62993b61 2012-10-11T14:08:32 branches: propagate EEXISTS upon creation
nulltoken 3548fcf5 2012-10-11T14:00:26 refs: propagate EEXISTS upon renaming
Vicent Martí 9206976f 2012-10-10T15:00:32 Merge pull request #971 from arrbee/base64-encoder Add git_buf_put_base64 to buffer API
Carlos Martín Nieto aeba5e17 2012-10-10T23:55:03 http: don't discard the HEAD ref The fix for fetching from empty repositories (22935b06d protocol: don't store flushes; 2012-10-07) forgot to take into account the deletion of the flush pkt in the HTTP transport. As a result, the HEAD ref advertisement where we detect the remote's capabilities was deleted instead. Fix this.
Russell Belfer 2d3579be 2012-10-10T14:54:31 Add git_buf_put_base64 to buffer API
Michael Schubert 0cf49e10 2012-10-09T21:49:48 fixup! gsoc-pack-objects WIP Use khash instead of git.git's hashing algorithm.
Michael Schubert 0a32dca5 2012-08-19T22:26:32 gsoc-pack-objects WIP
Michael Schubert ec1d42b7 2012-08-19T22:22:07 Add diff-delta code from git.git
Michael Schubert e3f8d58d 2012-08-14T23:07:54 indexer: do not require absolute path
Michael Schubert fa16a6ec 2012-08-01T11:35:26 Enable pthread condition vars
Michael Schubert 2f05339e 2012-07-10T08:53:05 Add git_tag_foreach
Michael Schubert edca6c8f 2012-07-01T19:44:22 git_odb_object_free: don't segfault w/ arg == NULL
Michael Schubert 4bc1a30f 2012-06-10T22:04:24 util: add git__compress()
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 543864b6 2012-10-08T15:21:47 Merge pull request #940 from scunz/diff_sm Diff: Show submodule diff
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 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 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
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
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.
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
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.
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
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 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 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
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
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 5af61863 2012-09-14T11:15:49 checkout: drop git_checkout_reference()
nulltoken c214fa1c 2012-09-06T15:15:46 checkout: segregate checkout strategies
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()
Carlos Martín Nieto e8776d30 2012-09-16T00:10:07 odb: don't overflow the link path buffer Allocate a buffer large enough to store the path plus the terminator instead of letting readlink write beyond the end.
Vicent Martí 1e90ae77 2012-09-14T13:45:29 Merge pull request #860 from schu/thread-safety odb_pack: make sure to search all backends
Michael Schubert 3d7617e4 2012-09-14T21:33:50 odb_pack: fix race condition last_found is the last packfile a wanted object was found in. Since last_found is shared among all searching threads, it might changes while we're searching. As suggested by @arrbee, put a copy on the stack to fix the race condition.
Vicent Martí 70341b09 2012-09-14T13:33:49 Merge pull request #937 from nulltoken/fix/issue_936 refs: prevent locked refs from being enumerated
nulltoken c2948c77 2012-09-14T21:36:49 refs: prevent locked refs from being enumerated Fix #936
Carlos Martín Nieto b200a813 2012-09-14T20:43:47 config: fix Unicode BOM detection Defining the BOM as a string makes the array include the NUL-terminator, which means that the memcpy is going to check for that as well and thus never match for a nonempty file. Define the array as three chars, which makes the size correct.
Russell Belfer f4ea176f 2012-09-14T10:31:40 Remove unnecessary include I don't think clone.c needs in #include dirent.h and it is not portable, so let's just get rid of it.
nulltoken 75050223 2012-09-14T11:47:43 Fix MSVC compilation warnings
David Michael Barr 60ecdf59 2012-09-10T11:48:21 pack: iterate objects in offset order Compute the ordering on demand and persist until the index is freed.
Carlos Martín Nieto 3ce22c74 2012-08-26T19:22:34 http: use WinHTTP on Windows Wondows has its own HTTP library. Use that one when possible instead of our own. As we don't depend on them anymore, remove the http-parser library from the Windows build, as well as the search for OpenSSL.