include/git2


Log

Author Commit Date CI Message
Russell Belfer d2c16e9a 2014-05-02T15:15:43 Doc fixes
Vicent Marti 272b462d 2014-05-02T09:50:15 Merge pull request #2308 from libgit2/rb/diff-update-index-stat-cache Reduce excessive OID calculation for diff and stat
Russell Belfer 9862ef8e 2014-05-02T09:42:07 Merge pull request #2310 from libgit2/cmn/commit-create-safe commit: safer commit creation with reference update
Russell Belfer 702efc89 2014-04-30T10:57:42 Make init_options fns use unsigned ints and macro Use an unsigned int for the version and add a helper macro so the code is simplified (and so the error message is a common string).
Russell Belfer 9c8ed499 2014-04-29T15:05:58 Remove trace / add git_diff_perfdata struct + api
Russell Belfer 7a2e56a3 2014-04-29T14:30:15 Get rid of redundant git_diff_options_init fn Since git_diff_init_options was introduced, remove this old fn.
Russell Belfer b23b112d 2014-04-29T11:29:49 Add payloads, bitmaps to trace API This is a proposed adjustment to the trace APIs. This makes the trace levels into a bitmask so that they can be selectively enabled and adds a callback-level payload, plus a message-level payload. This makes it easier for me to a GIT_TRACE_PERF callbacks that are simply bypassed if the PERF level is not set.
Russell Belfer cd424ad5 2014-04-28T16:39:53 Add GIT_STATUS_OPT_UPDATE_INDEX and use trace API This adds an option to refresh the stat cache while generating status. It also rips out the GIT_PERF stuff I had an makes use of the trace API to keep statistics about what happens during diff.
Russell Belfer 94fb4aad 2014-04-28T14:48:41 Add diff option to update index stat cache When diff is scanning the working directory, if it finds a file where it is not sure if the index entry matches the working dir, it will recalculate the OID (which is pretty expensive). This adds a new flag to diff so that if the OID calculation finds that the file actually has not changed (i.e. just the modified time was altered or such), then it will refresh the stat cache in the index so that future calls to diff will not have to check the oid again.
Russell Belfer 0fc8e1f6 2014-04-28T14:34:55 Lay groundwork for updating stat cache in diff This reorganized the diff OID calculation to make it easier to correctly update the stat cache during a diff once the flags to do so are enabled. This includes marking the path of a git_index_entry as const so we can make a "fake" git_index_entry with a "const char *" path and not get warnings. I was a little surprised at how unobtrusive this change was, but I think it's probably a good thing.
Russell Belfer bc91347b 2014-04-30T11:16:31 Fix remaining init_options inconsistencies There were a couple of "init_opts()" functions a few more cases of structure initialization that I somehow missed.
Carlos Martín Nieto 891b0277 2014-04-30T11:20:51 refs: document _next_name() If it's not documented, it doesn't show up in the docs (and we really should document, anyway).
Carlos Martín Nieto 217c029b 2014-04-09T14:08:22 commit: safer commit creation with reference update The current version of the commit creation and amend function are unsafe to use when passing the update_ref parameter, as they do not check that the reference at the moment of update points to what the user expects. Make sure that we're moving history forward when we ask the library to update the reference for us by checking that the first parent of the new commit is the current value of the reference. We also make sure that the ref we're updating hasn't moved between the read and the write. Similarly, when amending a commit, make sure that the current tip of the branch is the commit we're amending.
Vicent Marti 8443ed6c 2014-04-25T02:10:19 Merge pull request #2284 from jacquesg/push-progress-callback Fire progress and update tips callbacks also for pushes.
Russell Belfer 6b833e3a 2014-04-24T15:40:50 Improve docs for status rename detection limits and make tests empty on platforms without iconv support.
Vicent Marti 212b6205 2014-04-23T09:27:15 Merge pull request #2291 from ethomson/patch_binary patch: emit deflated binary patches (optionally)
Edward Thomson e349ed50 2014-04-22T14:58:33 patch: emit binary patches (optionally)
Russell Belfer 8d09efa2 2014-04-22T12:33:27 Use git_diff_get_stats in example/diff + refactor This takes the `--stat` and related example options in the example diff.c program and converts them to use the `git_diff_get_stats` API which nicely formats stats for you. I went to add bar-graph scaling to the stats formatter and noticed that the `git_diff_stats` structure was holding on to all of the `git_patch` objects. Unfortunately, each of these objects keeps the full text of the diff in memory, so this is very expensive. I ended up modifying `git_diff_stats` to keep just the data that it needs to keep and allowed it to release the patches. Then, I added width scaling to the output on top of that. In making the diff example program match 'git diff' output, I ended up removing an newline from the sumamry output which I then had to compensate for in the email formatting to match the expectations. Lastly, I went through and refactored the tests to use a couple of helper functions and reduce the overall amount of code there.
Russell Belfer 12e422a0 2014-04-21T16:08:05 Some doc and examples/diff.c changes I was playing with "git diff-index" and wanted to be able to emulate that behavior a little more closely with the diff example. Also, I wanted to play with running `git_diff_tree_to_workdir` directly even though core Git doesn't exactly have the equivalent, so I added a command line option for that and tweaked some other things in the example code. This changes a minor output thing in that the "raw" print helper function will no longer add ellipses (...) if the OID is not actually abbreviated.
Carlos Martín Nieto bc0a6198 2014-04-19T15:52:58 transports: allow the creds callback to say it doesn't exist Allow the credentials callback to return GIT_PASSTHROUGH to make the transports code behave as though none was set. This should make it easier for bindings to behave closer to the C code when there is no credentials callback set at their level.
Carlos Martín Nieto 2efd7df6 2014-04-19T15:34:12 remote: provide read access to the callback structure This should make it easier for bindings to dynamically override their own callbacks.
Jacques Germishuys 48e60ae7 2014-04-21T11:23:29 Don't redefine the same callback types, their signatures may change
Jacques Germishuys 98020d3a 2014-04-21T10:55:37 Rename progress callback to sideband_progress
Jacques Germishuys 4f62163e 2014-04-20T22:06:05 Check the return codes of remote callbacks. The user may have requested that the operation be cancelled.
Jacques Germishuys 9effa2fb 2014-04-20T19:19:13 Fire progress callbacks also for pushes. It's not very useful to only know that a pre-receive hook has declined a push, you probably want to know why.
Jacques Germishuys 043112dc 2014-04-18T17:57:39 Replace void * with proper callback types
Jacques Germishuys 8ec0a552 2014-04-18T00:49:07 Make git_cred_ssh_custom_new() naming more consistent
Jacques Germishuys 478408c0 2014-04-17T23:03:44 Introduce git_cred_ssh_interactive_new() This allows for keyboard-interactive based SSH authentication
Russell Belfer aba6b5ed 2014-03-14T21:59:26 Fix leak in git_index_conflict_cleanup I introduced a leak into conflict cleanup by removing items from inside the git_vector_remove_matching call. This simplifies the code to just use one common way for the two conflict cleanup APIs. When an index has an active snapshot, removing an item can cause an error (inserting into the deferred deletion vector), so I made the git_index_conflict_cleanup API return an error code. I felt like this wasn't so bad since it is just like the other APIs. I fixed up a couple of comments while I was changing the header.
Russell Belfer 27e54bcf 2014-02-07T14:17:19 Add public diff print helpers The usefulness of these helpers came up for me while debugging some of the iterator changes that I was making, so since they have also been requested (albeit indirectly) I thought I'd include them.
Russell Belfer 3dbee456 2014-02-07T14:10:35 Some index internals refactoring Again, laying groundwork for some index iterator changes, this contains a bunch of code refactorings for index internals that should make it easier down the line to add locking around index modifications. Also this removes the redundant prefix_position function and fixes some potential memory leaks.
Vicent Marti c5cacc4e 2014-04-16T19:09:35 Merge pull request #2261 from jacquesg/format-patch Support for format-patch
Sven Strickroth fa13ee2d 2014-04-16T16:59:43 Add GIT_BRANCH_ALL to git_branch_t enum git_branch_t is an enum so requesting GIT_BRANCH_LOCAL | GIT_BRANCH_REMOTE is not possible as it is not a member of the enum (at least VS2013 C++ complains about it). This fixes a regression introduced in commit a667ca8298193b3103c1dbdcb1f6c527e6e99eb2 (PR #1946). Signed-off-by: Sven Strickroth <email@cs-ware.de>
Jacques Germishuys d8cc1fb6 2014-04-11T19:15:15 Introduce git_diff_format_email and git_diff_commit_as_email
Jacques Germishuys 360314c9 2014-04-11T19:03:29 Introduce git_diff_get_stats, git_diff_stats_files_changed, git_diff_stats_insertions, git_diff_stats_deletions and git_diff_stats_to_buf
Jacques Germishuys 4d7b9939 2014-04-01T22:18:19 Added cherry-pick support
Jacques Germishuys 7a28f268 2014-04-10T12:44:51 Fix const-correctness of git_patch_get_delta, git_patch_num_hunks, git_patch_num_lines_in_hunk
Jacques Germishuys 3b4ba278 2014-04-03T15:50:21 Const correctness!
Rob Rix ddc66e27 2014-04-02T08:02:43 Give the correct name for the function in the doc. Per @carlosmn, git_index_add is now named git_index_add_bypath.
Rob Rix bb439de0 2014-04-01T16:37:19 Correct a stale reference to GIT_EBAREINDEX
Russell Belfer 2450d4c6 2014-04-01T09:33:18 Merge pull request #2208 from libgit2/vmg/mempack In-memory packing backend
Vicent Marti 9325460a 2014-04-01T13:47:44 Merge pull request #2206 from libgit2/cmn/inmemory-swap-order Rename in-memory remote to anonymous and swap url and fetch order
Carlos Martín Nieto fd536d29 2014-03-26T11:15:57 remote: rename inmemory to anonymous and swap url and fetch order The order in this function is the opposite to what create_with_fetchspec() has, so change this one, as url-then-refspec is what git does. As we need to break compilation and the swap doesn't do that, let's take this opportunity to rename in-memory remotes to anonymous as that's really what sets them apart.
Edward Thomson 7f930ded 2014-03-31T09:38:06 Const up members of git_merge_file_result
Edward Thomson 976634c4 2014-03-30T19:56:18 Introduce git_merge_head_id
Russell Belfer 22df47cb 2014-03-26T14:38:26 Fix segfault if gitmodules is invalid The reload_all call could end up dereferencing a NULL pointer if there was an error while attempting to load the submodules config data (i.e. invalid content in the gitmodules file). This fixes it.
Vicent Marti dc7efa1a 2014-03-26T18:29:34 Merge pull request #2204 from libgit2/rb/submodule-reference-counting Make submodules externally refcounted
Vicent Marti 6105d597 2014-03-26T18:17:08 In-memory packing backend
Edward Thomson 451aaf86 2014-03-25T10:33:18 Merge pull request #2181 from anuraggup/hide_cb Callback function to hide commit and its parents in revision walker
Russell Belfer a15c7802 2014-03-25T09:14:48 Make submodules externally refcounted `git_submodule` objects were already refcounted internally in case the submodule name was different from the path at which it was stored. This makes that refcounting externally used as well, so `git_submodule_lookup` and `git_submodule_add_setup` return an object that requires a `git_submodule_free` when done.
Anurag Gupta 892b7c9f 2014-03-11T12:13:29 Correcting format of comments in header file
Anurag Gupta 3a666071 2014-03-10T15:38:01 Unit Tests for hide_cb in revwalk
Anurag Gupta 892aa808 2014-03-10T12:00:33 Callback to hide commits in revision walker.
Vicent Marti 85a41fc4 2014-03-24T18:09:13 Merge pull request #2183 from ethomson/merge_refactor Refactor the `git_merge` API
Carlos Martín Nieto 6057c4a0 2014-03-23T15:48:13 opts: bits are not bytes The default cache size is 256 megabytes, not megabits as claimed in the docs.
Carlos Martín Nieto 42dee8ec 2014-03-23T13:34:33 settings: use git_buf for returning strings This survived the last round of culling, as the signature is only in the comments.
Edward Thomson 58c2b1c4 2014-03-20T09:35:22 UNBORN implies FAST_FORWARD
Edward Thomson ac584fcf 2014-03-18T16:04:51 Introduce GIT_MERGE_ANALYSIS_UNBORN
Edward Thomson 97f3462a 2014-03-18T13:14:09 git_merge_status -> git_merge_analysis
Edward Thomson d9fdee6e 2014-03-12T09:43:53 Remove `git_merge_result` as it's now unnecessary
Edward Thomson 5aa2ac6d 2014-03-11T22:47:39 Update git_merge_tree_opts to git_merge_options
Edward Thomson 02105a27 2014-03-11T18:40:38 Change signature of `git_merge` to take merge and checkout opts
Edward Thomson 1c0b6a38 2014-03-11T17:58:10 Remove fastforward / uptodate from `git_merge`
Edward Thomson ccb30827 2014-03-11T17:19:35 Add `git_merge_status` to provide info about an upcoming merge
Edward Thomson 05d47768 2014-03-10T22:30:41 Introduce git_merge_file for consumers
Vicent Marti 5dd7d243 2014-03-18T16:23:51 Merge pull request #2189 from Aimeast/octopus Implement git_merge_base_octopus
Aimeast 0aee025b 2014-03-18T22:31:14 Implement git_merge_base_octopus
Vicent Marti dd4c6962 2014-03-18T15:25:43 Merge pull request #2192 from phkelley/development Seamless support for NTLM/Kerberos auth on Windows
Philip Kelley 1392418e 2014-03-18T09:04:33 Seamless support for NTLM/Kerberos auth on Windows
Carlos Martín Nieto 853b1407 2014-03-17T16:10:33 branch: constness fixes
Carlos Martín Nieto 2b40390f 2014-03-13T15:54:53 refs: fix copy-paste doc error
Jan Melcher 52fba18f 2014-03-10T18:16:10 Add git_submodule_resolve_url()
Vicent Marti 041cd4a2 2014-03-07T19:02:58 Merge pull request #2028 from libgit2/options-names Rename options structures
Russell Belfer 5a6de908 2014-03-07T09:13:43 Merge pull request #2153 from mekishizufu/tag_example Add a tag example
Ben Straub aa17c3c6 2014-01-03T17:42:09 git_revert_opts -> git_revert_options
Ben Straub 6affd71f 2014-01-03T17:38:34 git_checkout_opts -> git_checkout_options
Vicent Marti 2ab6d2cd 2014-03-06T16:08:17 Revert pull request #1997
Vicent Marti 4d116c34 2014-03-06T16:08:12 Merge pull request #1997 from mgbowen/merge-options-init-fix Fix GIT_MERGE_OPTS_INIT on MSVC.
Matthew Bowen b9f81997 2014-03-05T21:49:23 Added function-based initializers for every options struct. The basic structure of each function is courtesy of arrbee.
Jiri Pospisil 4ae4a9bb 2014-03-03T23:36:34 Fix typo
Russell Belfer 13f7ecd7 2014-03-04T16:23:28 Add git_object_short_id API to get short id string This finds a short id string that will unambiguously select the given object, starting with the core.abbrev length (usually 7) and growing until it is no longer ambiguous.
Russell Belfer f5753999 2014-03-04T15:34:23 Add exists_prefix to ODB backend and ODB API
Arthur Schreiber 96484ecd 2014-03-03T12:59:35 Fix the description for `GIT_FEATURE_SSH`.
Vicent Marti ebb3c506 2014-03-03T12:40:25 features: Rename `_HAS_` to `_FEATURE_`
Vicent Marti 2491c416 2014-03-03T12:13:17 caps: Rename the enum name too!
Vicent Marti c9f5298b 2014-03-03T12:09:17 caps: Rename to features to avoid confusion
Russell Belfer 6789b7a7 2014-02-27T14:13:22 Add buffer to buffer diff and patch APIs This adds `git_diff_buffers` and `git_patch_from_buffers`. This also includes a bunch of internal refactoring to increase the shared code between these functions and the blob-to-blob and blob-to-buffer APIs, as well as some higher level assert helpers in the tests to also remove redundancy.
Ben Straub 1574d388 2014-02-26T16:58:20 Merge pull request #2137 from jru/blame-first-parent Blame first-parent history
Juan Rubén 899bd19a 2014-02-24T21:20:57 Document enumerator and rewording
Juan Rubén c7c83394 2014-02-21T00:22:07 Add option to limit blame to first parent
Edward Thomson c254e2b6 2014-02-21T08:55:30 Improve documentation for merging
Russell Belfer 72556cc6 2014-02-20T14:27:10 Address PR comments * Make GIT_INLINE an internal definition so it cannot be used in public headers * Fix language in CONTRIBUTING * Make index caps API use signed instead of unsigned values
Russell Belfer 978a4ed5 2014-02-20T11:00:31 Make git_oid_equal a non-inline API
Carlos Martín Nieto 15284a2c 2014-02-10T14:52:28 refs: move current_id before the reflog parameters Keep the reflog parameters as the last two, as they're the optional parameters.
Carlos Martín Nieto 77ad6754 2014-02-10T14:38:01 refs: conditional wording fixups This addresses arrbee's concerns about wording in the conditional reference udpate functions.
Russell Belfer 80c29fe9 2014-01-17T10:45:11 Add git_commit_amend API This adds an API to amend an existing commit, basically a shorthand for creating a new commit filling in missing parameters from the values of an existing commit. As part of this, I also added a new "sys" API to create a commit using a callback to get the parents. This allowed me to rewrite all the other commit creation APIs so that temporary allocations are no longer needed.
Russell Belfer 2d929194 2014-02-07T16:14:17 Merge pull request #2099 from libgit2/bs/more-reflog-stuff More reflogness
Russell Belfer 57c47af1 2014-02-07T16:05:19 Merge pull request #2042 from libgit2/cmn/conditional-ref refs: conditional ref updates
Ben Straub db55bb73 2014-02-06T11:18:10 Correct default reflog message for git_remote_fetch
Ben Straub 2bfc6739 2014-02-06T10:39:57 Fix terrible indentation