include


Log

Author Commit Date CI Message
Vicent Martí e68e33f3 2013-02-27T14:50:32 Merge pull request #1233 from arrbee/file-similarity-metric Add file similarity scoring to diff rename/copy detection
Michael Schubert fcc265fe 2013-02-17T16:52:26 pack.h: improve docs on how to create a packfile
nulltoken c1b5e8c4 2013-02-15T11:35:33 branch: Make git_branch_remote_name() cope with orphaned heads
Russell Belfer d4b747c1 2013-02-21T16:44:44 Add diff rename tests with partial similarity This adds some new tests that actually exercise the similarity metric between files to detect renames, copies, and split modified files that are too heavily modified. There is still more testing to do - these tests are just partially covering the cases. There is also one bug fix in this where a change set with only MODIFY being broken into ADD/DELETE (due to low self-similarity) without any additional RENAMED entries would end up not processing the split requests (because the num_rewrites counter got reset).
Russell Belfer 960a04dd 2013-02-21T12:40:33 Initial integration of similarity metric to diff This is the initial integration of the similarity metric into the `git_diff_find_similar()` code path. The existing tests all pass, but the new functionality isn't currently well tested. The integration does go through the pluggable metric interface, so it should be possible to drop in an alternative to the internal metric that libgit2 implements. This comes along with a behavior change for an existing interface; namely, passing two NULLs to git_diff_blobs (or passing NULLs to git_diff_blob_to_buffer) will now call the file_cb parameter zero times instead of one time. I know it's strange that that change is paired with this other change, but it emerged from some initialization changes that I ended up making.
Russell Belfer 71a3d27e 2013-02-08T10:06:47 Replace diff delta binary with flags Previously the git_diff_delta recorded if the delta was binary. This replaces that (with no net change in structure size) with a full set of flags. The flag values that were already in use for individual git_diff_file objects are reused for the delta flags, too (along with renaming those flags to make it clear that they are used more generally). This (a) makes things somewhat more consistent (because I was using a -1 value in the "boolean" binary field to indicate unset, whereas now I can just use the flags that are easier to understand), and (b) will make it easier for me to add some additional flags to the delta object in the future, such as marking the results of a copy/rename detection or other deltas that might want a special indicator. While making this change, I officially moved some of the flags that were internal only into the private diff header. This also allowed me to remove a gross hack in rename/copy detect code where I was overwriting the status field with an internal value.
Russell Belfer 9bc8be3d 2013-02-19T10:25:41 Refine pluggable similarity API This plugs in the three basic similarity strategies for handling whitespace via internal use of the pluggable API. In so doing, I realized that the use of git_buf in the hashsig API was not needed and actually just made it harder to use, so I tweaked that API as well. Note that the similarity metric is still not hooked up in the find_similarity code - this is just setting out the function that will be used.
Russell Belfer a235e9d3 2013-02-15T14:12:43 Pluggable similarity metric API
Alessandro Ghedini 91f7335e 2013-02-15T13:12:03 push: fix typo in git_push_finish() doc
Michael Schubert a53b5e5f 2013-02-14T20:20:18 push: improve docs on success / failure of git_push_finish
Ben Straub 6a0ffe84 2013-02-12T10:50:55 Merge pull request #1333 from phkelley/push_options Add git_push_options, to set packbuilder parallelism
Russell Belfer 9c258af0 2013-02-12T10:13:56 Merge pull request #1316 from ben/clone-cancel Allow network operations to cancel
nulltoken 2bca5b67 2013-02-07T23:44:18 remote: Introduce git_remote_is_valid_name() Fix libgit2/libgit2sharp#318
Russell Belfer 390a3c81 2013-02-11T11:44:00 Merge pull request #1190 from nulltoken/topic/reset-paths reset: Allow the selective reset of pathspecs
Jameson Miller db4bb415 2013-02-07T14:53:52 Teach refspec to transform destination reference to source reference
Jameson Miller 2e3e8c88 2013-02-08T11:05:47 Teach remote branch to return its remote
Philip Kelley b8b897bb 2013-02-11T08:28:53 Add git_push_options, to set packbuilder parallelism
yorah 0d64ba48 2013-01-25T17:35:46 diff: add a notify callback to `git_diff__from_iterators` The callback will be called for each file, just before the `git_delta_t` gets inserted into the diff list. When the callback: - returns < 0, the diff process will be aborted - returns > 0, the delta will not be inserted into the diff list, but the diff process continues - returns 0, the delta is inserted into the diff list, and the diff process continues
Philip Kelley fcd81bcf 2013-02-07T12:47:29 No bitfields in public headers b/c packing is compiler-specific
Ben Straub f393d4e8 2013-02-06T13:07:56 Clone: fetch all tags
Ben Straub b71bac9d 2013-02-05T12:03:41 Document callback-triggered cancellation
nulltoken a0c34c94 2013-01-20T13:27:28 reset: Introduce git_reset_default()
Ben Straub fe95ac1b 2013-02-05T10:59:58 Allow progress callback to cancel fetch This works by having the indexer watch the return code of the callback, so will only take effect on object boundaries.
nulltoken c67ffd4a 2013-01-20T12:08:12 reset: Enhance documentation
nulltoken 3f0ed118 2013-01-15T11:03:05 index: Enhance documentation
Ben Straub 7602cb7c 2013-01-31T10:44:57 Add user-from-url param to auth callback
Russell Belfer f1e2735c 2013-01-30T11:10:39 Add helper for diff line stats This adds a `git_diff_patch_line_stats()` API that gets the total number of adds, deletes, and context lines in a patch. This will make it a little easier to emulate `git diff --stat` and the like. Right now, this relies on generating the `git_diff_patch` object, which is a pretty heavyweight way to get stat information. At some future point, it would probably be nice to be able to get this information without allocating the entire `git_diff_patch`, but that's a much larger project.
Russell Belfer 4657fc1c 2013-01-29T13:54:08 Merge pull request #1285 from phkelley/vector Vector improvements and their fallout
John Wiegley 5fb98206 2013-01-28T15:56:04 Added git_treebuilder_entrycount Conflicts: src/tree.c
Philip Kelley 11d9f6b3 2013-01-27T14:17:07 Vector improvements and their fallout
Sebastian Bauer c253056d 2013-01-24T20:44:17 Added git_branch_name(). This is a convenience function to get the branch name of a given ref. The returned branch name is compatible with the name that can be supplied e.g. to git_branch_lookup(). That is, the prefixes "refs/heads" or "refs/remotes" are omitted. Also added a new test for testing the new function.
Philip Kelley 3fbd7485 2013-01-24T11:03:11 Merge pull request #1250 from jamill/push_update_tips Update remote tips on push
Vicent Marti a0f777c8 2013-01-23T23:44:34 opts: Add getters too
Vicent Marti 59853eff 2013-01-23T02:58:58 Global options setter
Jameson Miller 1d645aab 2013-01-17T10:20:33 Update remote tips on push
Vicent Martí ddcb28a4 2013-01-17T16:56:57 Merge pull request #1239 from ethomson/index_remove add an index_remove_bypath that removes conflicts
Vicent Martí 34a4ad46 2013-01-16T15:52:58 Merge pull request #1211 from arrbee/fix-icase-status-file Fix case insensitivity issues in git_status_file
Vicent Martí 4b45675d 2013-01-16T14:20:41 Merge pull request #1248 from sba1/doc-fix Some doc improvements in transport.h
nulltoken bf031581 2013-01-14T14:22:11 branch: Introduce git_branch_tracking_name()
Sebastian Bauer 62d4fa23 2013-01-16T12:25:28 Some doc improvements
Russell Belfer 98527b5b 2013-01-09T16:03:35 Add git_tree_entry_cmp and git_tree_entry_icmp This adds a new external API git_tree_entry_cmp and a new internal API git_tree_entry_icmp for sorting tree entries. The case insensitive one is internal only because general users should never be seeing case-insensitively sorted trees.
Edward Thomson 25743bd7 2013-01-12T13:47:56 add an index_remove_bypath that removes conflicts, renamed add_from_workdir to match
Vicent Martí e2d2c6e5 2013-01-12T02:14:14 Merge pull request #1222 from scunz/clone_branch Switch to specified branch during clone
Sascha Cunz f31cae8b 2013-01-12T05:51:00 Default git_clone_options' checkout strategy to GIT_CHECKOUT_SAFE_CREATE
Ben Straub 3874f2d5 2013-01-11T20:23:46 Kill vestigal dangling-remote code Fixes #1232
nulltoken 635c235c 2013-01-10T12:11:49 errors: Introduce EMERGECONFLICT error code
Sascha Cunz 88aef766 2013-01-11T02:45:55 Implement analog for 'git checkout --branch xxx ...'
Russell Belfer 40342bd2 2013-01-10T15:15:37 Add GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH This adds an option to checkout a la the diff option to turn off fnmatch evaluation for pathspec entries. This can be useful to make sure your "pattern" in really interpretted as an exact file match only.
Vicent Martí 404880b1 2013-01-10T11:24:09 Merge pull request #1206 from ben/stock-auth Expose stock user/pass credential utility
Vicent Marti 4a863c06 2013-01-03T20:36:26 Sane refresh logic All the ODB backends have a specific refresh interface. When reading an object, first we attempt every single backend: if the read fails, then we refresh all the backends and retry the read one more time to see if the object has appeared.
Ben Straub 520dcc1c 2013-01-08T19:55:59 Move credential helpers to their own (optional) header
Ben Straub ffb02b16 2013-01-08T12:58:20 Expose stock user/pass credential utility
Michael Schubert abeefbbe 2012-12-26T19:16:23 push: properly handle tags Currently, push doesn't really handle tags when queueing objects. Fix it.
Jameson Miller 087f64d3 2012-12-17T18:48:26 Relax refspecs accepted by push
Edward Thomson 359fc2d2 2013-01-08T17:07:25 update copyrights
Russell Belfer f2b7f7a6 2013-01-07T15:44:22 Share git_diff_blobs/git_diff_blob_to_buffer code This moves the implementation of these two APIs into common code that will be shared between the two. Also, this adds tests for the `git_diff_blob_to_buffer` API. Lastly, this adds some extra `const` to a few places that can use it.
Ignacio Casal Quinteiro f6234cd9 2012-12-21T20:57:43 Introduce git_diff_blob_to_buffer
Kevin Sawicki 7eb222fc 2013-01-06T10:39:35 Correct typos in documentation
Kevin Sawicki e5562e18 2013-01-06T10:12:05 Revert "Tab align value of GIT_FILEMODE_BLOB_EXECUTABLE" This reverts commit 47fbcbb5a8d4aad87371a381ebdadd04cde3fb2b.
Kevin Sawicki 47fbcbb5 2013-01-06T10:02:37 Tab align value of GIT_FILEMODE_BLOB_EXECUTABLE
Russell Belfer 7fc00435 2013-01-03T15:48:52 Add index API to remove all files in a directory This adds the git_index_remove_directory API plus tests.
Russell Belfer 77cffa31 2013-01-02T17:14:00 Simplify checkout documentation This moves a lot of the detailed checkout documentation into a new file (docs/checkout-internals.md) and simplifies the public docs for the checkout API.
Russell Belfer a9a73007 2012-12-20T16:16:22 Submodule caching fix and location API This adds a new API to the submodule interface that just returns where information about the submodule was found (e.g. config file only or in the HEAD, index, or working directory). Also, the old "refresh" call was potentially keeping some stale submodule data around, so this simplfies that code and literally discards the old cache, then reallocates.
Russell Belfer 5cf9875a 2012-12-18T15:19:24 Add index updating to checkout Make checkout update entries in the index for all files that are updated and/or removed, unless flag GIT_CHECKOUT_DONT_UPDATE_INDEX is given. To do this, iterators were extended to allow a little more introspection into the index being iterated over, etc.
Russell Belfer 7e5c8a5b 2012-12-10T15:31:43 More checkout improvements This flips checkout back to be driven off the changes between the baseline and the target trees. This reinstates the complex code for tracking the contents of the working directory, but overall, I think the resulting logic is easier to follow.
Russell Belfer cf208031 2012-12-06T13:36:17 Rework checkout internals (again) I've tried to map out the detailed behaviors of checkout and make sure that we're handling the various cases correctly, along with providing options to allow us to emulate "git checkout" and "git checkout-index" with the various flags. I've thrown away flags in the checkout API that seemed like clutter and added some new ones. Also, I've converted the conflict callback to a general notification callback so we can emulate "git checkout" output and display "dirty" files. As of this commit, the new behavior is not working 100% but some of that is probably baked into tests that are not testing the right thing. This is a decent snapshot point, I think, along the way to getting the update done.
Edward Thomson 5a62d659 2013-01-03T12:44:09 MERGE_HEAD contents iterator
Edward Thomson 35560d6d 2013-01-03T15:53:50 expose merge metadata cleanup
Nikolai Vladimirov b60b4562 2013-01-03T16:31:36 add option to allow git note overwrite
Edward Thomson 42e50b5e 2013-01-03T12:44:09 MERGE_HEAD contents iterator
Edward Thomson ad2bc32f 2013-01-03T15:53:50 expose merge metadata cleanup
Nikolai Vladimirov 8716b499 2013-01-03T16:31:36 add option to allow git note overwrite
Vicent Martí cd5ca5b9 2013-01-02T13:50:41 Merge pull request #1152 from ben/clone-api-structification Segregate in-memory and persisted remotes
Ben Straub 730df6d0 2013-01-02T13:43:54 Include checkout options inline
Ben Straub 0642c143 2013-01-02T12:44:47 Move `url` to last place in parameter list
Sven Strickroth 46c2c1d5 2012-12-28T13:29:16 Fixed compilation with VS >= 2010 Starting with VS2010 MS ships a stdint.h. Signed-off-by: Sven Strickroth <email@cs-ware.de>
nulltoken f19304d2 2012-12-24T15:59:01 remote: Prevent create() from blindly overwriting
nulltoken ae35aa07 2012-12-24T15:29:26 remote: Improve documentation
nulltoken b0aa14aa 2012-12-24T15:27:42 remote: Enhance in-memory remote test coverage
Vicent Martí 2052e3c0 2012-12-21T10:32:23 Merge pull request #1163 from barrbrain/check-exists-before-write odb: check if object exists before writing
Ben Straub 79000951 2012-12-21T08:05:59 In-memory remotes don't have names
David Michael Barr 4d185dd9 2012-12-19T14:30:06 odb: check if object exists before writing Update the procondition of git_odb_backend::write. It may now be assumed that the object has already been hashed.
Ben Straub 87bc689f 2012-12-20T15:50:33 git_remote_create calls git_remote_save
Ben Straub 874dcb25 2012-12-20T11:49:05 Remote: deprecate dangling, prevent saving in-memory
Ben Straub 29f27599 2012-12-20T10:51:09 Rename remote creation APIs git_remote_add -> git_remote_create git_remote_new -> git_remote_create_inmemory
Ben Straub b412d563 2012-12-18T19:46:05 Add more clone options. Push test suite segfaults.
Edward Thomson 7fcec834 2012-12-11T22:31:21 fetchhead reading/iterating
Vicent Martí e62171e2 2012-12-17T11:10:25 Merge pull request #1151 from arrbee/fix-diff-constructor-names Fix diff constructor names
Russell Belfer ba084f7a 2012-12-17T11:03:42 More diff.h comment fixes Based on feedback from the ObjectiveGit folks, these are some further updates to diff.h areas that are poorly documented.
Russell Belfer 56c72b75 2012-12-17T11:00:53 Fix diff constructor name order confusion The diff constructor functions had some confusing names, where the "old" side of the diff was coming after the "new" side. This reverses the order in the function name to make it less confusing. Specifically... * git_diff_index_to_tree becomes git_diff_tree_to_index * git_diff_workdir_to_index becomes git_diff_index_to_workdir * git_diff_workdir_to_tree becomes git_diff_tree_to_workdir
nulltoken a3337f10 2012-12-17T15:15:20 blob: introduce git_blob_is_binary()
Ben Straub b9e7e2b4 2012-12-14T13:46:45 Move non-options back out of options struct
Ben Straub 18b2d560 2012-12-14T13:03:59 Deploy git_clone_options; remove git_clone_bare
Ben Straub 7e610440 2012-12-14T12:21:59 Introduce git_clone_options
Ben Straub 7c353afd 2012-12-13T08:47:29 Define constant for default fetch spec
Ben Straub 44f36f6e 2012-12-12T19:48:44 Convert clone to use dangling remotes
Ben Straub b914e17d 2012-12-12T12:23:24 API to set a dangling remote's repository
Ben Straub a71c27cc 2012-12-12T12:15:25 Allow creation of dangling remotes
Russell Belfer 9950d27a 2012-12-06T13:26:58 Clean up iterator APIs This removes the need to explicitly pass the repo into iterators where the repo is implied by the other parameters. This moves the repo to be owned by the parent struct. Also, this has some iterator related updates to the internal diff API to lay the groundwork for checkout improvements.
Ben Straub 59bccf33 2012-12-10T11:11:01 Add a payload param to git_cred_acquire_cb Fixes #1128.