src


Log

Author Commit Date CI Message
nulltoken c2e43fb1 2012-10-18T16:50:55 diff: workdir diffing in a bare repo returns EBAREREPO
nulltoken 5912d74c 2012-10-18T22:25:27 revparse: properly handle refnames containing a @ Fix #994
Carlos Martín Nieto b2b571ce 2012-10-18T19:05:24 fetch: declare variables at the top of the block
Carlos Martín Nieto f0d2ddbb 2012-10-18T04:31:03 remote: support fetch cancelation Introduce git_remote_stop() which sets a variable that is checked by the fetch process in a few key places. If this is variable is set, the fetch is aborted.
Russell Belfer 4c47a8bc 2012-10-17T14:14:51 Merge pull request #968 from arrbee/diff-support-typechange Support TYPECHANGE records in status and adjust checkout accordingly
Russell Belfer 52a61bb8 2012-10-17T14:10:23 Fix minor bugs Fixed no-submodule speedup of new checkout code. Fixed missing final update to progress (which may go away, I realize). Fixed unused structure in header and incorrect comment.
Ben Straub 6012e868 2012-10-17T11:55:26 Merge pull request #972 from PaulThompson/separate_strarray Separated git_strarray from common.h. Added doxy comments.
Russell Belfer e48bb71b 2012-10-17T10:44:38 Skip submodule checkout pass if no submodules Skip the third pass of checkout (where submodules are checked out) if the earlier passes found no submodules to be checked out.
Philip Kelley b4491b99 2012-10-16T16:18:21 Incremental improvements to pack-objects logic Incorporate feedback for incr. improvements to pack-objects
Vicent Martí 03452b34 2012-10-16T10:54:30 Merge pull request #987 from pwkelley/pthread_cond Support pthread_cond_* on Win32
Vicent Marti 18217e7e 2012-10-16T19:34:29 test: Don't be so picky with failed lookups Not found means not found, and the other way around.
Philip Kelley 5e4f2b5f 2012-10-16T13:18:45 Support pthread_cond_* on Win32
Carlos Martín Nieto a8918418 2012-10-16T17:58:19 config: also free the XDG buffer
Vicent Martí 52748f7b 2012-10-16T08:36:55 Merge pull request #952 from csware/config-locations Config location fixes
Philip Kelley 9e37305a 2012-10-16T08:34:28 Merge pull request #984 from arrbee/fix-fnmatch-and-ignore Fix single file ignores
Ben Straub 71b79a0a 2012-10-15T15:24:50 Merge pull request #982 from nulltoken/clone/no-checkout clone: Explicit support of no-checkout option
Russell Belfer 52032ae5 2012-10-15T12:48:43 Fix single-file ignore checks To answer if a single given file should be ignored, the path to that file has to be processed progressively checking that there are no intermediate ignored directories in getting to the file in question. This enables that, fixing the broken old behavior, and adds tests to exercise various ignore situations.
Russell Belfer d5a51910 2012-10-11T13:39:53 Import DOS fix for fnmatch Because fnmatch uses recursion, there were some input sequences that cause seriously degenerate behavior. This imports a fix that imposes a max recursion limiter to avoid the worst of it.
Russell Belfer 824d5e4d 2012-10-11T11:58:00 Always use internal fnmatch, not system
nulltoken 68206c54 2012-10-13T21:00:45 test: fix some memory leaks
nulltoken fa5d94a0 2012-10-13T20:51:57 reset: prevent hard reset in a bare repository
nulltoken c4f68b32 2012-10-15T07:06:22 clone: fix detection of remote HEAD
nulltoken 4d968f13 2012-10-15T06:12:57 clone: Explicit support of no-checkout option
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
Paul Thompson b46708aa 2012-10-11T23:04:08 Separated git_strarray from common.h. Added doxy comments.
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()
Russell Belfer 0d64bef9 2012-10-05T15:56:57 Add complex checkout test and then fix checkout This started as a complex new test for checkout going through the "typechanges" test repository, but that revealed numerous issues with checkout, including: * complete failure with submodules * failure to create blobs with exec bits * problems when replacing a tree with a blob because the tree "example/" sorts after the blob "example" so the delete was being processed after the single file blob was created This fixes most of those problems and includes a number of other minor changes that made it easier to do that, including improving the TYPECHANGE support in diff/status, etc.
Russell Belfer 95f5f1e6 2012-10-02T13:57:15 Cleanup TYPECHANGE support This is just some cleanup code, rearranging some of the checkout code where TYPECHANGE support was added and adding some comments to the diff header regarding the constants.
Russell Belfer fbec2fb9 2012-09-28T14:32:33 Fix checkout to know about TYPECHANGE diffs
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 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 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 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
Sven Strickroth 997579be 2012-10-02T17:55:29 Move win32 specific stuff to win32/findfile.c Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth 4258d483 2012-10-02T17:21:07 Rename xdr to xdg Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth 8b3de0b6 2012-10-02T17:16:22 Optimized win32_nextpath Based on a suggestion by Russell Belfer. Signed-off-by: Sven Strickroth <email@cs-ware.de> Signed-off-by: Russell Belfer <rb@github.com>
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.
Sven Strickroth 19aa8416 2012-09-29T21:26:32 Silence MinGW warnings Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth dee18b82 2012-09-29T21:26:04 Added win32_ prefix for Win32-only methods Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth 77ddd4cc 2012-09-29T21:24:07 Make it compile with MinGW on Windows Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth 32a4e3b7 2012-09-29T20:26:33 Move code to find msysgit path using registry to own method Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth 549ee21a 2012-09-29T20:20:41 Find git installations based on %PATH% Signed-off-by: Sven Strickroth <email@cs-ware.de>
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