diff --git a/.github/issue_template.md b/.github/issue_template.md index b396dbc73f..60318f794c 100644 --- a/.github/issue_template.md +++ b/.github/issue_template.md @@ -9,5 +9,5 @@ node -v npm -v # (or yarn -v) node -e "console.log(process.platform)" node -e "console.log(require('os').release())" -node -e "console.log(console.log(process.arch))" +node -e "console.log(process.arch)" ``` diff --git a/.github/workflows/build-openssl-packages.yml b/.github/workflows/build-openssl-packages.yml new file mode 100644 index 0000000000..7b7a5dea3e --- /dev/null +++ b/.github/workflows/build-openssl-packages.yml @@ -0,0 +1,48 @@ +name: Build and Publish OpenSSL Packages + +on: + workflow_dispatch: + +jobs: + build-openssl: + name: Build OpenSSL package for (${{ matrix.os }} ${{ matrix.arch }}) + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: windows-latest + arch: arm64 + - os: windows-latest + arch: x64 + - os: macos-15 + arch: arm64 + - os: macos-15-intel + arch: x64 + fail-fast: false + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + + - name: Install dependencies + run: npm install + + - name: Build OpenSSL packages + env: + npm_config_arch: ${{ matrix.arch }} + NODEGIT_OPENSSL_BUILD_PACKAGE: 1 + OPENSSL_MACOS_DEPLOYMENT_TARGET: "11.0" + run: node utils/acquireOpenSSL.mjs + + - name: Push OpenSSL package to S3 + env: + npm_config_arch: ${{ matrix.arch }} + node_pre_gyp_bucket: ${{ secrets.node_pre_gyp_bucket }} + AWS_ACCESS_KEY_ID: ${{ secrets.node_pre_gyp_accessKeyId }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.node_pre_gyp_secretAccessKey }} + run: node utils/uploadOpenSSL.mjs diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3a2f8cc7ae..3cd6aae10c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -72,10 +72,9 @@ jobs: strategy: matrix: node: [20, 22, 24] + arch: [x64, arm64] fail-fast: false - runs-on: macOS-13 - # This is mostly the same as the Linux steps, waiting for anchor support - # https://github.com/actions/runner/issues/1182 + runs-on: ${{ matrix.arch == 'x64' && 'macos-15-intel' || 'macos-15' }} steps: - uses: actions/checkout@v4 @@ -123,7 +122,7 @@ jobs: strategy: matrix: node: [20, 22, 24] - arch: [x86, x64] + arch: [x86, x64, arm64] exclude: - node: 24 arch: x86 @@ -141,20 +140,36 @@ jobs: - uses: actions/checkout@v4 - name: Use Node.js + if: matrix.arch == 'x86' uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} check-latest: true - architecture: ${{ matrix.arch }} + architecture: x86 + + - name: Use Node.js + uses: actions/setup-node@v4 + if: matrix.arch != 'x86' + with: + node-version: ${{ matrix.node }} + check-latest: true - name: Install + env: + npm_config_arch: ${{ matrix.arch == 'x86' && 'ia32' || matrix.arch }} run: npm install - name: Test + # need arm64 runners or an emulator to run tests + if: matrix.arch != 'arm64' env: GIT_SSH: ${{ github.workspace }}\vendor\plink.exe run: | - powershell -command "Start-Process ${{ github.workspace }}\vendor\pageant.exe ${{ github.workspace }}\vendor\private.ppk" + $encodedKey = Get-Content -Path test\private.ppk.enc + $finalPath = Join-Path -Path $HOME -ChildPath .ssh_tests\private.ppk + mkdir ~\.ssh_tests + Set-Content -Value $([System.Convert]::FromBase64String($encodedKey)) -Path $finalPath -AsByteStream + powershell -command "Start-Process .\vendor\pageant\pageant_${{ matrix.arch }}.exe $finalPath" node utils/retry npm test # You're probably wondering why this isn't a single `run: |` step, it certainly is for *nix, @@ -170,7 +185,7 @@ jobs: - name: Deploy (Package) if: startsWith(github.ref, 'refs/tags/v') - run: node-pre-gyp package + run: node-pre-gyp package --target_arch=${{ matrix.arch }} - name: Deploy (Publish) if: startsWith(github.ref, 'refs/tags/v') @@ -178,4 +193,4 @@ jobs: node_pre_gyp_bucket: ${{ secrets.node_pre_gyp_bucket }} AWS_ACCESS_KEY_ID: ${{ secrets.node_pre_gyp_accessKeyId }} AWS_SECRET_ACCESS_KEY: ${{ secrets.node_pre_gyp_secretAccessKey }} - run: node-pre-gyp publish + run: node-pre-gyp publish --target_arch=${{ matrix.arch }} diff --git a/.gitignore b/.gitignore index feb22eaa22..7d1f15f049 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,4 @@ jsconfig.json test/id_rsa test/nodegit-test-rsa +test/private.ppk diff --git a/CHANGELOG.md b/CHANGELOG.md index 12d3a9dce0..d7c020aac7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,38 @@ # Change Log -## v0.28.0-alpha.34 [(2025-06-03)](https://github.com/nodegit/nodegit/releases/tag/v0.28.0-alpha.34) +## v0.28.0-alpha.36 [(2025-11-21)](https://github.com/nodegit/nodegit/releases/tag/v0.28.0-alpha.36) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.28.0-alpha.35...v0.28.0-alpha.36) + +#### Summary of Changes + - Use openssl unconditionally for linux electron builds + - Fix cross-compiling libssh2 + - Fix Windows SSH keys, tests, documentation + - Add CI tests and Prebuilts for MacOS arm64 + - Bump tar-fsa to fix security vulnerabilities + +#### Merged PRs into NodeGit +- [Bump tar-fs from 3.0.9 to 3.1.1](https://github.com/nodegit/nodegit/pull/2034) +- [Use custom electron for non-static builds on linux and fix cross-compilation](https://github.com/nodegit/nodegit/pull/2033) +- [add macos arm64 tests and prebuilts](https://github.com/nodegit/nodegit/pull/2030) + +## v0.28.0-alpha.35 [(2025-11-14)](https://github.com/nodegit/nodegit/releases/tag/v0.28.0-alpha.35) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.28.0-alpha.34...v0.28.0-alpha.35) + +#### Summary of Changes + - Bump libgit2 to 1.9.1 + - Bump OpenSSL to 3.0 + - Move OpenSSL Packaging to Github Actions + - Add arm64 build Support + +#### Merged PRs into NodeGit +- [Bump libgit2 to 1.9.1](https://github.com/nodegit/nodegit/pull/2025) +- [Bump OpenSSL to 3.0, Move OpenSSL package generation to Github Actions](https://github.com/nodegit/nodegit/pull/2026) +- [fix: correct macos arch labels](github.com/nodegit/nodegit/pull/2027) +- [Add Ability to compile for arm64](https://github.com/nodegit/nodegit/pull/2028) + +## v0.28.0-alpha.34 [(2025-07-23)](https://github.com/nodegit/nodegit/releases/tag/v0.28.0-alpha.34) [Full Changelog](https://github.com/nodegit/nodegit/compare/v0.28.0-alpha.33...v0.28.0-alpha.34) diff --git a/generate/input/descriptor.json b/generate/input/descriptor.json index 3e305900dd..99837534db 100644 --- a/generate/input/descriptor.json +++ b/generate/input/descriptor.json @@ -1526,6 +1526,11 @@ } } }, + "email": { + "cDependencies": [ + "git2/sys/email.h" + ] + }, "email_create_options": { "hasConstructor": true }, @@ -2602,9 +2607,11 @@ "ignore": true }, "git_odb_read": { + "isAsync": true, "cppFunctionName": "OdbRead", "args": { - "out": { + "obj": { + "isReturn": true, "ownedByThis": true } } diff --git a/generate/input/libgit2-docs.json b/generate/input/libgit2-docs.json index 5870c608aa..e1969402e7 100644 --- a/generate/input/libgit2-docs.json +++ b/generate/input/libgit2-docs.json @@ -12,7 +12,7 @@ "git_annotated_commit_free" ], "meta": {}, - "lines": 121 + "lines": 128 }, { "file": "git2/apply.h", @@ -24,7 +24,7 @@ "git_apply" ], "meta": {}, - "lines": 161 + "lines": 182 }, { "file": "git2/attr.h", @@ -41,21 +41,25 @@ "git_attr_add_macro" ], "meta": {}, - "lines": 363 + "lines": 378 }, { "file": "git2/blame.h", "functions": [ "git_blame_options_init", + "git_blame_linecount", + "git_blame_hunkcount", + "git_blame_hunk_byindex", + "git_blame_hunk_byline", + "git_blame_line_byindex", "git_blame_get_hunk_count", "git_blame_get_hunk_byindex", "git_blame_get_hunk_byline", - "git_blame_file", "git_blame_buffer", "git_blame_free" ], "meta": {}, - "lines": 280 + "lines": 385 }, { "file": "git2/blob.h", @@ -79,7 +83,7 @@ "git_blob_dup" ], "meta": {}, - "lines": 307 + "lines": 350 }, { "file": "git2/branch.h", @@ -104,13 +108,13 @@ "git_branch_name_is_valid" ], "meta": {}, - "lines": 332 + "lines": 339 }, { "file": "git2/buffer.h", "functions": ["git_buf_dispose"], "meta": {}, - "lines": 68 + "lines": 71 }, { "file": "git2/cert.h", @@ -130,7 +134,7 @@ "git_checkout_tree" ], "meta": {}, - "lines": 413 + "lines": 463 }, { "file": "git2/cherrypick.h", @@ -140,7 +144,7 @@ "git_cherrypick" ], "meta": {}, - "lines": 86 + "lines": 94 }, { "file": "git2/clone.h", @@ -151,7 +155,7 @@ "git_clone" ], "meta": {}, - "lines": 205 + "lines": 220 }, { "file": "git2/commit.h", @@ -192,7 +196,7 @@ "git_commitarray_dispose" ], "meta": {}, - "lines": 603 + "lines": 670 }, { "file": "git2/common.h", @@ -200,10 +204,11 @@ "git_libgit2_version", "git_libgit2_prerelease", "git_libgit2_features", + "git_libgit2_feature_backend", "git_libgit2_opts" ], "meta": {}, - "lines": 530 + "lines": 569 }, { "file": "git2/config.h", @@ -220,6 +225,7 @@ "git_config_open_ondisk", "git_config_open_level", "git_config_open_global", + "git_config_set_writeorder", "git_config_snapshot", "git_config_free", "git_config_get_entry", @@ -254,7 +260,7 @@ "git_config_lock" ], "meta": {}, - "lines": 818 + "lines": 847 }, { "file": "git2/credential.h", @@ -268,12 +274,14 @@ "git_credential_username_new", "git_credential_ssh_key_new", "git_credential_ssh_key_memory_new", + "git_credential_ssh_interactive_cb", "git_credential_ssh_interactive_new", "git_credential_ssh_key_from_agent", + "git_credential_sign_cb", "git_credential_ssh_custom_new" ], "meta": {}, - "lines": 311 + "lines": 338 }, { "file": "git2/credential_helpers.h", @@ -311,7 +319,7 @@ "git_blame_init_options" ], "meta": {}, - "lines": 905 + "lines": 1035 }, { "file": "git2/describe.h", @@ -324,7 +332,7 @@ "git_describe_result_free" ], "meta": {}, - "lines": 189 + "lines": 201 }, { "file": "git2/diff.h", @@ -368,22 +376,19 @@ "git_diff_patchid" ], "meta": {}, - "lines": 1471 + "lines": 1502 }, { "file": "git2/email.h", - "functions": [ - "git_email_create_from_diff", - "git_email_create_from_commit" - ], + "functions": ["git_email_create_from_commit"], "meta": {}, - "lines": 122 + "lines": 102 }, { "file": "git2/errors.h", "functions": ["git_error_last"], "meta": {}, - "lines": 139 + "lines": 149 }, { "file": "git2/filter.h", @@ -400,13 +405,13 @@ "git_filter_list_free" ], "meta": {}, - "lines": 269 + "lines": 278 }, { "file": "git2/global.h", "functions": ["git_libgit2_init", "git_libgit2_shutdown"], "meta": {}, - "lines": 39 + "lines": 45 }, { "file": "git2/graph.h", @@ -426,12 +431,14 @@ "git_ignore_path_is_ignored" ], "meta": {}, - "lines": 74 + "lines": 83 }, { "file": "git2/index.h", "functions": [ "git_index_matched_path_cb", + "git_index_open", + "git_index_new", "git_index_free", "git_index_owner", "git_index_caps", @@ -475,7 +482,7 @@ "git_index_conflict_iterator_free" ], "meta": {}, - "lines": 844 + "lines": 928 }, { "file": "git2/indexer.h", @@ -490,7 +497,7 @@ "git_indexer_free" ], "meta": {}, - "lines": 191 + "lines": 207 }, { "file": "git2/mailmap.h", @@ -504,7 +511,7 @@ "git_mailmap_resolve_signature" ], "meta": {}, - "lines": 111 + "lines": 116 }, { "file": "git2/merge.h", @@ -527,7 +534,7 @@ "git_merge" ], "meta": {}, - "lines": 622 + "lines": 666 }, { "file": "git2/message.h", @@ -539,31 +546,16 @@ "meta": {}, "lines": 81 }, - { "file": "git2/net.h", "functions": [], "meta": {}, "lines": 50 }, + { "file": "git2/net.h", "functions": [], "meta": {}, "lines": 51 }, { "file": "git2/notes.h", "functions": [ "git_note_foreach_cb", - "git_note_iterator_new", - "git_note_commit_iterator_new", "git_note_iterator_free", - "git_note_next", - "git_note_read", - "git_note_commit_read", - "git_note_author", - "git_note_committer", - "git_note_message", - "git_note_id", - "git_note_create", - "git_note_commit_create", - "git_note_remove", - "git_note_commit_remove", - "git_note_free", - "git_note_default_ref", - "git_note_foreach" + "git_note_next" ], "meta": {}, - "lines": 302 + "lines": 91 }, { "file": "git2/object.h", @@ -584,12 +576,14 @@ "git_object_rawcontent_is_valid" ], "meta": {}, - "lines": 273 + "lines": 274 }, { "file": "git2/odb.h", "functions": [ "git_odb_foreach_cb", + "git_odb_new", + "git_odb_open", "git_odb_add_disk_alternate", "git_odb_free", "git_odb_read", @@ -610,6 +604,8 @@ "git_odb_open_rstream", "git_odb_write_pack", "git_odb_write_multi_pack_index", + "git_odb_hash", + "git_odb_hashfile", "git_odb_object_dup", "git_odb_object_free", "git_odb_object_id", @@ -623,12 +619,25 @@ "git_odb_set_commit_graph" ], "meta": {}, - "lines": 650 + "lines": 691 + }, + { + "file": "git2/odb_backend.h", + "functions": [ + "git_odb_backend_pack", + "git_odb_backend_one_pack", + "git_odb_backend_loose" + ], + "meta": {}, + "lines": 246 }, - { "file": "git2/odb_backend.h", "functions": [], "meta": {}, "lines": 219 }, { "file": "git2/oid.h", "functions": [ + "git_oid_fromstr", + "git_oid_fromstrp", + "git_oid_fromstrn", + "git_oid_fromraw", "git_oid_fmt", "git_oid_nfmt", "git_oid_pathfmt", @@ -646,13 +655,13 @@ "git_oid_shorten_free" ], "meta": {}, - "lines": 369 + "lines": 366 }, { "file": "git2/oidarray.h", "functions": ["git_oidarray_dispose"], "meta": {}, - "lines": 31 + "lines": 38 }, { "file": "git2/pack.h", @@ -677,7 +686,7 @@ "git_packbuilder_free" ], "meta": {}, - "lines": 263 + "lines": 274 }, { "file": "git2/patch.h", @@ -719,13 +728,13 @@ "git_pathspec_match_list_failed_entry" ], "meta": {}, - "lines": 277 + "lines": 284 }, { "file": "git2/proxy.h", "functions": ["git_proxy_options_init"], "meta": {}, - "lines": 94 + "lines": 103 }, { "file": "git2/rebase.h", @@ -748,7 +757,7 @@ "git_rebase_free" ], "meta": {}, - "lines": 395 + "lines": 397 }, { "file": "git2/refdb.h", @@ -829,7 +838,7 @@ "git_reference_shorthand" ], "meta": {}, - "lines": 767 + "lines": 769 }, { "file": "git2/refspec.h", @@ -841,13 +850,14 @@ "git_refspec_string", "git_refspec_force", "git_refspec_direction", + "git_refspec_src_matches_negative", "git_refspec_src_matches", "git_refspec_dst_matches", "git_refspec_transform", "git_refspec_rtransform" ], "meta": {}, - "lines": 117 + "lines": 126 }, { "file": "git2/remote.h", @@ -907,13 +917,14 @@ "git_remote_default_branch" ], "meta": {}, - "lines": 1189 + "lines": 1244 }, { "file": "git2/repository.h", "functions": [ "git_repository_open", "git_repository_open_from_worktree", + "git_repository_wrap_odb", "git_repository_discover", "git_repository_open_ext", "git_repository_open_bare", @@ -961,7 +972,7 @@ "git_repository_commit_parents" ], "meta": {}, - "lines": 992 + "lines": 1014 }, { "file": "git2/reset.h", @@ -971,7 +982,7 @@ "git_reset_default" ], "meta": {}, - "lines": 107 + "lines": 119 }, { "file": "git2/revert.h", @@ -981,7 +992,7 @@ "git_revert" ], "meta": {}, - "lines": 86 + "lines": 91 }, { "file": "git2/revparse.h", @@ -1019,13 +1030,14 @@ "functions": [ "git_signature_new", "git_signature_now", + "git_signature_default_from_env", "git_signature_default", "git_signature_from_buffer", "git_signature_dup", "git_signature_free" ], "meta": {}, - "lines": 99 + "lines": 143 }, { "file": "git2/stash.h", @@ -1042,7 +1054,7 @@ "git_stash_pop" ], "meta": {}, - "lines": 310 + "lines": 323 }, { "file": "git2/status.h", @@ -1059,7 +1071,7 @@ "git_status_should_ignore" ], "meta": {}, - "lines": 448 + "lines": 451 }, { "file": "git2/strarray.h", @@ -1107,25 +1119,25 @@ "git_submodule_location" ], "meta": {}, - "lines": 664 + "lines": 674 }, { "file": "git2/sys/commit_graph.h", "functions": [], "meta": {}, - "lines": 108 + "lines": 99 }, - { "file": "git2/sys/config.h", "functions": [], "meta": {}, "lines": 143 }, - { "file": "git2/sys/filter.h", "functions": [], "meta": {}, "lines": 95 }, - { "file": "git2/sys/hashsig.h", "functions": [], "meta": {}, "lines": 45 }, - { "file": "git2/sys/merge.h", "functions": [], "meta": {}, "lines": 41 }, - { "file": "git2/sys/path.h", "functions": [], "meta": {}, "lines": 41 }, - { "file": "git2/sys/stream.h", "functions": [], "meta": {}, "lines": 97 }, + { "file": "git2/sys/config.h", "functions": [], "meta": {}, "lines": 162 }, + { "file": "git2/sys/filter.h", "functions": [], "meta": {}, "lines": 109 }, + { "file": "git2/sys/hashsig.h", "functions": [], "meta": {}, "lines": 55 }, + { "file": "git2/sys/merge.h", "functions": [], "meta": {}, "lines": 49 }, + { "file": "git2/sys/path.h", "functions": [], "meta": {}, "lines": 51 }, + { "file": "git2/sys/stream.h", "functions": [], "meta": {}, "lines": 105 }, { "file": "git2/sys/transport.h", "functions": [], "meta": {}, - "lines": 318 + "lines": 328 }, { "file": "git2/tag.h", @@ -1155,13 +1167,13 @@ "git_tag_name_is_valid" ], "meta": {}, - "lines": 379 + "lines": 380 }, { "file": "git2/trace.h", "functions": ["git_trace_cb", "git_trace_set"], "meta": {}, - "lines": 63 + "lines": 68 }, { "file": "git2/transaction.h", @@ -1182,7 +1194,7 @@ "file": "git2/transport.h", "functions": ["git_transport_message_cb", "git_transport_cb"], "meta": {}, - "lines": 37 + "lines": 45 }, { "file": "git2/tree.h", @@ -1222,9 +1234,9 @@ "git_tree_create_updated" ], "meta": {}, - "lines": 470 + "lines": 481 }, - { "file": "git2/types.h", "functions": [], "meta": {}, "lines": 366 }, + { "file": "git2/types.h", "functions": [], "meta": {}, "lines": 382 }, { "file": "git2/worktree.h", "functions": [ @@ -1245,15 +1257,15 @@ "git_worktree_prune" ], "meta": {}, - "lines": 267 + "lines": 273 } ], "functions": { "git_annotated_commit_from_ref": { "type": "function", "file": "git2/annotated_commit.h", - "line": 33, - "lineto": 36, + "line": 40, + "lineto": 43, "args": [ { "name": "out", @@ -1279,15 +1291,15 @@ "group": "annotated", "examples": { "checkout.c": [ - "ex/v1.8.4/checkout.html#git_annotated_commit_from_ref-1" + "ex/v1.9.1/checkout.html#git_annotated_commit_from_ref-1" ] } }, "git_annotated_commit_from_fetchhead": { "type": "function", "file": "git2/annotated_commit.h", - "line": 50, - "lineto": 55, + "line": 57, + "lineto": 62, "args": [ { "name": "out", @@ -1325,8 +1337,8 @@ "git_annotated_commit_lookup": { "type": "function", "file": "git2/annotated_commit.h", - "line": 75, - "lineto": 78, + "line": 82, + "lineto": 85, "args": [ { "name": "out", @@ -1354,8 +1366,8 @@ "git_annotated_commit_from_revspec": { "type": "function", "file": "git2/annotated_commit.h", - "line": 92, - "lineto": 95, + "line": 99, + "lineto": 102, "args": [ { "name": "out", @@ -1383,8 +1395,8 @@ "git_annotated_commit_id": { "type": "function", "file": "git2/annotated_commit.h", - "line": 103, - "lineto": 104, + "line": 110, + "lineto": 111, "args": [ { "name": "commit", @@ -1399,19 +1411,19 @@ "comments": "", "group": "annotated", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_annotated_commit_id-2"], + "checkout.c": ["ex/v1.9.1/checkout.html#git_annotated_commit_id-2"], "merge.c": [ - "ex/v1.8.4/merge.html#git_annotated_commit_id-1", - "ex/v1.8.4/merge.html#git_annotated_commit_id-2", - "ex/v1.8.4/merge.html#git_annotated_commit_id-3" + "ex/v1.9.1/merge.html#git_annotated_commit_id-1", + "ex/v1.9.1/merge.html#git_annotated_commit_id-2", + "ex/v1.9.1/merge.html#git_annotated_commit_id-3" ] } }, "git_annotated_commit_ref": { "type": "function", "file": "git2/annotated_commit.h", - "line": 112, - "lineto": 113, + "line": 119, + "lineto": 120, "args": [ { "name": "commit", @@ -1427,17 +1439,17 @@ "group": "annotated", "examples": { "checkout.c": [ - "ex/v1.8.4/checkout.html#git_annotated_commit_ref-3", - "ex/v1.8.4/checkout.html#git_annotated_commit_ref-4", - "ex/v1.8.4/checkout.html#git_annotated_commit_ref-5" + "ex/v1.9.1/checkout.html#git_annotated_commit_ref-3", + "ex/v1.9.1/checkout.html#git_annotated_commit_ref-4", + "ex/v1.9.1/checkout.html#git_annotated_commit_ref-5" ] } }, "git_annotated_commit_free": { "type": "function", "file": "git2/annotated_commit.h", - "line": 120, - "lineto": 121, + "line": 127, + "lineto": 128, "args": [ { "name": "commit", @@ -1452,14 +1464,14 @@ "comments": "", "group": "annotated", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_annotated_commit_free-6"] + "checkout.c": ["ex/v1.9.1/checkout.html#git_annotated_commit_free-6"] } }, "git_apply_options_init": { "type": "function", "file": "git2/apply.h", - "line": 106, - "lineto": 106, + "line": 127, + "lineto": 127, "args": [ { "name": "opts", @@ -1482,8 +1494,8 @@ "git_apply_to_tree": { "type": "function", "file": "git2/apply.h", - "line": 119, - "lineto": 124, + "line": 140, + "lineto": 145, "args": [ { "name": "out", @@ -1521,8 +1533,8 @@ "git_apply": { "type": "function", "file": "git2/apply.h", - "line": 157, - "lineto": 161, + "line": 178, + "lineto": 182, "args": [ { "name": "repo", @@ -1555,8 +1567,8 @@ "git_attr_value": { "type": "function", "file": "git2/attr.h", - "line": 102, - "lineto": 102, + "line": 106, + "lineto": 106, "args": [ { "name": "attr", "type": "const char *", "comment": "The attribute" } ], @@ -1573,8 +1585,8 @@ "git_attr_get": { "type": "function", "file": "git2/attr.h", - "line": 180, - "lineto": 185, + "line": 195, + "lineto": 200, "args": [ { "name": "value_out", @@ -1612,8 +1624,8 @@ "git_attr_get_ext": { "type": "function", "file": "git2/attr.h", - "line": 203, - "lineto": 208, + "line": 218, + "lineto": 223, "args": [ { "name": "value_out", @@ -1651,8 +1663,8 @@ "git_attr_get_many": { "type": "function", "file": "git2/attr.h", - "line": 240, - "lineto": 246, + "line": 255, + "lineto": 261, "args": [ { "name": "values_out", @@ -1695,8 +1707,8 @@ "git_attr_get_many_ext": { "type": "function", "file": "git2/attr.h", - "line": 265, - "lineto": 271, + "line": 280, + "lineto": 286, "args": [ { "name": "values_out", @@ -1739,8 +1751,8 @@ "git_attr_foreach": { "type": "function", "file": "git2/attr.h", - "line": 304, - "lineto": 309, + "line": 319, + "lineto": 324, "args": [ { "name": "repo", @@ -1781,8 +1793,8 @@ "git_attr_foreach_ext": { "type": "function", "file": "git2/attr.h", - "line": 324, - "lineto": 329, + "line": 339, + "lineto": 344, "args": [ { "name": "repo", @@ -1823,8 +1835,8 @@ "git_attr_cache_flush": { "type": "function", "file": "git2/attr.h", - "line": 342, - "lineto": 343, + "line": 357, + "lineto": 358, "args": [ { "name": "repo", @@ -1842,8 +1854,8 @@ "git_attr_add_macro": { "type": "function", "file": "git2/attr.h", - "line": 360, - "lineto": 363, + "line": 375, + "lineto": 378, "args": [ { "name": "repo", @@ -1871,8 +1883,8 @@ "git_blame_options_init": { "type": "function", "file": "git2/blame.h", - "line": 138, - "lineto": 140, + "line": 146, + "lineto": 148, "args": [ { "name": "opts", @@ -1895,11 +1907,11 @@ "comments": "

Initializes a git_blame_options with default values. Equivalent to creating an instance with GIT_BLAME_OPTIONS_INIT.

\n", "group": "blame" }, - "git_blame_get_hunk_count": { + "git_blame_linecount": { "type": "function", "file": "git2/blame.h", - "line": 210, - "lineto": 210, + "line": 244, + "lineto": 244, "args": [ { "name": "blame", @@ -1909,16 +1921,35 @@ ], "argline": "git_blame *blame", "sig": "git_blame *", - "return": { "type": "uint32_t", "comment": " The number of hunks." }, + "return": { "type": "size_t", "comment": " The number of line." }, + "description": "

Gets the number of lines that exist in the blame structure.

\n", + "comments": "", + "group": "blame" + }, + "git_blame_hunkcount": { + "type": "function", + "file": "git2/blame.h", + "line": 252, + "lineto": 252, + "args": [ + { + "name": "blame", + "type": "git_blame *", + "comment": "The blame structure to query." + } + ], + "argline": "git_blame *blame", + "sig": "git_blame *", + "return": { "type": "size_t", "comment": " The number of hunks." }, "description": "

Gets the number of hunks that exist in the blame structure.

\n", "comments": "", "group": "blame" }, - "git_blame_get_hunk_byindex": { + "git_blame_hunk_byindex": { "type": "function", "file": "git2/blame.h", - "line": 219, - "lineto": 221, + "line": 261, + "lineto": 263, "args": [ { "name": "blame", @@ -1927,12 +1958,12 @@ }, { "name": "index", - "type": "uint32_t", + "type": "size_t", "comment": "index of the hunk to retrieve" } ], - "argline": "git_blame *blame, uint32_t index", - "sig": "git_blame *::uint32_t", + "argline": "git_blame *blame, size_t index", + "sig": "git_blame *::size_t", "return": { "type": "const git_blame_hunk *", "comment": " the hunk at the given index, or NULL on error" @@ -1941,11 +1972,11 @@ "comments": "", "group": "blame" }, - "git_blame_get_hunk_byline": { + "git_blame_hunk_byline": { "type": "function", "file": "git2/blame.h", - "line": 230, - "lineto": 232, + "line": 273, + "lineto": 275, "args": [ { "name": "blame", @@ -1964,56 +1995,118 @@ "type": "const git_blame_hunk *", "comment": " the hunk that contains the given line, or NULL on error" }, - "description": "

Gets the hunk that relates to the given line number in the newest commit.

\n", + "description": "

Gets the hunk that relates to the given line number in the newest\n commit.

\n", "comments": "", "group": "blame", "examples": { - "blame.c": ["ex/v1.8.4/blame.html#git_blame_get_hunk_byline-1"] + "blame.c": ["ex/v1.9.1/blame.html#git_blame_hunk_byline-1"] } }, - "git_blame_file": { + "git_blame_line_byindex": { "type": "function", "file": "git2/blame.h", - "line": 245, - "lineto": 249, + "line": 284, + "lineto": 286, "args": [ { - "name": "out", - "type": "git_blame **", - "comment": "pointer that will receive the blame object" + "name": "blame", + "type": "git_blame *", + "comment": "the blame structure to query" }, { - "name": "repo", - "type": "git_repository *", - "comment": "repository whose history is to be walked" + "name": "idx", + "type": "size_t", + "comment": "the (1-based) line number" + } + ], + "argline": "git_blame *blame, size_t idx", + "sig": "git_blame *::size_t", + "return": { + "type": "const git_blame_line *", + "comment": " the blamed line, or NULL on error" + }, + "description": "

Gets the information about the line in the blame.

\n", + "comments": "", + "group": "blame" + }, + "git_blame_get_hunk_count": { + "type": "function", + "file": "git2/blame.h", + "line": 296, + "lineto": 296, + "args": [ + { + "name": "blame", + "type": "git_blame *", + "comment": "The blame structure to query." + } + ], + "argline": "git_blame *blame", + "sig": "git_blame *", + "return": { "type": "uint32_t", "comment": " The number of hunks." }, + "description": "

Gets the number of hunks that exist in the blame structure.

\n", + "comments": "", + "group": "blame" + }, + "git_blame_get_hunk_byindex": { + "type": "function", + "file": "git2/blame.h", + "line": 305, + "lineto": 307, + "args": [ + { + "name": "blame", + "type": "git_blame *", + "comment": "the blame structure to query" }, { - "name": "path", - "type": "const char *", - "comment": "path to file to consider" + "name": "index", + "type": "uint32_t", + "comment": "index of the hunk to retrieve" + } + ], + "argline": "git_blame *blame, uint32_t index", + "sig": "git_blame *::uint32_t", + "return": { + "type": "const git_blame_hunk *", + "comment": " the hunk at the given index, or NULL on error" + }, + "description": "

Gets the blame hunk at the given index.

\n", + "comments": "", + "group": "blame" + }, + "git_blame_get_hunk_byline": { + "type": "function", + "file": "git2/blame.h", + "line": 316, + "lineto": 318, + "args": [ + { + "name": "blame", + "type": "git_blame *", + "comment": "the blame structure to query" }, { - "name": "options", - "type": "git_blame_options *", - "comment": "options for the blame operation. If NULL, this is treated as\n though GIT_BLAME_OPTIONS_INIT were passed." + "name": "lineno", + "type": "size_t", + "comment": "the (1-based) line number to find a hunk for" } ], - "argline": "git_blame **out, git_repository *repo, const char *path, git_blame_options *options", - "sig": "git_blame **::git_repository *::const char *::git_blame_options *", + "argline": "git_blame *blame, size_t lineno", + "sig": "git_blame *::size_t", "return": { - "type": "int", - "comment": " 0 on success, or an error code. (use git_error_last for information\n about the error.)" + "type": "const git_blame_hunk *", + "comment": " the hunk that contains the given line, or NULL on error" }, - "description": "

Get the blame for a single file.

\n", + "description": "

Gets the hunk that relates to the given line number in the newest commit.

\n", "comments": "", - "group": "blame", - "examples": { "blame.c": ["ex/v1.8.4/blame.html#git_blame_file-2"] } + "group": "blame" }, "git_blame_buffer": { "type": "function", "file": "git2/blame.h", - "line": 269, - "lineto": 273, + "line": 374, + "lineto": 378, "args": [ { "name": "out", @@ -2021,7 +2114,7 @@ "comment": "pointer that will receive the resulting blame data" }, { - "name": "reference", + "name": "base", "type": "git_blame *", "comment": "cached blame from the history of the file (usually the output\n from git_blame_file)" }, @@ -2036,21 +2129,21 @@ "comment": "number of valid bytes in the buffer" } ], - "argline": "git_blame **out, git_blame *reference, const char *buffer, size_t buffer_len", + "argline": "git_blame **out, git_blame *base, const char *buffer, size_t buffer_len", "sig": "git_blame **::git_blame *::const char *::size_t", "return": { "type": "int", "comment": " 0 on success, or an error code. (use git_error_last for information\n about the error)" }, - "description": "

Get blame data for a file that has been modified in memory. The reference\n parameter is a pre-calculated blame for the in-odb history of the file. This\n means that once a file blame is completed (which can be expensive), updating\n the buffer blame is very fast.

\n", + "description": "

Get blame data for a file that has been modified in memory. The blame\n parameter is a pre-calculated blame for the in-odb history of the file.\n This means that once a file blame is completed (which can be expensive),\n updating the buffer blame is very fast.

\n", "comments": "

Lines that differ between the buffer and the committed version are marked as having a zero OID for their final_commit_id.

\n", "group": "blame" }, "git_blame_free": { "type": "function", "file": "git2/blame.h", - "line": 280, - "lineto": 280, + "line": 385, + "lineto": 385, "args": [ { "name": "blame", @@ -2064,13 +2157,13 @@ "description": "

Free memory allocated by git_blame_file or git_blame_buffer.

\n", "comments": "", "group": "blame", - "examples": { "blame.c": ["ex/v1.8.4/blame.html#git_blame_free-3"] } + "examples": { "blame.c": ["ex/v1.9.1/blame.html#git_blame_free-2"] } }, "git_blob_lookup": { "type": "function", "file": "git2/blob.h", - "line": 33, - "lineto": 33, + "line": 37, + "lineto": 40, "args": [ { "name": "blob", @@ -2095,15 +2188,15 @@ "comments": "", "group": "blob", "examples": { - "blame.c": ["ex/v1.8.4/blame.html#git_blob_lookup-4"], - "general.c": ["ex/v1.8.4/general.html#git_blob_lookup-1"] + "blame.c": ["ex/v1.9.1/blame.html#git_blob_lookup-3"], + "general.c": ["ex/v1.9.1/general.html#git_blob_lookup-1"] } }, "git_blob_lookup_prefix": { "type": "function", "file": "git2/blob.h", - "line": 47, - "lineto": 47, + "line": 54, + "lineto": 54, "args": [ { "name": "blob", @@ -2136,8 +2229,8 @@ "git_blob_free": { "type": "function", "file": "git2/blob.h", - "line": 60, - "lineto": 60, + "line": 67, + "lineto": 67, "args": [ { "name": "blob", "type": "git_blob *", "comment": "the blob to close" } ], @@ -2148,15 +2241,15 @@ "comments": "

This is a wrapper around git_object_free()

\n\n

IMPORTANT: It is necessary to call this method when you stop using a blob. Failure to do so will cause a memory leak.

\n", "group": "blob", "examples": { - "blame.c": ["ex/v1.8.4/blame.html#git_blob_free-5"], - "general.c": ["ex/v1.8.4/general.html#git_blob_free-2"] + "blame.c": ["ex/v1.9.1/blame.html#git_blob_free-4"], + "general.c": ["ex/v1.9.1/general.html#git_blob_free-2"] } }, "git_blob_id": { "type": "function", "file": "git2/blob.h", - "line": 68, - "lineto": 68, + "line": 75, + "lineto": 75, "args": [ { "name": "blob", @@ -2177,8 +2270,8 @@ "git_blob_owner": { "type": "function", "file": "git2/blob.h", - "line": 76, - "lineto": 76, + "line": 83, + "lineto": 83, "args": [ { "name": "blob", @@ -2199,8 +2292,8 @@ "git_blob_rawcontent": { "type": "function", "file": "git2/blob.h", - "line": 89, - "lineto": 89, + "line": 96, + "lineto": 96, "args": [ { "name": "blob", @@ -2212,22 +2305,22 @@ "sig": "const git_blob *", "return": { "type": "const void *", - "comment": " the pointer, or NULL on error" + "comment": " \n\n `unsigned char *` the pointer, or NULL on error" }, "description": "

Get a read-only buffer with the raw content of a blob.

\n", "comments": "

A pointer to the raw content of a blob is returned; this pointer is owned internally by the object and shall not be free'd. The pointer may be invalidated at a later time.

\n", "group": "blob", "examples": { - "blame.c": ["ex/v1.8.4/blame.html#git_blob_rawcontent-6"], - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_blob_rawcontent-1"], - "general.c": ["ex/v1.8.4/general.html#git_blob_rawcontent-3"] + "blame.c": ["ex/v1.9.1/blame.html#git_blob_rawcontent-5"], + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_blob_rawcontent-1"], + "general.c": ["ex/v1.9.1/general.html#git_blob_rawcontent-3"] } }, "git_blob_rawsize": { "type": "function", "file": "git2/blob.h", - "line": 97, - "lineto": 97, + "line": 104, + "lineto": 104, "args": [ { "name": "blob", @@ -2237,24 +2330,24 @@ ], "argline": "const git_blob *blob", "sig": "const git_blob *", - "return": { "type": "git_object_size_t", "comment": " size on bytes" }, + "return": { "type": "git_object_size_t", "comment": " size in bytes" }, "description": "

Get the size in bytes of the contents of a blob

\n", "comments": "", "group": "blob", "examples": { - "blame.c": ["ex/v1.8.4/blame.html#git_blob_rawsize-7"], - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_blob_rawsize-2"], + "blame.c": ["ex/v1.9.1/blame.html#git_blob_rawsize-6"], + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_blob_rawsize-2"], "general.c": [ - "ex/v1.8.4/general.html#git_blob_rawsize-4", - "ex/v1.8.4/general.html#git_blob_rawsize-5" + "ex/v1.9.1/general.html#git_blob_rawsize-4", + "ex/v1.9.1/general.html#git_blob_rawsize-5" ] } }, "git_blob_filter_options_init": { "type": "function", "file": "git2/blob.h", - "line": 164, - "lineto": 164, + "line": 201, + "lineto": 203, "args": [ { "name": "opts", @@ -2264,7 +2357,7 @@ { "name": "version", "type": "unsigned int", - "comment": "The struct version; pass `GIT_BLOB_FILTER_OPTIONS_VERSION`." + "comment": "The struct version; pass GIT_BLOB_FILTER_OPTIONS_VERSION" } ], "argline": "git_blob_filter_options *opts, unsigned int version", @@ -2280,8 +2373,8 @@ "git_blob_filter": { "type": "function", "file": "git2/blob.h", - "line": 188, - "lineto": 192, + "line": 227, + "lineto": 231, "args": [ { "name": "out", @@ -2306,16 +2399,19 @@ ], "argline": "git_buf *out, git_blob *blob, const char *as_path, git_blob_filter_options *opts", "sig": "git_buf *::git_blob *::const char *::git_blob_filter_options *", - "return": { "type": "int", "comment": " 0 on success or an error code" }, + "return": { + "type": "int", + "comment": " \n\n[enum] git_error_code 0 on success or an error code" + }, "description": "

Get a buffer with the filtered content of a blob.

\n", - "comments": "

This applies filters as if the blob was being checked out to the working directory under the specified filename. This may apply CRLF filtering or other types of changes depending on the file attributes set for the blob and the content detected in it.

\n\n

The output is written into a git_buf which the caller must free when done (via git_buf_dispose).

\n\n

If no filters need to be applied, then the out buffer will just be populated with a pointer to the raw content of the blob. In that case, be careful to not free the blob until done with the buffer or copy it into memory you own.

\n", + "comments": "

This applies filters as if the blob was being checked out to the working directory under the specified filename. This may apply CRLF filtering or other types of changes depending on the file attributes set for the blob and the content detected in it.

\n\n

The output is written into a git_buf which the caller must dispose when done (via git_buf_dispose).

\n\n

If no filters need to be applied, then the out buffer will just be populated with a pointer to the raw content of the blob. In that case, be careful to not free the blob until done with the buffer or copy it into memory you own.

\n", "group": "blob" }, "git_blob_create_from_workdir": { "type": "function", "file": "git2/blob.h", - "line": 205, - "lineto": 205, + "line": 244, + "lineto": 244, "args": [ { "name": "id", @@ -2336,15 +2432,15 @@ "argline": "git_oid *id, git_repository *repo, const char *relative_path", "sig": "git_oid *::git_repository *::const char *", "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Read a file from the working folder of a repository\n and write it to the Object Database as a loose blob

\n", + "description": "

Read a file from the working folder of a repository and write it\n to the object database.

\n", "comments": "", "group": "blob" }, "git_blob_create_from_disk": { "type": "function", "file": "git2/blob.h", - "line": 217, - "lineto": 217, + "line": 257, + "lineto": 260, "args": [ { "name": "id", @@ -2365,15 +2461,15 @@ "argline": "git_oid *id, git_repository *repo, const char *path", "sig": "git_oid *::git_repository *::const char *", "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Read a file from the filesystem and write its content\n to the Object Database as a loose blob

\n", + "description": "

Read a file from the filesystem (not necessarily inside the\n working folder of the repository) and write it to the object\n database.

\n", "comments": "", "group": "blob" }, "git_blob_create_from_stream": { "type": "function", "file": "git2/blob.h", - "line": 244, - "lineto": 247, + "line": 287, + "lineto": 290, "args": [ { "name": "out", @@ -2394,15 +2490,15 @@ "argline": "git_writestream **out, git_repository *repo, const char *hintpath", "sig": "git_writestream **::git_repository *::const char *", "return": { "type": "int", "comment": " 0 or error code" }, - "description": "

Create a stream to write a new blob into the object db

\n", + "description": "

Create a stream to write a new blob into the object database.

\n", "comments": "

This function may need to buffer the data on disk and will in general not be the right choice if you know the size of the data to write. If you have data in memory, use git_blob_create_from_buffer(). If you do not, but know the size of the contents (and don't want/need to perform filtering), use git_odb_open_wstream().

\n\n

Don't close this stream yourself but pass it to git_blob_create_from_stream_commit() to commit the write to the object db and get the object id.

\n\n

If the hintpath parameter is filled, it will be used to determine what git filters should be applied to the object before it is written to the object database.

\n", "group": "blob" }, "git_blob_create_from_stream_commit": { "type": "function", "file": "git2/blob.h", - "line": 258, - "lineto": 260, + "line": 301, + "lineto": 303, "args": [ { "name": "out", @@ -2418,15 +2514,15 @@ "argline": "git_oid *out, git_writestream *stream", "sig": "git_oid *::git_writestream *", "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Close the stream and write the blob to the object db

\n", + "description": "

Close the stream and finalize writing the blob to the object database.

\n", "comments": "

The stream will be closed and freed.

\n", "group": "blob" }, "git_blob_create_from_buffer": { "type": "function", "file": "git2/blob.h", - "line": 271, - "lineto": 272, + "line": 314, + "lineto": 315, "args": [ { "name": "id", @@ -2448,15 +2544,15 @@ "argline": "git_oid *id, git_repository *repo, const void *buffer, size_t len", "sig": "git_oid *::git_repository *::const void *::size_t", "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Write an in-memory buffer to the ODB as a blob

\n", + "description": "

Write an in-memory buffer to the object database as a blob.

\n", "comments": "", "group": "blob" }, "git_blob_is_binary": { "type": "function", "file": "git2/blob.h", - "line": 285, - "lineto": 285, + "line": 328, + "lineto": 328, "args": [ { "name": "blob", @@ -2468,17 +2564,17 @@ "sig": "const git_blob *", "return": { "type": "int", - "comment": " 1 if the content of the blob is detected\n as binary; 0 otherwise." + "comment": " \n\n bool 1 if the content of the blob is detected\n as binary; 0 otherwise." }, - "description": "

Determine if the blob content is most certainly binary or not.

\n", + "description": "

Determine if the blob content is most likely binary or not.

\n", "comments": "

The heuristic used to guess if a file is binary is taken from core git: Searching for NUL bytes and looking for a reasonable ratio of printable to non-printable characters among the first 8000 bytes.

\n", "group": "blob" }, "git_blob_data_is_binary": { "type": "function", "file": "git2/blob.h", - "line": 297, - "lineto": 297, + "line": 340, + "lineto": 340, "args": [ { "name": "data", @@ -2500,8 +2596,8 @@ "git_blob_dup": { "type": "function", "file": "git2/blob.h", - "line": 307, - "lineto": 307, + "line": 350, + "lineto": 350, "args": [ { "name": "out", @@ -2524,8 +2620,8 @@ "git_branch_create": { "type": "function", "file": "git2/branch.h", - "line": 52, - "lineto": 57, + "line": 53, + "lineto": 58, "args": [ { "name": "out", @@ -2540,12 +2636,12 @@ { "name": "branch_name", "type": "const char *", - "comment": "Name for the branch; this name is\n validated for consistency. It should also not conflict with\n an already existing branch name." + "comment": "Name for the branch; this name is\n validated for consistency. It should also not conflict with\n an already existing branch name." }, { "name": "target", "type": "const git_commit *", - "comment": "Commit to which this branch should point. This object\n must belong to the given `repo`." + "comment": "Commit to which this branch should point. This object\n must belong to the given `repo`." }, { "name": "force", @@ -2566,36 +2662,55 @@ "git_branch_create_from_annotated": { "type": "function", "file": "git2/branch.h", - "line": 70, - "lineto": 75, + "line": 77, + "lineto": 82, "args": [ - { "name": "ref_out", "type": "git_reference **", "comment": null }, - { "name": "repository", "type": "git_repository *", "comment": null }, - { "name": "branch_name", "type": "const char *", "comment": null }, { - "name": "commit", + "name": "ref_out", + "type": "git_reference **", + "comment": "Pointer where to store the underlying reference." + }, + { + "name": "repo", + "type": "git_repository *", + "comment": "the repository to create the branch in." + }, + { + "name": "branch_name", + "type": "const char *", + "comment": "Name for the branch; this name is\n validated for consistency. It should also not conflict with\n an already existing branch name." + }, + { + "name": "target", "type": "const git_annotated_commit *", - "comment": null + "comment": "Annotated commit to which this branch should point. This\n object must belong to the given `repo`." }, - { "name": "force", "type": "int", "comment": null } + { + "name": "force", + "type": "int", + "comment": "Overwrite existing branch." + } ], - "argline": "git_reference **ref_out, git_repository *repository, const char *branch_name, const git_annotated_commit *commit, int force", + "argline": "git_reference **ref_out, git_repository *repo, const char *branch_name, const git_annotated_commit *target, int force", "sig": "git_reference **::git_repository *::const char *::const git_annotated_commit *::int", - "return": { "type": "int", "comment": null }, + "return": { + "type": "int", + "comment": " 0, GIT_EINVALIDSPEC or an error code." + }, "description": "

Create a new branch pointing at a target commit

\n", - "comments": "

This behaves like git_branch_create() but takes an annotated commit, which lets you specify which extended sha syntax string was specified by a user, allowing for more exact reflog messages.

\n\n

See the documentation for git_branch_create().

\n", + "comments": "

This behaves like git_branch_create() but takes an annotated commit, which lets you specify which extended sha syntax string was specified by a user, allowing for more exact reflog messages.

\n", "group": "branch", "examples": { "checkout.c": [ - "ex/v1.8.4/checkout.html#git_branch_create_from_annotated-7" + "ex/v1.9.1/checkout.html#git_branch_create_from_annotated-7" ] } }, "git_branch_delete": { "type": "function", "file": "git2/branch.h", - "line": 87, - "lineto": 87, + "line": 94, + "lineto": 94, "args": [ { "name": "branch", @@ -2616,8 +2731,8 @@ "git_branch_iterator_new": { "type": "function", "file": "git2/branch.h", - "line": 103, - "lineto": 106, + "line": 110, + "lineto": 113, "args": [ { "name": "out", @@ -2645,8 +2760,8 @@ "git_branch_next": { "type": "function", "file": "git2/branch.h", - "line": 116, - "lineto": 116, + "line": 123, + "lineto": 123, "args": [ { "name": "out", @@ -2677,8 +2792,8 @@ "git_branch_iterator_free": { "type": "function", "file": "git2/branch.h", - "line": 123, - "lineto": 123, + "line": 130, + "lineto": 130, "args": [ { "name": "iter", @@ -2696,8 +2811,8 @@ "git_branch_move": { "type": "function", "file": "git2/branch.h", - "line": 146, - "lineto": 150, + "line": 153, + "lineto": 157, "args": [ { "name": "out", @@ -2733,8 +2848,8 @@ "git_branch_lookup": { "type": "function", "file": "git2/branch.h", - "line": 170, - "lineto": 174, + "line": 177, + "lineto": 181, "args": [ { "name": "out", @@ -2770,8 +2885,8 @@ "git_branch_name": { "type": "function", "file": "git2/branch.h", - "line": 191, - "lineto": 193, + "line": 198, + "lineto": 200, "args": [ { "name": "out", @@ -2793,13 +2908,13 @@ "description": "

Get the branch name

\n", "comments": "

Given a reference object, this will check that it really is a branch (ie. it lives under "refs/heads/" or "refs/remotes/"), and return the branch part of it.

\n", "group": "branch", - "examples": { "merge.c": ["ex/v1.8.4/merge.html#git_branch_name-4"] } + "examples": { "merge.c": ["ex/v1.9.1/merge.html#git_branch_name-4"] } }, "git_branch_upstream": { "type": "function", "file": "git2/branch.h", - "line": 209, - "lineto": 211, + "line": 216, + "lineto": 218, "args": [ { "name": "out", @@ -2825,8 +2940,8 @@ "git_branch_set_upstream": { "type": "function", "file": "git2/branch.h", - "line": 228, - "lineto": 230, + "line": 235, + "lineto": 237, "args": [ { "name": "branch", @@ -2843,7 +2958,7 @@ "sig": "git_reference *::const char *", "return": { "type": "int", - "comment": " 0 on success; GIT_ENOTFOUND if there's no branch named `branch_name`\n or an error code" + "comment": " \n\n git_error_t 0 on success; GIT_ENOTFOUND if there's no branch named `branch_name`\n or an error code" }, "description": "

Set a branch's upstream branch

\n", "comments": "

This will update the configuration to set the branch named branch_name as the upstream of branch. Pass a NULL name to unset the upstream information.

\n", @@ -2852,8 +2967,8 @@ "git_branch_upstream_name": { "type": "function", "file": "git2/branch.h", - "line": 246, - "lineto": 249, + "line": 253, + "lineto": 256, "args": [ { "name": "out", @@ -2884,8 +2999,8 @@ "git_branch_is_head": { "type": "function", "file": "git2/branch.h", - "line": 259, - "lineto": 260, + "line": 266, + "lineto": 267, "args": [ { "name": "branch", @@ -2906,8 +3021,8 @@ "git_branch_is_checked_out": { "type": "function", "file": "git2/branch.h", - "line": 272, - "lineto": 273, + "line": 279, + "lineto": 280, "args": [ { "name": "branch", @@ -2928,8 +3043,8 @@ "git_branch_remote_name": { "type": "function", "file": "git2/branch.h", - "line": 291, - "lineto": 294, + "line": 298, + "lineto": 301, "args": [ { "name": "out", @@ -2960,8 +3075,8 @@ "git_branch_upstream_remote": { "type": "function", "file": "git2/branch.h", - "line": 307, - "lineto": 307, + "line": 314, + "lineto": 314, "args": [ { "name": "buf", @@ -2989,8 +3104,8 @@ "git_branch_upstream_merge": { "type": "function", "file": "git2/branch.h", - "line": 320, - "lineto": 320, + "line": 327, + "lineto": 327, "args": [ { "name": "buf", @@ -3018,8 +3133,8 @@ "git_branch_name_is_valid": { "type": "function", "file": "git2/branch.h", - "line": 332, - "lineto": 332, + "line": 339, + "lineto": 339, "args": [ { "name": "valid", @@ -3042,8 +3157,8 @@ "git_buf_dispose": { "type": "function", "file": "git2/buffer.h", - "line": 68, - "lineto": 68, + "line": 71, + "lineto": 71, "args": [ { "name": "buffer", @@ -3059,17 +3174,17 @@ "group": "buf", "examples": { "diff.c": [ - "ex/v1.8.4/diff.html#git_buf_dispose-1", - "ex/v1.8.4/diff.html#git_buf_dispose-2" + "ex/v1.9.1/diff.html#git_buf_dispose-1", + "ex/v1.9.1/diff.html#git_buf_dispose-2" ], - "tag.c": ["ex/v1.8.4/tag.html#git_buf_dispose-1"] + "tag.c": ["ex/v1.9.1/tag.html#git_buf_dispose-1"] } }, "git_checkout_options_init": { "type": "function", "file": "git2/checkout.h", - "line": 360, - "lineto": 362, + "line": 410, + "lineto": 412, "args": [ { "name": "opts", @@ -3095,8 +3210,8 @@ "git_checkout_head": { "type": "function", "file": "git2/checkout.h", - "line": 381, - "lineto": 383, + "line": 431, + "lineto": 433, "args": [ { "name": "repo", @@ -3122,8 +3237,8 @@ "git_checkout_index": { "type": "function", "file": "git2/checkout.h", - "line": 394, - "lineto": 397, + "line": 444, + "lineto": 447, "args": [ { "name": "repo", @@ -3154,8 +3269,8 @@ "git_checkout_tree": { "type": "function", "file": "git2/checkout.h", - "line": 410, - "lineto": 413, + "line": 460, + "lineto": 463, "args": [ { "name": "repo", @@ -3183,15 +3298,15 @@ "comments": "", "group": "checkout", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_checkout_tree-8"], - "merge.c": ["ex/v1.8.4/merge.html#git_checkout_tree-5"] + "checkout.c": ["ex/v1.9.1/checkout.html#git_checkout_tree-8"], + "merge.c": ["ex/v1.9.1/merge.html#git_checkout_tree-5"] } }, "git_cherrypick_options_init": { "type": "function", "file": "git2/cherrypick.h", - "line": 49, - "lineto": 51, + "line": 57, + "lineto": 59, "args": [ { "name": "opts", @@ -3217,8 +3332,8 @@ "git_cherrypick_commit": { "type": "function", "file": "git2/cherrypick.h", - "line": 67, - "lineto": 73, + "line": 75, + "lineto": 81, "args": [ { "name": "out", @@ -3264,8 +3379,8 @@ "git_cherrypick": { "type": "function", "file": "git2/cherrypick.h", - "line": 83, - "lineto": 86, + "line": 91, + "lineto": 94, "args": [ { "name": "repo", @@ -3296,8 +3411,8 @@ "git_clone_options_init": { "type": "function", "file": "git2/clone.h", - "line": 181, - "lineto": 183, + "line": 192, + "lineto": 194, "args": [ { "name": "opts", @@ -3323,8 +3438,8 @@ "git_clone": { "type": "function", "file": "git2/clone.h", - "line": 201, - "lineto": 205, + "line": 216, + "lineto": 220, "args": [ { "name": "out", @@ -3354,14 +3469,14 @@ "comment": " 0 on success, any non-zero return value from a callback\n function, or a negative value to indicate an error (use\n `git_error_last` for a detailed error message)" }, "description": "

Clone a remote repository.

\n", - "comments": "

By default this creates its repository and initial remote to match git's defaults. You can use the options in the callback to customize how these are created.

\n", + "comments": "

By default this creates its repository and initial remote to match git's defaults. You can use the options in the callback to customize how these are created.

\n\n

Note that the libgit2 library must be initialized using git_libgit2_init before any APIs can be called, including this one.

\n", "group": "clone" }, "git_commit_lookup": { "type": "function", "file": "git2/commit.h", - "line": 36, - "lineto": 37, + "line": 40, + "lineto": 41, "args": [ { "name": "commit", @@ -3386,21 +3501,21 @@ "comments": "

The returned object should be released with git_commit_free when no longer needed.

\n", "group": "commit", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_commit_lookup-9"], + "checkout.c": ["ex/v1.9.1/checkout.html#git_commit_lookup-9"], "general.c": [ - "ex/v1.8.4/general.html#git_commit_lookup-6", - "ex/v1.8.4/general.html#git_commit_lookup-7", - "ex/v1.8.4/general.html#git_commit_lookup-8" + "ex/v1.9.1/general.html#git_commit_lookup-6", + "ex/v1.9.1/general.html#git_commit_lookup-7", + "ex/v1.9.1/general.html#git_commit_lookup-8" ], - "log.c": ["ex/v1.8.4/log.html#git_commit_lookup-1"], - "merge.c": ["ex/v1.8.4/merge.html#git_commit_lookup-6"] + "log.c": ["ex/v1.9.1/log.html#git_commit_lookup-1"], + "merge.c": ["ex/v1.9.1/merge.html#git_commit_lookup-6"] } }, "git_commit_lookup_prefix": { "type": "function", "file": "git2/commit.h", - "line": 55, - "lineto": 56, + "line": 59, + "lineto": 60, "args": [ { "name": "commit", @@ -3433,8 +3548,8 @@ "git_commit_free": { "type": "function", "file": "git2/commit.h", - "line": 70, - "lineto": 70, + "line": 74, + "lineto": 74, "args": [ { "name": "commit", @@ -3449,27 +3564,27 @@ "comments": "

This is a wrapper around git_object_free()

\n\n

IMPORTANT: It is necessary to call this method when you stop using a commit. Failure to do so will cause a memory leak.

\n", "group": "commit", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_commit_free-10"], + "checkout.c": ["ex/v1.9.1/checkout.html#git_commit_free-10"], "general.c": [ - "ex/v1.8.4/general.html#git_commit_free-9", - "ex/v1.8.4/general.html#git_commit_free-10", - "ex/v1.8.4/general.html#git_commit_free-11", - "ex/v1.8.4/general.html#git_commit_free-12", - "ex/v1.8.4/general.html#git_commit_free-13" + "ex/v1.9.1/general.html#git_commit_free-9", + "ex/v1.9.1/general.html#git_commit_free-10", + "ex/v1.9.1/general.html#git_commit_free-11", + "ex/v1.9.1/general.html#git_commit_free-12", + "ex/v1.9.1/general.html#git_commit_free-13" ], "log.c": [ - "ex/v1.8.4/log.html#git_commit_free-2", - "ex/v1.8.4/log.html#git_commit_free-3", - "ex/v1.8.4/log.html#git_commit_free-4", - "ex/v1.8.4/log.html#git_commit_free-5" + "ex/v1.9.1/log.html#git_commit_free-2", + "ex/v1.9.1/log.html#git_commit_free-3", + "ex/v1.9.1/log.html#git_commit_free-4", + "ex/v1.9.1/log.html#git_commit_free-5" ] } }, "git_commit_id": { "type": "function", "file": "git2/commit.h", - "line": 78, - "lineto": 78, + "line": 82, + "lineto": 82, "args": [ { "name": "commit", @@ -3487,15 +3602,15 @@ "comments": "", "group": "commit", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_commit_id-14"], - "log.c": ["ex/v1.8.4/log.html#git_commit_id-6"] + "general.c": ["ex/v1.9.1/general.html#git_commit_id-14"], + "log.c": ["ex/v1.9.1/log.html#git_commit_id-6"] } }, "git_commit_owner": { "type": "function", "file": "git2/commit.h", - "line": 86, - "lineto": 86, + "line": 90, + "lineto": 90, "args": [ { "name": "commit", @@ -3514,16 +3629,16 @@ "group": "commit", "examples": { "log.c": [ - "ex/v1.8.4/log.html#git_commit_owner-7", - "ex/v1.8.4/log.html#git_commit_owner-8" + "ex/v1.9.1/log.html#git_commit_owner-7", + "ex/v1.9.1/log.html#git_commit_owner-8" ] } }, "git_commit_message_encoding": { "type": "function", "file": "git2/commit.h", - "line": 98, - "lineto": 98, + "line": 102, + "lineto": 102, "args": [ { "name": "commit", @@ -3541,8 +3656,8 @@ "git_commit_message": { "type": "function", "file": "git2/commit.h", - "line": 109, - "lineto": 109, + "line": 113, + "lineto": 113, "args": [ { "name": "commit", @@ -3561,27 +3676,27 @@ "group": "commit", "examples": { "cat-file.c": [ - "ex/v1.8.4/cat-file.html#git_commit_message-3", - "ex/v1.8.4/cat-file.html#git_commit_message-4" + "ex/v1.9.1/cat-file.html#git_commit_message-3", + "ex/v1.9.1/cat-file.html#git_commit_message-4" ], "general.c": [ - "ex/v1.8.4/general.html#git_commit_message-15", - "ex/v1.8.4/general.html#git_commit_message-16", - "ex/v1.8.4/general.html#git_commit_message-17" + "ex/v1.9.1/general.html#git_commit_message-15", + "ex/v1.9.1/general.html#git_commit_message-16", + "ex/v1.9.1/general.html#git_commit_message-17" ], "log.c": [ - "ex/v1.8.4/log.html#git_commit_message-9", - "ex/v1.8.4/log.html#git_commit_message-10", - "ex/v1.8.4/log.html#git_commit_message-11" + "ex/v1.9.1/log.html#git_commit_message-9", + "ex/v1.9.1/log.html#git_commit_message-10", + "ex/v1.9.1/log.html#git_commit_message-11" ], - "tag.c": ["ex/v1.8.4/tag.html#git_commit_message-2"] + "tag.c": ["ex/v1.9.1/tag.html#git_commit_message-2"] } }, "git_commit_message_raw": { "type": "function", "file": "git2/commit.h", - "line": 117, - "lineto": 117, + "line": 121, + "lineto": 121, "args": [ { "name": "commit", @@ -3602,8 +3717,8 @@ "git_commit_summary": { "type": "function", "file": "git2/commit.h", - "line": 128, - "lineto": 128, + "line": 132, + "lineto": 132, "args": [ { "name": "commit", @@ -3624,8 +3739,8 @@ "git_commit_body": { "type": "function", "file": "git2/commit.h", - "line": 141, - "lineto": 141, + "line": 145, + "lineto": 145, "args": [ { "name": "commit", @@ -3646,8 +3761,8 @@ "git_commit_time": { "type": "function", "file": "git2/commit.h", - "line": 149, - "lineto": 149, + "line": 153, + "lineto": 153, "args": [ { "name": "commit", @@ -3663,16 +3778,16 @@ "group": "commit", "examples": { "general.c": [ - "ex/v1.8.4/general.html#git_commit_time-18", - "ex/v1.8.4/general.html#git_commit_time-19" + "ex/v1.9.1/general.html#git_commit_time-18", + "ex/v1.9.1/general.html#git_commit_time-19" ] } }, "git_commit_time_offset": { "type": "function", "file": "git2/commit.h", - "line": 157, - "lineto": 157, + "line": 161, + "lineto": 161, "args": [ { "name": "commit", @@ -3693,8 +3808,8 @@ "git_commit_committer": { "type": "function", "file": "git2/commit.h", - "line": 165, - "lineto": 165, + "line": 169, + "lineto": 169, "args": [ { "name": "commit", @@ -3712,16 +3827,16 @@ "comments": "", "group": "commit", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_commit_committer-5"], - "general.c": ["ex/v1.8.4/general.html#git_commit_committer-20"], - "log.c": ["ex/v1.8.4/log.html#git_commit_committer-12"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_commit_committer-5"], + "general.c": ["ex/v1.9.1/general.html#git_commit_committer-20"], + "log.c": ["ex/v1.9.1/log.html#git_commit_committer-12"] } }, "git_commit_author": { "type": "function", "file": "git2/commit.h", - "line": 173, - "lineto": 173, + "line": 177, + "lineto": 177, "args": [ { "name": "commit", @@ -3739,22 +3854,22 @@ "comments": "", "group": "commit", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_commit_author-6"], + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_commit_author-6"], "general.c": [ - "ex/v1.8.4/general.html#git_commit_author-21", - "ex/v1.8.4/general.html#git_commit_author-22" + "ex/v1.9.1/general.html#git_commit_author-21", + "ex/v1.9.1/general.html#git_commit_author-22" ], "log.c": [ - "ex/v1.8.4/log.html#git_commit_author-13", - "ex/v1.8.4/log.html#git_commit_author-14" + "ex/v1.9.1/log.html#git_commit_author-13", + "ex/v1.9.1/log.html#git_commit_author-14" ] } }, "git_commit_committer_with_mailmap": { "type": "function", "file": "git2/commit.h", - "line": 186, - "lineto": 187, + "line": 190, + "lineto": 191, "args": [ { "name": "out", @@ -3782,8 +3897,8 @@ "git_commit_author_with_mailmap": { "type": "function", "file": "git2/commit.h", - "line": 200, - "lineto": 201, + "line": 204, + "lineto": 205, "args": [ { "name": "out", @@ -3811,8 +3926,8 @@ "git_commit_raw_header": { "type": "function", "file": "git2/commit.h", - "line": 209, - "lineto": 209, + "line": 213, + "lineto": 213, "args": [ { "name": "commit", @@ -3833,8 +3948,8 @@ "git_commit_tree": { "type": "function", "file": "git2/commit.h", - "line": 218, - "lineto": 218, + "line": 222, + "lineto": 222, "args": [ { "name": "tree_out", @@ -3855,19 +3970,19 @@ "group": "commit", "examples": { "log.c": [ - "ex/v1.8.4/log.html#git_commit_tree-15", - "ex/v1.8.4/log.html#git_commit_tree-16", - "ex/v1.8.4/log.html#git_commit_tree-17", - "ex/v1.8.4/log.html#git_commit_tree-18", - "ex/v1.8.4/log.html#git_commit_tree-19" + "ex/v1.9.1/log.html#git_commit_tree-15", + "ex/v1.9.1/log.html#git_commit_tree-16", + "ex/v1.9.1/log.html#git_commit_tree-17", + "ex/v1.9.1/log.html#git_commit_tree-18", + "ex/v1.9.1/log.html#git_commit_tree-19" ] } }, "git_commit_tree_id": { "type": "function", "file": "git2/commit.h", - "line": 228, - "lineto": 228, + "line": 232, + "lineto": 232, "args": [ { "name": "commit", @@ -3885,14 +4000,14 @@ "comments": "", "group": "commit", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_commit_tree_id-7"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_commit_tree_id-7"] } }, "git_commit_parentcount": { "type": "function", "file": "git2/commit.h", - "line": 236, - "lineto": 236, + "line": 240, + "lineto": 240, "args": [ { "name": "commit", @@ -3910,19 +4025,19 @@ "comments": "", "group": "commit", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_commit_parentcount-8"], - "general.c": ["ex/v1.8.4/general.html#git_commit_parentcount-23"], + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_commit_parentcount-8"], + "general.c": ["ex/v1.9.1/general.html#git_commit_parentcount-23"], "log.c": [ - "ex/v1.8.4/log.html#git_commit_parentcount-20", - "ex/v1.8.4/log.html#git_commit_parentcount-21" + "ex/v1.9.1/log.html#git_commit_parentcount-20", + "ex/v1.9.1/log.html#git_commit_parentcount-21" ] } }, "git_commit_parent": { "type": "function", "file": "git2/commit.h", - "line": 246, - "lineto": 249, + "line": 250, + "lineto": 253, "args": [ { "name": "out", @@ -3947,18 +4062,18 @@ "comments": "", "group": "commit", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_commit_parent-24"], + "general.c": ["ex/v1.9.1/general.html#git_commit_parent-24"], "log.c": [ - "ex/v1.8.4/log.html#git_commit_parent-22", - "ex/v1.8.4/log.html#git_commit_parent-23" + "ex/v1.9.1/log.html#git_commit_parent-22", + "ex/v1.9.1/log.html#git_commit_parent-23" ] } }, "git_commit_parent_id": { "type": "function", "file": "git2/commit.h", - "line": 260, - "lineto": 262, + "line": 264, + "lineto": 266, "args": [ { "name": "commit", @@ -3981,15 +4096,15 @@ "comments": "", "group": "commit", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_commit_parent_id-9"], - "log.c": ["ex/v1.8.4/log.html#git_commit_parent_id-24"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_commit_parent_id-9"], + "log.c": ["ex/v1.9.1/log.html#git_commit_parent_id-24"] } }, "git_commit_nth_gen_ancestor": { "type": "function", "file": "git2/commit.h", - "line": 278, - "lineto": 281, + "line": 282, + "lineto": 285, "args": [ { "name": "ancestor", @@ -4020,8 +4135,8 @@ "git_commit_header_field": { "type": "function", "file": "git2/commit.h", - "line": 293, - "lineto": 293, + "line": 297, + "lineto": 297, "args": [ { "name": "out", @@ -4052,8 +4167,8 @@ "git_commit_extract_signature": { "type": "function", "file": "git2/commit.h", - "line": 313, - "lineto": 313, + "line": 317, + "lineto": 317, "args": [ { "name": "signature", @@ -4094,8 +4209,8 @@ "git_commit_create": { "type": "function", "file": "git2/commit.h", - "line": 359, - "lineto": 369, + "line": 363, + "lineto": 373, "args": [ { "name": "id", @@ -4157,122 +4272,184 @@ "description": "

Create new commit in the repository from a list of git_object pointers

\n", "comments": "

The message will not be cleaned up automatically. You can do that with the git_message_prettify() function.

\n", "group": "commit", - "examples": { "merge.c": ["ex/v1.8.4/merge.html#git_commit_create-7"] } + "examples": { "merge.c": ["ex/v1.9.1/merge.html#git_commit_create-7"] } }, "git_commit_create_v": { "type": "function", "file": "git2/commit.h", - "line": 385, - "lineto": 395, - "args": [ - { "name": "id", "type": "git_oid *", "comment": null }, - { "name": "repo", "type": "git_repository *", "comment": null }, - { "name": "update_ref", "type": "const char *", "comment": null }, - { "name": "author", "type": "const git_signature *", "comment": null }, - { - "name": "committer", - "type": "const git_signature *", - "comment": null - }, - { "name": "message_encoding", "type": "const char *", "comment": null }, - { "name": "message", "type": "const char *", "comment": null }, - { "name": "tree", "type": "const git_tree *", "comment": null }, - { "name": "parent_count", "type": "size_t", "comment": null } - ], - "argline": "git_oid *id, git_repository *repo, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message_encoding, const char *message, const git_tree *tree, size_t parent_count", - "sig": "git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::size_t", - "return": { "type": "int", "comment": null }, - "description": "

Create new commit in the repository using a variable argument list.

\n", - "comments": "

The message will not be cleaned up automatically. You can do that with the git_message_prettify() function.

\n\n

The parents for the commit are specified as a variable list of pointers to const git_commit *. Note that this is a convenience method which may not be safe to export for certain languages or compilers

\n\n

All other parameters remain the same as git_commit_create().

\n", - "group": "commit", - "examples": { - "commit.c": ["ex/v1.8.4/commit.html#git_commit_create_v-1"], - "general.c": ["ex/v1.8.4/general.html#git_commit_create_v-25"], - "init.c": ["ex/v1.8.4/init.html#git_commit_create_v-1"] - } - }, - "git_commit_create_from_stage": { - "type": "function", - "file": "git2/commit.h", - "line": 434, - "lineto": 438, + "line": 420, + "lineto": 430, "args": [ { "name": "id", "type": "git_oid *", - "comment": "pointer to store the new commit's object id" + "comment": "Pointer in which to store the OID of the newly created commit" }, { "name": "repo", "type": "git_repository *", - "comment": "repository to commit changes in" + "comment": "Repository where to store the commit" }, { - "name": "message", + "name": "update_ref", "type": "const char *", - "comment": "the commit message" - }, - { - "name": "opts", - "type": "const git_commit_create_options *", - "comment": "options for creating the commit" - } - ], - "argline": "git_oid *id, git_repository *repo, const char *message, const git_commit_create_options *opts", - "sig": "git_oid *::git_repository *::const char *::const git_commit_create_options *", - "return": { - "type": "int", - "comment": " 0 on success, GIT_EUNCHANGED if there were no changes to commit, or an error code" - }, - "description": "

Commits the staged changes in the repository; this is a near analog to\n git commit -m message.

\n", - "comments": "

By default, empty commits are not allowed.

\n", - "group": "commit" - }, - "git_commit_amend": { - "type": "function", - "file": "git2/commit.h", - "line": 461, - "lineto": 469, - "args": [ - { "name": "id", "type": "git_oid *", "comment": null }, - { - "name": "commit_to_amend", - "type": "const git_commit *", - "comment": null - }, - { "name": "update_ref", "type": "const char *", "comment": null }, - { "name": "author", "type": "const git_signature *", "comment": null }, - { - "name": "committer", - "type": "const git_signature *", - "comment": null - }, - { "name": "message_encoding", "type": "const char *", "comment": null }, - { "name": "message", "type": "const char *", "comment": null }, - { "name": "tree", "type": "const git_tree *", "comment": null } - ], - "argline": "git_oid *id, const git_commit *commit_to_amend, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message_encoding, const char *message, const git_tree *tree", - "sig": "git_oid *::const git_commit *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *", - "return": { "type": "int", "comment": null }, - "description": "

Amend an existing commit by replacing only non-NULL values.

\n", - "comments": "

This creates a new commit that is exactly the same as the old commit, except that any non-NULL values will be updated. The new commit has the same parents as the old commit.

\n\n

The update_ref value works as in the regular git_commit_create(), updating the ref to point to the newly rewritten commit. If you want to amend a commit that is not currently the tip of the branch and then rewrite the following commits to reach a ref, pass this as NULL and update the rest of the commit chain and ref separately.

\n\n

Unlike git_commit_create(), the author, committer, message, message_encoding, and tree parameters can be NULL in which case this will use the values from the original commit_to_amend.

\n\n

All parameters have the same meanings as in git_commit_create().

\n", - "group": "commit" - }, - "git_commit_create_buffer": { - "type": "function", - "file": "git2/commit.h", - "line": 506, - "lineto": 515, - "args": [ - { - "name": "out", - "type": "git_buf *", - "comment": "the buffer into which to write the commit object content" - }, - { - "name": "repo", - "type": "git_repository *", - "comment": "Repository where the referenced tree and parents live" + "comment": "If not NULL, name of the reference that\n\twill be updated to point to this commit. If the reference\n\tis not direct, it will be resolved to a direct reference.\n\tUse \"HEAD\" to update the HEAD of the current branch and\n\tmake it point to this commit. If the reference doesn't\n\texist yet, it will be created. If it does exist, the first\n\tparent must be the tip of this branch." + }, + { + "name": "author", + "type": "const git_signature *", + "comment": "Signature with author and author time of commit" + }, + { + "name": "committer", + "type": "const git_signature *", + "comment": "Signature with committer and * commit time of commit" + }, + { + "name": "message_encoding", + "type": "const char *", + "comment": "The encoding for the message in the\n commit, represented with a standard encoding name.\n E.g. \"UTF-8\". If NULL, no encoding header is written and\n UTF-8 is assumed." + }, + { + "name": "message", + "type": "const char *", + "comment": "Full message for this commit" + }, + { + "name": "tree", + "type": "const git_tree *", + "comment": "An instance of a `git_tree` object that will\n be used as the tree for the commit. This tree object must\n also be owned by the given `repo`." + }, + { + "name": "parent_count", + "type": "size_t", + "comment": "Number of parents for this commit" + } + ], + "argline": "git_oid *id, git_repository *repo, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message_encoding, const char *message, const git_tree *tree, size_t parent_count", + "sig": "git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::size_t", + "return": { + "type": "int", + "comment": " 0 or an error code\n\tThe created commit will be written to the Object Database and\n\tthe given reference will be updated to point to it" + }, + "description": "

Create new commit in the repository using a variable argument list.

\n", + "comments": "

The message will not be cleaned up automatically. You can do that with the git_message_prettify() function.

\n\n

The parents for the commit are specified as a variable list of pointers to const git_commit *. Note that this is a convenience method which may not be safe to export for certain languages or compilers

\n\n

All other parameters remain the same as git_commit_create().

\n", + "group": "commit", + "examples": { + "commit.c": ["ex/v1.9.1/commit.html#git_commit_create_v-1"], + "general.c": ["ex/v1.9.1/general.html#git_commit_create_v-25"], + "init.c": ["ex/v1.9.1/init.html#git_commit_create_v-1"] + } + }, + "git_commit_create_from_stage": { + "type": "function", + "file": "git2/commit.h", + "line": 472, + "lineto": 476, + "args": [ + { + "name": "id", + "type": "git_oid *", + "comment": "pointer to store the new commit's object id" + }, + { + "name": "repo", + "type": "git_repository *", + "comment": "repository to commit changes in" + }, + { + "name": "message", + "type": "const char *", + "comment": "the commit message" + }, + { + "name": "opts", + "type": "const git_commit_create_options *", + "comment": "options for creating the commit" + } + ], + "argline": "git_oid *id, git_repository *repo, const char *message, const git_commit_create_options *opts", + "sig": "git_oid *::git_repository *::const char *::const git_commit_create_options *", + "return": { + "type": "int", + "comment": " 0 on success, GIT_EUNCHANGED if there were no changes to commit, or an error code" + }, + "description": "

Commits the staged changes in the repository; this is a near analog to\n git commit -m message.

\n", + "comments": "

By default, empty commits are not allowed.

\n", + "group": "commit" + }, + "git_commit_amend": { + "type": "function", + "file": "git2/commit.h", + "line": 528, + "lineto": 536, + "args": [ + { + "name": "id", + "type": "git_oid *", + "comment": "Pointer in which to store the OID of the newly created commit" + }, + { + "name": "commit_to_amend", + "type": "const git_commit *", + "comment": "The commit to amend" + }, + { + "name": "update_ref", + "type": "const char *", + "comment": "If not NULL, name of the reference that\n\twill be updated to point to this commit. If the reference\n\tis not direct, it will be resolved to a direct reference.\n\tUse \"HEAD\" to update the HEAD of the current branch and\n\tmake it point to this commit. If the reference doesn't\n\texist yet, it will be created. If it does exist, the first\n\tparent must be the tip of this branch." + }, + { + "name": "author", + "type": "const git_signature *", + "comment": "Signature with author and author time of commit" + }, + { + "name": "committer", + "type": "const git_signature *", + "comment": "Signature with committer and * commit time of commit" + }, + { + "name": "message_encoding", + "type": "const char *", + "comment": "The encoding for the message in the\n commit, represented with a standard encoding name.\n E.g. \"UTF-8\". If NULL, no encoding header is written and\n UTF-8 is assumed." + }, + { + "name": "message", + "type": "const char *", + "comment": "Full message for this commit" + }, + { + "name": "tree", + "type": "const git_tree *", + "comment": "An instance of a `git_tree` object that will\n be used as the tree for the commit. This tree object must\n also be owned by the given `repo`." + } + ], + "argline": "git_oid *id, const git_commit *commit_to_amend, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message_encoding, const char *message, const git_tree *tree", + "sig": "git_oid *::const git_commit *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *", + "return": { + "type": "int", + "comment": " 0 or an error code\n\tThe created commit will be written to the Object Database and\n\tthe given reference will be updated to point to it" + }, + "description": "

Amend an existing commit by replacing only non-NULL values.

\n", + "comments": "

This creates a new commit that is exactly the same as the old commit, except that any non-NULL values will be updated. The new commit has the same parents as the old commit.

\n\n

The update_ref value works as in the regular git_commit_create(), updating the ref to point to the newly rewritten commit. If you want to amend a commit that is not currently the tip of the branch and then rewrite the following commits to reach a ref, pass this as NULL and update the rest of the commit chain and ref separately.

\n\n

Unlike git_commit_create(), the author, committer, message, message_encoding, and tree parameters can be NULL in which case this will use the values from the original commit_to_amend.

\n\n

All parameters have the same meanings as in git_commit_create().

\n", + "group": "commit" + }, + "git_commit_create_buffer": { + "type": "function", + "file": "git2/commit.h", + "line": 573, + "lineto": 582, + "args": [ + { + "name": "out", + "type": "git_buf *", + "comment": "the buffer into which to write the commit object content" + }, + { + "name": "repo", + "type": "git_repository *", + "comment": "Repository where the referenced tree and parents live" }, { "name": "author", @@ -4320,8 +4497,8 @@ "git_commit_create_with_signature": { "type": "function", "file": "git2/commit.h", - "line": 533, - "lineto": 538, + "line": 600, + "lineto": 605, "args": [ { "name": "out", @@ -4359,8 +4536,8 @@ "git_commit_dup": { "type": "function", "file": "git2/commit.h", - "line": 548, - "lineto": 548, + "line": 615, + "lineto": 615, "args": [ { "name": "out", @@ -4383,8 +4560,8 @@ "git_commitarray_dispose": { "type": "function", "file": "git2/commit.h", - "line": 603, - "lineto": 603, + "line": 670, + "lineto": 670, "args": [ { "name": "array", @@ -4402,8 +4579,8 @@ "git_libgit2_version": { "type": "function", "file": "git2/common.h", - "line": 117, - "lineto": 117, + "line": 119, + "lineto": 119, "args": [ { "name": "major", @@ -4434,8 +4611,8 @@ "git_libgit2_prerelease": { "type": "function", "file": "git2/common.h", - "line": 128, - "lineto": 128, + "line": 130, + "lineto": 130, "args": [], "argline": "", "sig": "", @@ -4450,8 +4627,8 @@ "git_libgit2_features": { "type": "function", "file": "git2/common.h", - "line": 180, - "lineto": 180, + "line": 184, + "lineto": 184, "args": [], "argline": "", "sig": "", @@ -4460,14 +4637,36 @@ "comment": " A combination of GIT_FEATURE_* values." }, "description": "

Query compile time options for libgit2.

\n", - "comments": "\n", + "comments": "", + "group": "libgit2" + }, + "git_libgit2_feature_backend": { + "type": "function", + "file": "git2/common.h", + "line": 205, + "lineto": 206, + "args": [ + { + "name": "feature", + "type": "git_feature_t", + "comment": "the feature to query details for" + } + ], + "argline": "git_feature_t feature", + "sig": "git_feature_t", + "return": { + "type": "const char *", + "comment": " the provider details, or NULL if the feature is not supported" + }, + "description": "

Query the backend details for the compile-time feature in libgit2.

\n", + "comments": "

This will return the "backend" for the feature, which is useful for things like HTTPS or SSH support, that can have multiple backends that could be compiled in.

\n\n

For example, when libgit2 is compiled with dynamic OpenSSL support, the feature backend will be openssl-dynamic. The feature backend names reflect the compilation options specified to the build system (though in all lower case). The backend may be "builtin" for features that are provided by libgit2 itself.

\n\n

If the feature is not supported by the library, this API returns NULL.

\n", "group": "libgit2" }, "git_libgit2_opts": { "type": "function", "file": "git2/common.h", - "line": 530, - "lineto": 530, + "line": 569, + "lineto": 569, "args": [{ "name": "option", "type": "int", "comment": "Option key" }], "argline": "int option", "sig": "int", @@ -4476,14 +4675,14 @@ "comment": " 0 on success, \n<\n0 on failure" }, "description": "

Set or query a library global option

\n", - "comments": "

Available options:

\n\n
* opts(GIT_OPT_GET_MWINDOW_SIZE, size_t *):\n\n    > Get the maximum mmap window size\n\n* opts(GIT_OPT_SET_MWINDOW_SIZE, size_t):\n\n    > Set the maximum mmap window size\n\n* opts(GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, size_t *):\n\n    > Get the maximum memory that will be mapped in total by the library\n\n* opts(GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, size_t):\n\n    > Set the maximum amount of memory that can be mapped at any time       > by the library\n\n* opts(GIT_OPT_GET_MWINDOW_FILE_LIMIT, size_t *):\n\n    > Get the maximum number of files that will be mapped at any time by the        > library\n\n* opts(GIT_OPT_SET_MWINDOW_FILE_LIMIT, size_t):\n\n    > Set the maximum number of files that can be mapped at any time        > by the library. The default (0) is unlimited.\n\n* opts(GIT_OPT_GET_SEARCH_PATH, int level, git_buf *buf)\n\n    > Get the search path for a given level of config data.  "level" must       > be one of `GIT_CONFIG_LEVEL_SYSTEM`, `GIT_CONFIG_LEVEL_GLOBAL`,       > `GIT_CONFIG_LEVEL_XDG`, or `GIT_CONFIG_LEVEL_PROGRAMDATA`.        > The search path is written to the `out` buffer.\n\n* opts(GIT_OPT_SET_SEARCH_PATH, int level, const char *path)\n\n    > Set the search path for a level of config data.  The search path      > applied to shared attributes and ignore files, too.       >       > - `path` lists directories delimited by GIT_PATH_LIST_SEPARATOR.      >   Pass NULL to reset to the default (generally based on environment       >   variables).  Use magic path `$PATH` to include the old value        >   of the path (if you want to prepend or append, for instance).       >       > - `level` must be `GIT_CONFIG_LEVEL_SYSTEM`,      >   `GIT_CONFIG_LEVEL_GLOBAL`, `GIT_CONFIG_LEVEL_XDG`, or       >   `GIT_CONFIG_LEVEL_PROGRAMDATA`.\n\n* opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_object_t type, size_t size)\n\n    > Set the maximum data size for the given type of object to be      > considered eligible for caching in memory.  Setting to value to       > zero means that that type of object will not be cached.       > Defaults to 0 for GIT_OBJECT_BLOB (i.e. won't cache blobs) and 4k     > for GIT_OBJECT_COMMIT, GIT_OBJECT_TREE, and GIT_OBJECT_TAG.\n\n* opts(GIT_OPT_SET_CACHE_MAX_SIZE, ssize_t max_storage_bytes)\n\n    > Set the maximum total data size that will be cached in memory     > across all repositories before libgit2 starts evicting objects        > from the cache.  This is a soft limit, in that the library might      > briefly exceed it, but will start aggressively evicting objects       > from cache when that happens.  The default cache size is 256MB.\n\n* opts(GIT_OPT_ENABLE_CACHING, int enabled)\n\n    > Enable or disable caching completely.     >       > Because caches are repository-specific, disabling the cache       > cannot immediately clear all cached objects, but each cache will      > be cleared on the next attempt to update anything in it.\n\n* opts(GIT_OPT_GET_CACHED_MEMORY, ssize_t *current, ssize_t *allowed)\n\n    > Get the current bytes in cache and the maximum that would be      > allowed in the cache.\n\n* opts(GIT_OPT_GET_TEMPLATE_PATH, git_buf *out)\n\n    > Get the default template path.        > The path is written to the `out` buffer.\n\n* opts(GIT_OPT_SET_TEMPLATE_PATH, const char *path)\n\n    > Set the default template path.        >       > - `path` directory of template.\n\n* opts(GIT_OPT_SET_SSL_CERT_LOCATIONS, const char *file, const char *path)\n\n    > Set the SSL certificate-authority locations.      >       > - `file` is the location of a file containing several     >   certificates concatenated together.     > - `path` is the location of a directory holding several       >   certificates, one per file.     >       > Either parameter may be `NULL`, but not both.\n\n* opts(GIT_OPT_SET_USER_AGENT, const char *user_agent)\n\n    > Set the value of the comment section of the User-Agent header.        > This can be information about your product and its version.       > By default this is "libgit2" followed by the libgit2 version.     >       > This value will be appended to User-Agent _product_, which        > is typically set to "git/2.0".        >       > Set to the empty string ("") to not send any information in the       > comment section, or set to NULL to restore the default.\n\n* opts(GIT_OPT_GET_USER_AGENT, git_buf *out)\n\n    > Get the value of the User-Agent header.       > The User-Agent is written to the `out` buffer.\n\n* opts(GIT_OPT_SET_USER_AGENT_PRODUCT, const char *user_agent_product)\n\n    > Set the value of the product portion of the User-Agent header.        > This defaults to "git/2.0", for compatibility with other git      > clients. It is recommended to keep this as git/<version> for      > compatibility with servers that do user-agent detection.      >       > Set to the empty string ("") to not send any user-agent string,       > or set to NULL to restore the default.\n\n* opts(GIT_OPT_GET_USER_AGENT_PRODUCT, git_buf *out)\n\n    > Get the value of the User-Agent product header.       > The User-Agent product is written to the `out` buffer.\n\n* opts(GIT_OPT_SET_WINDOWS_SHAREMODE, unsigned long value)\n\n    > Set the share mode used when opening files on Windows.        > For more information, see the documentation for CreateFile.       > The default is: FILE_SHARE_READ | FILE_SHARE_WRITE.  This is      > ignored and unused on non-Windows platforms.\n\n* opts(GIT_OPT_GET_WINDOWS_SHAREMODE, unsigned long *value)\n\n    > Get the share mode used when opening files on Windows.\n\n* opts(GIT_OPT_ENABLE_STRICT_OBJECT_CREATION, int enabled)\n\n    > Enable strict input validation when creating new objects      > to ensure that all inputs to the new objects are valid.  For      > example, when this is enabled, the parent(s) and tree inputs      > will be validated when creating a new commit.  This defaults      > to enabled.\n\n* opts(GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION, int enabled)\n\n    > Validate the target of a symbolic ref when creating it.  For      > example, `foobar` is not a valid ref, therefore `foobar` is       > not a valid target for a symbolic ref by default, whereas     > `refs/heads/foobar` is.  Disabling this bypasses validation       > so that an arbitrary strings such as `foobar` can be used     > for a symbolic ref target.  This defaults to enabled.\n\n* opts(GIT_OPT_SET_SSL_CIPHERS, const char *ciphers)\n\n    > Set the SSL ciphers use for HTTPS connections.        >       > - `ciphers` is the list of ciphers that are eanbled.\n\n* opts(GIT_OPT_ENABLE_OFS_DELTA, int enabled)\n\n    > Enable or disable the use of "offset deltas" when creating packfiles,     > and the negotiation of them when talking to a remote server.      > Offset deltas store a delta base location as an offset into the       > packfile from the current location, which provides a shorter encoding     > and thus smaller resultant packfiles.     > Packfiles containing offset deltas can still be read.     > This defaults to enabled.\n\n* opts(GIT_OPT_ENABLE_FSYNC_GITDIR, int enabled)\n\n    > Enable synchronized writes of files in the gitdir using `fsync`       > (or the platform equivalent) to ensure that new object data       > is written to permanent storage, not simply cached.  This     > defaults to disabled.\n\n opts(GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, int enabled)\n\n    > Enable strict verification of object hashsums when reading        > objects from disk. This may impact performance due to an      > additional checksum calculation on each object. This defaults     > to enabled.\n\n opts(GIT_OPT_SET_ALLOCATOR, git_allocator *allocator)\n\n    > Set the memory allocator to a different memory allocator. This        > allocator will then be used to make all memory allocations for        > libgit2 operations.  If the given `allocator` is NULL, then the       > system default will be restored.\n\n opts(GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, int enabled)\n\n    > Ensure that there are no unsaved changes in the index before      > beginning any operation that reloads the index from disk (eg,     > checkout).  If there are unsaved changes, the instruction will        > fail.  (Using the FORCE flag to checkout will still overwrite     > these changes.)\n\n opts(GIT_OPT_GET_PACK_MAX_OBJECTS, size_t *out)\n\n    > Get the maximum number of objects libgit2 will allow in a pack        > file when downloading a pack file from a remote. This can be      > used to limit maximum memory usage when fetching from an untrusted        > remote.\n\n opts(GIT_OPT_SET_PACK_MAX_OBJECTS, size_t objects)\n\n    > Set the maximum number of objects libgit2 will allow in a pack        > file when downloading a pack file from a remote.\n\n opts(GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS, int enabled)       > This will cause .keep file existence checks to be skipped when        > accessing packfiles, which can help performance with remote filesystems.\n\n opts(GIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE, int enabled)     > When connecting to a server using NTLM or Negotiate       > authentication, use expect/continue when POSTing data.        > This option is not available on Windows.\n
\n\n

opts(GIT_OPT_SET_ODB_PACKED_PRIORITY, int priority) > Override the default priority of the packed ODB backend which > is added when default backends are assigned to a repository

\n\n

opts(GIT_OPT_SET_ODB_LOOSE_PRIORITY, int priority) > Override the default priority of the loose ODB backend which > is added when default backends are assigned to a repository

\n\n

opts(GIT_OPT_GET_EXTENSIONS, git_strarray *out) > Returns the list of git extensions that are supported. This > is the list of built-in extensions supported by libgit2 and > custom extensions that have been added with > GIT_OPT_SET_EXTENSIONS. Extensions that have been negated > will not be returned. The returned list should be released > with git_strarray_dispose.

\n\n

opts(GIT_OPT_SET_EXTENSIONS, const char **extensions, size_t len) > Set that the given git extensions are supported by the caller. > Extensions supported by libgit2 may be negated by prefixing > them with a !. For example: setting extensions to > { "!noop", "newext" } indicates that the caller does not want > to support repositories with the noop extension but does want > to support repositories with the newext extension.

\n\n

opts(GIT_OPT_GET_OWNER_VALIDATION, int *enabled) > Gets the owner validation setting for repository > directories.

\n\n

opts(GIT_OPT_SET_OWNER_VALIDATION, int enabled) > Set that repository directories should be owned by the current > user. The default is to validate ownership.

\n\n

opts(GIT_OPT_GET_HOMEDIR, git_buf *out) > Gets the current user's home directory, as it will be used > for file lookups. The path is written to the out buffer.

\n\n

opts(GIT_OPT_SET_HOMEDIR, const char *path) > Sets the directory used as the current user's home directory, > for file lookups. > > - path directory of home directory.

\n\n

opts(GIT_OPT_GET_SERVER_CONNECT_TIMEOUT, int *timeout) > Gets the timeout (in milliseconds) to attempt connections to > a remote server.

\n\n

opts(GIT_OPT_SET_SERVER_CONNECT_TIMEOUT, int timeout) > Sets the timeout (in milliseconds) to attempt connections to > a remote server. Set to 0 to use the system default. Note that > this may not be able to be configured longer than the system > default, typically 75 seconds.

\n\n

opts(GIT_OPT_GET_SERVER_TIMEOUT, int *timeout) > Gets the timeout (in milliseconds) for reading from and writing > to a remote server.

\n\n

opts(GIT_OPT_SET_SERVER_TIMEOUT, int timeout) > Sets the timeout (in milliseconds) for reading from and writing > to a remote server. Set to 0 to use the system default.

\n", + "comments": "

Available options:

\n\n
* opts(GIT_OPT_GET_MWINDOW_SIZE, size_t *):\n\n    > Get the maximum mmap window size\n\n* opts(GIT_OPT_SET_MWINDOW_SIZE, size_t):\n\n    > Set the maximum mmap window size\n\n* opts(GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, size_t *):\n\n    > Get the maximum memory that will be mapped in total by the library\n\n* opts(GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, size_t):\n\n    > Set the maximum amount of memory that can be mapped at any time       > by the library\n\n* opts(GIT_OPT_GET_MWINDOW_FILE_LIMIT, size_t *):\n\n    > Get the maximum number of files that will be mapped at any time by the        > library\n\n* opts(GIT_OPT_SET_MWINDOW_FILE_LIMIT, size_t):\n\n    > Set the maximum number of files that can be mapped at any time        > by the library. The default (0) is unlimited.\n\n* opts(GIT_OPT_GET_SEARCH_PATH, int level, git_buf *buf)\n\n    > Get the search path for a given level of config data.  "level" must       > be one of `GIT_CONFIG_LEVEL_SYSTEM`, `GIT_CONFIG_LEVEL_GLOBAL`,       > `GIT_CONFIG_LEVEL_XDG`, or `GIT_CONFIG_LEVEL_PROGRAMDATA`.        > The search path is written to the `out` buffer.\n\n* opts(GIT_OPT_SET_SEARCH_PATH, int level, const char *path)\n\n    > Set the search path for a level of config data.  The search path      > applied to shared attributes and ignore files, too.       >       > - `path` lists directories delimited by GIT_PATH_LIST_SEPARATOR.      >   Pass NULL to reset to the default (generally based on environment       >   variables).  Use magic path `$PATH` to include the old value        >   of the path (if you want to prepend or append, for instance).       >       > - `level` must be `GIT_CONFIG_LEVEL_SYSTEM`,      >   `GIT_CONFIG_LEVEL_GLOBAL`, `GIT_CONFIG_LEVEL_XDG`, or       >   `GIT_CONFIG_LEVEL_PROGRAMDATA`.\n\n* opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_object_t type, size_t size)\n\n    > Set the maximum data size for the given type of object to be      > considered eligible for caching in memory.  Setting to value to       > zero means that that type of object will not be cached.       > Defaults to 0 for GIT_OBJECT_BLOB (i.e. won't cache blobs) and 4k     > for GIT_OBJECT_COMMIT, GIT_OBJECT_TREE, and GIT_OBJECT_TAG.\n\n* opts(GIT_OPT_SET_CACHE_MAX_SIZE, ssize_t max_storage_bytes)\n\n    > Set the maximum total data size that will be cached in memory     > across all repositories before libgit2 starts evicting objects        > from the cache.  This is a soft limit, in that the library might      > briefly exceed it, but will start aggressively evicting objects       > from cache when that happens.  The default cache size is 256MB.\n\n* opts(GIT_OPT_ENABLE_CACHING, int enabled)\n\n    > Enable or disable caching completely.     >       > Because caches are repository-specific, disabling the cache       > cannot immediately clear all cached objects, but each cache will      > be cleared on the next attempt to update anything in it.\n\n* opts(GIT_OPT_GET_CACHED_MEMORY, ssize_t *current, ssize_t *allowed)\n\n    > Get the current bytes in cache and the maximum that would be      > allowed in the cache.\n\n* opts(GIT_OPT_GET_TEMPLATE_PATH, git_buf *out)\n\n    > Get the default template path.        > The path is written to the `out` buffer.\n\n* opts(GIT_OPT_SET_TEMPLATE_PATH, const char *path)\n\n    > Set the default template path.        >       > - `path` directory of template.\n\n* opts(GIT_OPT_SET_SSL_CERT_LOCATIONS, const char *file, const char *path)\n\n    > Set the SSL certificate-authority locations.      >       > - `file` is the location of a file containing several     >   certificates concatenated together.     > - `path` is the location of a directory holding several       >   certificates, one per file.     >       > Calling `GIT_OPT_ADD_SSL_X509_CERT` may override the      > data in `path`.       >       > Either parameter may be `NULL`, but not both.\n
\n\n\n\n

opts(GIT_OPT_SET_ODB_PACKED_PRIORITY, int priority) > Override the default priority of the packed ODB backend which > is added when default backends are assigned to a repository

\n\n

opts(GIT_OPT_SET_ODB_LOOSE_PRIORITY, int priority) > Override the default priority of the loose ODB backend which > is added when default backends are assigned to a repository

\n\n

opts(GIT_OPT_GET_EXTENSIONS, git_strarray *out) > Returns the list of git extensions that are supported. This > is the list of built-in extensions supported by libgit2 and > custom extensions that have been added with > GIT_OPT_SET_EXTENSIONS. Extensions that have been negated > will not be returned. The returned list should be released > with git_strarray_dispose.

\n\n

opts(GIT_OPT_SET_EXTENSIONS, const char **extensions, size_t len) > Set that the given git extensions are supported by the caller. > Extensions supported by libgit2 may be negated by prefixing > them with a !. For example: setting extensions to > { "!noop", "newext" } indicates that the caller does not want > to support repositories with the noop extension but does want > to support repositories with the newext extension.

\n\n

opts(GIT_OPT_GET_OWNER_VALIDATION, int *enabled) > Gets the owner validation setting for repository > directories.

\n\n

opts(GIT_OPT_SET_OWNER_VALIDATION, int enabled) > Set that repository directories should be owned by the current > user. The default is to validate ownership.

\n\n

opts(GIT_OPT_GET_HOMEDIR, git_buf *out) > Gets the current user's home directory, as it will be used > for file lookups. The path is written to the out buffer.

\n\n

opts(GIT_OPT_SET_HOMEDIR, const char *path) > Sets the directory used as the current user's home directory, > for file lookups. > > - path directory of home directory.

\n\n

opts(GIT_OPT_GET_SERVER_CONNECT_TIMEOUT, int *timeout) > Gets the timeout (in milliseconds) to attempt connections to > a remote server.

\n\n

opts(GIT_OPT_SET_SERVER_CONNECT_TIMEOUT, int timeout) > Sets the timeout (in milliseconds) to attempt connections to > a remote server. Set to 0 to use the system default. Note that > this may not be able to be configured longer than the system > default, typically 75 seconds.

\n\n

opts(GIT_OPT_GET_SERVER_TIMEOUT, int *timeout) > Gets the timeout (in milliseconds) for reading from and writing > to a remote server.

\n\n

opts(GIT_OPT_SET_SERVER_TIMEOUT, int timeout) > Sets the timeout (in milliseconds) for reading from and writing > to a remote server. Set to 0 to use the system default.

\n", "group": "libgit2" }, "git_config_entry_free": { "type": "function", "file": "git2/config.h", - "line": 113, - "lineto": 113, + "line": 131, + "lineto": 131, "args": [ { "name": "entry", @@ -4494,21 +4693,21 @@ "argline": "git_config_entry *entry", "sig": "git_config_entry *", "return": { "type": "void", "comment": null }, - "description": "

Free a config entry

\n", + "description": "

Free a config entry.

\n", "comments": "", "group": "config", "examples": { "config.c": [ - "ex/v1.8.4/config.html#git_config_entry_free-1", - "ex/v1.8.4/config.html#git_config_entry_free-2" + "ex/v1.9.1/config.html#git_config_entry_free-1", + "ex/v1.9.1/config.html#git_config_entry_free-2" ] } }, "git_config_find_global": { "type": "function", "file": "git2/config.h", - "line": 165, - "lineto": 165, + "line": 183, + "lineto": 183, "args": [ { "name": "out", @@ -4529,8 +4728,8 @@ "git_config_find_xdg": { "type": "function", "file": "git2/config.h", - "line": 182, - "lineto": 182, + "line": 200, + "lineto": 200, "args": [ { "name": "out", @@ -4551,8 +4750,8 @@ "git_config_find_system": { "type": "function", "file": "git2/config.h", - "line": 194, - "lineto": 194, + "line": 212, + "lineto": 212, "args": [ { "name": "out", @@ -4573,8 +4772,8 @@ "git_config_find_programdata": { "type": "function", "file": "git2/config.h", - "line": 205, - "lineto": 205, + "line": 223, + "lineto": 223, "args": [ { "name": "out", @@ -4595,8 +4794,8 @@ "git_config_open_default": { "type": "function", "file": "git2/config.h", - "line": 217, - "lineto": 217, + "line": 235, + "lineto": 235, "args": [ { "name": "out", @@ -4614,8 +4813,8 @@ "git_config_new": { "type": "function", "file": "git2/config.h", - "line": 228, - "lineto": 228, + "line": 246, + "lineto": 246, "args": [ { "name": "out", @@ -4633,8 +4832,8 @@ "git_config_add_file_ondisk": { "type": "function", "file": "git2/config.h", - "line": 257, - "lineto": 262, + "line": 275, + "lineto": 280, "args": [ { "name": "cfg", @@ -4675,8 +4874,8 @@ "git_config_open_ondisk": { "type": "function", "file": "git2/config.h", - "line": 276, - "lineto": 276, + "line": 294, + "lineto": 294, "args": [ { "name": "out", @@ -4696,14 +4895,14 @@ "comments": "

This method is a simple utility wrapper for the following sequence of calls: - git_config_new - git_config_add_file_ondisk

\n", "group": "config", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_config_open_ondisk-26"] + "general.c": ["ex/v1.9.1/general.html#git_config_open_ondisk-26"] } }, "git_config_open_level": { "type": "function", "file": "git2/config.h", - "line": 294, - "lineto": 297, + "line": 312, + "lineto": 315, "args": [ { "name": "out", @@ -4734,8 +4933,8 @@ "git_config_open_global": { "type": "function", "file": "git2/config.h", - "line": 312, - "lineto": 312, + "line": 330, + "lineto": 330, "args": [ { "name": "out", @@ -4755,11 +4954,40 @@ "comments": "

Git allows you to store your global configuration at $HOME/.gitconfig or $XDG_CONFIG_HOME/git/config. For backwards compatibility, the XDG file shouldn't be used unless the use has created it explicitly. With this function you'll open the correct one to write to.

\n", "group": "config" }, + "git_config_set_writeorder": { + "type": "function", + "file": "git2/config.h", + "line": 343, + "lineto": 346, + "args": [ + { + "name": "cfg", + "type": "git_config *", + "comment": "the configuration to change write order of" + }, + { + "name": "levels", + "type": "git_config_level_t *", + "comment": "the ordering of levels for writing" + }, + { + "name": "len", + "type": "size_t", + "comment": "the length of the levels array" + } + ], + "argline": "git_config *cfg, git_config_level_t *levels, size_t len", + "sig": "git_config *::git_config_level_t *::size_t", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Set the write order for configuration backends. By default, the\n write ordering does not match the read ordering; for example, the\n worktree configuration is a high-priority for reading, but is not\n written to unless explicitly chosen.

\n", + "comments": "", + "group": "config" + }, "git_config_snapshot": { "type": "function", "file": "git2/config.h", - "line": 333, - "lineto": 333, + "line": 362, + "lineto": 362, "args": [ { "name": "out", @@ -4782,8 +5010,8 @@ "git_config_free": { "type": "function", "file": "git2/config.h", - "line": 340, - "lineto": 340, + "line": 369, + "lineto": 369, "args": [ { "name": "cfg", @@ -4798,18 +5026,18 @@ "comments": "", "group": "config", "examples": { - "config.c": ["ex/v1.8.4/config.html#git_config_free-3"], + "config.c": ["ex/v1.9.1/config.html#git_config_free-3"], "general.c": [ - "ex/v1.8.4/general.html#git_config_free-27", - "ex/v1.8.4/general.html#git_config_free-28" + "ex/v1.9.1/general.html#git_config_free-27", + "ex/v1.9.1/general.html#git_config_free-28" ] } }, "git_config_get_entry": { "type": "function", "file": "git2/config.h", - "line": 352, - "lineto": 355, + "line": 381, + "lineto": 384, "args": [ { "name": "out", @@ -4834,14 +5062,14 @@ "comments": "

Free the git_config_entry after use with git_config_entry_free().

\n", "group": "config", "examples": { - "config.c": ["ex/v1.8.4/config.html#git_config_get_entry-4"] + "config.c": ["ex/v1.9.1/config.html#git_config_get_entry-4"] } }, "git_config_get_int32": { "type": "function", "file": "git2/config.h", - "line": 369, - "lineto": 369, + "line": 398, + "lineto": 398, "args": [ { "name": "out", @@ -4867,16 +5095,16 @@ "group": "config", "examples": { "general.c": [ - "ex/v1.8.4/general.html#git_config_get_int32-29", - "ex/v1.8.4/general.html#git_config_get_int32-30" + "ex/v1.9.1/general.html#git_config_get_int32-29", + "ex/v1.9.1/general.html#git_config_get_int32-30" ] } }, "git_config_get_int64": { "type": "function", "file": "git2/config.h", - "line": 383, - "lineto": 383, + "line": 412, + "lineto": 412, "args": [ { "name": "out", @@ -4904,8 +5132,8 @@ "git_config_get_bool": { "type": "function", "file": "git2/config.h", - "line": 400, - "lineto": 400, + "line": 429, + "lineto": 429, "args": [ { "name": "out", @@ -4933,8 +5161,8 @@ "git_config_get_path": { "type": "function", "file": "git2/config.h", - "line": 418, - "lineto": 418, + "line": 447, + "lineto": 447, "args": [ { "name": "out", @@ -4962,8 +5190,8 @@ "git_config_get_string": { "type": "function", "file": "git2/config.h", - "line": 436, - "lineto": 436, + "line": 465, + "lineto": 465, "args": [ { "name": "out", @@ -4989,16 +5217,16 @@ "group": "config", "examples": { "general.c": [ - "ex/v1.8.4/general.html#git_config_get_string-31", - "ex/v1.8.4/general.html#git_config_get_string-32" + "ex/v1.9.1/general.html#git_config_get_string-31", + "ex/v1.9.1/general.html#git_config_get_string-32" ] } }, "git_config_get_string_buf": { "type": "function", "file": "git2/config.h", - "line": 452, - "lineto": 452, + "line": 481, + "lineto": 481, "args": [ { "name": "out", @@ -5026,8 +5254,8 @@ "git_config_get_multivar_foreach": { "type": "function", "file": "git2/config.h", - "line": 471, - "lineto": 471, + "line": 500, + "lineto": 500, "args": [ { "name": "cfg", @@ -5065,8 +5293,8 @@ "git_config_multivar_iterator_new": { "type": "function", "file": "git2/config.h", - "line": 487, - "lineto": 487, + "line": 516, + "lineto": 516, "args": [ { "name": "out", @@ -5099,8 +5327,8 @@ "git_config_next": { "type": "function", "file": "git2/config.h", - "line": 499, - "lineto": 499, + "line": 528, + "lineto": 528, "args": [ { "name": "entry", @@ -5126,8 +5354,8 @@ "git_config_iterator_free": { "type": "function", "file": "git2/config.h", - "line": 506, - "lineto": 506, + "line": 535, + "lineto": 535, "args": [ { "name": "iter", @@ -5145,8 +5373,8 @@ "git_config_set_int32": { "type": "function", "file": "git2/config.h", - "line": 517, - "lineto": 517, + "line": 546, + "lineto": 546, "args": [ { "name": "cfg", @@ -5174,8 +5402,8 @@ "git_config_set_int64": { "type": "function", "file": "git2/config.h", - "line": 528, - "lineto": 528, + "line": 557, + "lineto": 557, "args": [ { "name": "cfg", @@ -5203,8 +5431,8 @@ "git_config_set_bool": { "type": "function", "file": "git2/config.h", - "line": 539, - "lineto": 539, + "line": 568, + "lineto": 568, "args": [ { "name": "cfg", @@ -5228,8 +5456,8 @@ "git_config_set_string": { "type": "function", "file": "git2/config.h", - "line": 553, - "lineto": 553, + "line": 582, + "lineto": 582, "args": [ { "name": "cfg", @@ -5254,14 +5482,14 @@ "comments": "

A copy of the string is made and the user is free to use it afterwards.

\n", "group": "config", "examples": { - "config.c": ["ex/v1.8.4/config.html#git_config_set_string-5"] + "config.c": ["ex/v1.9.1/config.html#git_config_set_string-5"] } }, "git_config_set_multivar": { "type": "function", "file": "git2/config.h", - "line": 566, - "lineto": 566, + "line": 595, + "lineto": 595, "args": [ { "name": "cfg", @@ -5290,8 +5518,8 @@ "git_config_delete_entry": { "type": "function", "file": "git2/config.h", - "line": 576, - "lineto": 576, + "line": 605, + "lineto": 605, "args": [ { "name": "cfg", @@ -5314,8 +5542,8 @@ "git_config_delete_multivar": { "type": "function", "file": "git2/config.h", - "line": 589, - "lineto": 589, + "line": 618, + "lineto": 618, "args": [ { "name": "cfg", @@ -5343,8 +5571,8 @@ "git_config_foreach": { "type": "function", "file": "git2/config.h", - "line": 607, - "lineto": 610, + "line": 636, + "lineto": 639, "args": [ { "name": "cfg", @@ -5375,8 +5603,8 @@ "git_config_iterator_new": { "type": "function", "file": "git2/config.h", - "line": 622, - "lineto": 622, + "line": 651, + "lineto": 651, "args": [ { "name": "out", @@ -5399,8 +5627,8 @@ "git_config_iterator_glob_new": { "type": "function", "file": "git2/config.h", - "line": 639, - "lineto": 639, + "line": 668, + "lineto": 668, "args": [ { "name": "out", @@ -5428,8 +5656,8 @@ "git_config_foreach_match": { "type": "function", "file": "git2/config.h", - "line": 661, - "lineto": 665, + "line": 690, + "lineto": 694, "args": [ { "name": "cfg", @@ -5465,8 +5693,8 @@ "git_config_get_mapped": { "type": "function", "file": "git2/config.h", - "line": 701, - "lineto": 706, + "line": 730, + "lineto": 735, "args": [ { "name": "out", @@ -5507,8 +5735,8 @@ "git_config_lookup_map_value": { "type": "function", "file": "git2/config.h", - "line": 717, - "lineto": 721, + "line": 746, + "lineto": 750, "args": [ { "name": "out", @@ -5537,8 +5765,8 @@ "git_config_parse_bool": { "type": "function", "file": "git2/config.h", - "line": 734, - "lineto": 734, + "line": 763, + "lineto": 763, "args": [ { "name": "out", @@ -5557,8 +5785,8 @@ "git_config_parse_int32": { "type": "function", "file": "git2/config.h", - "line": 747, - "lineto": 747, + "line": 776, + "lineto": 776, "args": [ { "name": "out", @@ -5577,8 +5805,8 @@ "git_config_parse_int64": { "type": "function", "file": "git2/config.h", - "line": 760, - "lineto": 760, + "line": 789, + "lineto": 789, "args": [ { "name": "out", @@ -5597,8 +5825,8 @@ "git_config_parse_path": { "type": "function", "file": "git2/config.h", - "line": 776, - "lineto": 776, + "line": 805, + "lineto": 805, "args": [ { "name": "out", @@ -5621,8 +5849,8 @@ "git_config_backend_foreach_match": { "type": "function", "file": "git2/config.h", - "line": 795, - "lineto": 799, + "line": 824, + "lineto": 828, "args": [ { "name": "backend", @@ -5655,8 +5883,8 @@ "git_config_lock": { "type": "function", "file": "git2/config.h", - "line": 818, - "lineto": 818, + "line": 847, + "lineto": 847, "args": [ { "name": "tx", @@ -5679,8 +5907,8 @@ "git_credential_free": { "type": "function", "file": "git2/credential.h", - "line": 146, - "lineto": 146, + "line": 149, + "lineto": 149, "args": [ { "name": "cred", @@ -5698,8 +5926,8 @@ "git_credential_has_username": { "type": "function", "file": "git2/credential.h", - "line": 154, - "lineto": 154, + "line": 157, + "lineto": 157, "args": [ { "name": "cred", @@ -5720,8 +5948,8 @@ "git_credential_get_username": { "type": "function", "file": "git2/credential.h", - "line": 162, - "lineto": 162, + "line": 165, + "lineto": 165, "args": [ { "name": "cred", @@ -5742,8 +5970,8 @@ "git_credential_userpass_plaintext_new": { "type": "function", "file": "git2/credential.h", - "line": 173, - "lineto": 176, + "line": 176, + "lineto": 179, "args": [ { "name": "out", @@ -5774,8 +6002,8 @@ "git_credential_default_new": { "type": "function", "file": "git2/credential.h", - "line": 185, - "lineto": 185, + "line": 188, + "lineto": 188, "args": [ { "name": "out", @@ -5796,8 +6024,8 @@ "git_credential_username_new": { "type": "function", "file": "git2/credential.h", - "line": 197, - "lineto": 197, + "line": 200, + "lineto": 200, "args": [ { "name": "out", @@ -5823,8 +6051,8 @@ "git_credential_ssh_key_new": { "type": "function", "file": "git2/credential.h", - "line": 210, - "lineto": 215, + "line": 213, + "lineto": 218, "args": [ { "name": "out", @@ -5865,8 +6093,8 @@ "git_credential_ssh_key_memory_new": { "type": "function", "file": "git2/credential.h", - "line": 227, - "lineto": 232, + "line": 230, + "lineto": 235, "args": [ { "name": "out", @@ -5907,8 +6135,8 @@ "git_credential_ssh_interactive_new": { "type": "function", "file": "git2/credential.h", - "line": 263, - "lineto": 267, + "line": 278, + "lineto": 282, "args": [ { "name": "out", @@ -5944,8 +6172,8 @@ "git_credential_ssh_key_from_agent": { "type": "function", "file": "git2/credential.h", - "line": 277, - "lineto": 279, + "line": 292, + "lineto": 294, "args": [ { "name": "out", @@ -5971,8 +6199,8 @@ "git_credential_ssh_custom_new": { "type": "function", "file": "git2/credential.h", - "line": 305, - "lineto": 311, + "line": 332, + "lineto": 338, "args": [ { "name": "out", @@ -6057,8 +6285,8 @@ "git_blob_filtered_content": { "type": "function", "file": "git2/deprecated.h", - "line": 115, - "lineto": 119, + "line": 124, + "lineto": 128, "args": [ { "name": "out", "type": "git_buf *", "comment": null }, { "name": "blob", "type": "git_blob *", "comment": null }, @@ -6075,8 +6303,8 @@ "git_filter_list_stream_data": { "type": "function", "file": "git2/deprecated.h", - "line": 139, - "lineto": 142, + "line": 148, + "lineto": 151, "args": [ { "name": "filters", "type": "git_filter_list *", "comment": null }, { "name": "data", "type": "git_buf *", "comment": null }, @@ -6092,8 +6320,8 @@ "git_filter_list_apply_to_data": { "type": "function", "file": "git2/deprecated.h", - "line": 149, - "lineto": 152, + "line": 158, + "lineto": 161, "args": [ { "name": "out", "type": "git_buf *", "comment": null }, { "name": "filters", "type": "git_filter_list *", "comment": null }, @@ -6109,8 +6337,8 @@ "git_treebuilder_write_with_buffer": { "type": "function", "file": "git2/deprecated.h", - "line": 178, - "lineto": 179, + "line": 187, + "lineto": 188, "args": [ { "name": "oid", "type": "git_oid *", "comment": null }, { "name": "bld", "type": "git_treebuilder *", "comment": null }, @@ -6126,8 +6354,8 @@ "git_buf_grow": { "type": "function", "file": "git2/deprecated.h", - "line": 220, - "lineto": 220, + "line": 229, + "lineto": 229, "args": [ { "name": "buffer", @@ -6153,8 +6381,8 @@ "git_buf_set": { "type": "function", "file": "git2/deprecated.h", - "line": 230, - "lineto": 231, + "line": 239, + "lineto": 240, "args": [ { "name": "buffer", @@ -6185,8 +6413,8 @@ "git_buf_is_binary": { "type": "function", "file": "git2/deprecated.h", - "line": 239, - "lineto": 239, + "line": 248, + "lineto": 248, "args": [ { "name": "buf", @@ -6207,8 +6435,8 @@ "git_buf_contains_nul": { "type": "function", "file": "git2/deprecated.h", - "line": 247, - "lineto": 247, + "line": 256, + "lineto": 256, "args": [ { "name": "buf", @@ -6229,8 +6457,8 @@ "git_buf_free": { "type": "function", "file": "git2/deprecated.h", - "line": 259, - "lineto": 259, + "line": 268, + "lineto": 268, "args": [{ "name": "buffer", "type": "git_buf *", "comment": null }], "argline": "git_buf *buffer", "sig": "git_buf *", @@ -6242,8 +6470,8 @@ "git_diff_format_email": { "type": "function", "file": "git2/deprecated.h", - "line": 357, - "lineto": 360, + "line": 374, + "lineto": 377, "args": [ { "name": "out", "type": "git_buf *", "comment": null }, { "name": "diff", "type": "git_diff *", "comment": null }, @@ -6263,8 +6491,8 @@ "git_diff_commit_as_email": { "type": "function", "file": "git2/deprecated.h", - "line": 368, - "lineto": 375, + "line": 385, + "lineto": 392, "args": [ { "name": "out", "type": "git_buf *", "comment": null }, { "name": "repo", "type": "git_repository *", "comment": null }, @@ -6288,8 +6516,8 @@ "git_diff_format_email_options_init": { "type": "function", "file": "git2/deprecated.h", - "line": 387, - "lineto": 389, + "line": 404, + "lineto": 406, "args": [ { "name": "opts", @@ -6315,8 +6543,8 @@ "giterr_last": { "type": "function", "file": "git2/deprecated.h", - "line": 452, - "lineto": 452, + "line": 503, + "lineto": 503, "args": [], "argline": "", "sig": "", @@ -6328,8 +6556,8 @@ "giterr_clear": { "type": "function", "file": "git2/deprecated.h", - "line": 464, - "lineto": 464, + "line": 515, + "lineto": 515, "args": [], "argline": "", "sig": "", @@ -6341,8 +6569,8 @@ "giterr_set_str": { "type": "function", "file": "git2/deprecated.h", - "line": 476, - "lineto": 476, + "line": 527, + "lineto": 527, "args": [ { "name": "error_class", "type": "int", "comment": null }, { "name": "string", "type": "const char *", "comment": null } @@ -6357,8 +6585,8 @@ "giterr_set_oom": { "type": "function", "file": "git2/deprecated.h", - "line": 488, - "lineto": 488, + "line": 539, + "lineto": 539, "args": [], "argline": "", "sig": "", @@ -6370,8 +6598,8 @@ "git_object__size": { "type": "function", "file": "git2/deprecated.h", - "line": 578, - "lineto": 578, + "line": 666, + "lineto": 666, "args": [ { "name": "type", @@ -6389,8 +6617,8 @@ "git_remote_is_valid_name": { "type": "function", "file": "git2/deprecated.h", - "line": 599, - "lineto": 599, + "line": 687, + "lineto": 687, "args": [ { "name": "remote_name", @@ -6411,8 +6639,8 @@ "git_reference_is_valid_name": { "type": "function", "file": "git2/deprecated.h", - "line": 643, - "lineto": 643, + "line": 741, + "lineto": 741, "args": [ { "name": "refname", @@ -6433,8 +6661,8 @@ "git_oidarray_free": { "type": "function", "file": "git2/deprecated.h", - "line": 810, - "lineto": 810, + "line": 922, + "lineto": 922, "args": [{ "name": "array", "type": "git_oidarray *", "comment": null }], "argline": "git_oidarray *array", "sig": "git_oidarray *", @@ -6446,8 +6674,8 @@ "git_strarray_copy": { "type": "function", "file": "git2/deprecated.h", - "line": 879, - "lineto": 879, + "line": 991, + "lineto": 991, "args": [ { "name": "tgt", "type": "git_strarray *", "comment": "target" }, { "name": "src", "type": "const git_strarray *", "comment": "source" } @@ -6465,8 +6693,8 @@ "git_strarray_free": { "type": "function", "file": "git2/deprecated.h", - "line": 891, - "lineto": 891, + "line": 1003, + "lineto": 1003, "args": [{ "name": "array", "type": "git_strarray *", "comment": null }], "argline": "git_strarray *array", "sig": "git_strarray *", @@ -6478,8 +6706,8 @@ "git_blame_init_options": { "type": "function", "file": "git2/deprecated.h", - "line": 905, - "lineto": 905, + "line": 1035, + "lineto": 1035, "args": [ { "name": "opts", "type": "git_blame_options *", "comment": null }, { "name": "version", "type": "unsigned int", "comment": null } @@ -6494,8 +6722,8 @@ "git_describe_options_init": { "type": "function", "file": "git2/describe.h", - "line": 82, - "lineto": 82, + "line": 91, + "lineto": 91, "args": [ { "name": "opts", @@ -6518,14 +6746,14 @@ "comments": "

Initializes a git_describe_options with default values. Equivalent to creating an instance with GIT_DESCRIBE_OPTIONS_INIT.

\n", "group": "describe", "examples": { - "describe.c": ["ex/v1.8.4/describe.html#git_describe_options_init-1"] + "describe.c": ["ex/v1.9.1/describe.html#git_describe_options_init-1"] } }, "git_describe_format_options_init": { "type": "function", "file": "git2/describe.h", - "line": 129, - "lineto": 129, + "line": 141, + "lineto": 141, "args": [ { "name": "opts", @@ -6549,15 +6777,15 @@ "group": "describe", "examples": { "describe.c": [ - "ex/v1.8.4/describe.html#git_describe_format_options_init-2" + "ex/v1.9.1/describe.html#git_describe_format_options_init-2" ] } }, "git_describe_commit": { "type": "function", "file": "git2/describe.h", - "line": 147, - "lineto": 150, + "line": 159, + "lineto": 162, "args": [ { "name": "result", @@ -6582,14 +6810,14 @@ "comments": "

Perform the describe operation on the given committish object.

\n", "group": "describe", "examples": { - "describe.c": ["ex/v1.8.4/describe.html#git_describe_commit-3"] + "describe.c": ["ex/v1.9.1/describe.html#git_describe_commit-3"] } }, "git_describe_workdir": { "type": "function", "file": "git2/describe.h", - "line": 165, - "lineto": 168, + "line": 177, + "lineto": 180, "args": [ { "name": "out", @@ -6614,14 +6842,14 @@ "comments": "

Perform the describe operation on the current commit and the worktree. After performing describe on HEAD, a status is run and the description is considered to be dirty if there are.

\n", "group": "describe", "examples": { - "describe.c": ["ex/v1.8.4/describe.html#git_describe_workdir-4"] + "describe.c": ["ex/v1.9.1/describe.html#git_describe_workdir-4"] } }, "git_describe_format": { "type": "function", "file": "git2/describe.h", - "line": 179, - "lineto": 182, + "line": 191, + "lineto": 194, "args": [ { "name": "out", @@ -6646,14 +6874,14 @@ "comments": "", "group": "describe", "examples": { - "describe.c": ["ex/v1.8.4/describe.html#git_describe_format-5"] + "describe.c": ["ex/v1.9.1/describe.html#git_describe_format-5"] } }, "git_describe_result_free": { "type": "function", "file": "git2/describe.h", - "line": 189, - "lineto": 189, + "line": 201, + "lineto": 201, "args": [ { "name": "result", @@ -6671,8 +6899,8 @@ "git_diff_options_init": { "type": "function", "file": "git2/diff.h", - "line": 485, - "lineto": 487, + "line": 492, + "lineto": 494, "args": [ { "name": "opts", @@ -6698,8 +6926,8 @@ "git_diff_find_options_init": { "type": "function", "file": "git2/diff.h", - "line": 818, - "lineto": 820, + "line": 846, + "lineto": 848, "args": [ { "name": "opts", @@ -6725,8 +6953,8 @@ "git_diff_free": { "type": "function", "file": "git2/diff.h", - "line": 834, - "lineto": 834, + "line": 862, + "lineto": 862, "args": [ { "name": "diff", @@ -6741,18 +6969,18 @@ "comments": "", "group": "diff", "examples": { - "diff.c": ["ex/v1.8.4/diff.html#git_diff_free-3"], + "diff.c": ["ex/v1.9.1/diff.html#git_diff_free-3"], "log.c": [ - "ex/v1.8.4/log.html#git_diff_free-25", - "ex/v1.8.4/log.html#git_diff_free-26" + "ex/v1.9.1/log.html#git_diff_free-25", + "ex/v1.9.1/log.html#git_diff_free-26" ] } }, "git_diff_tree_to_tree": { "type": "function", "file": "git2/diff.h", - "line": 853, - "lineto": 858, + "line": 881, + "lineto": 886, "args": [ { "name": "diff", @@ -6787,18 +7015,18 @@ "comments": "

This is equivalent to git diff <old-tree> <new-tree>

\n\n

The first tree will be used for the "old_file" side of the delta and the second tree will be used for the "new_file" side of the delta. You can pass NULL to indicate an empty tree, although it is an error to pass NULL for both the old_tree and new_tree.

\n", "group": "diff", "examples": { - "diff.c": ["ex/v1.8.4/diff.html#git_diff_tree_to_tree-4"], + "diff.c": ["ex/v1.9.1/diff.html#git_diff_tree_to_tree-4"], "log.c": [ - "ex/v1.8.4/log.html#git_diff_tree_to_tree-27", - "ex/v1.8.4/log.html#git_diff_tree_to_tree-28" + "ex/v1.9.1/log.html#git_diff_tree_to_tree-27", + "ex/v1.9.1/log.html#git_diff_tree_to_tree-28" ] } }, "git_diff_tree_to_index": { "type": "function", "file": "git2/diff.h", - "line": 880, - "lineto": 885, + "line": 908, + "lineto": 913, "args": [ { "name": "diff", @@ -6832,13 +7060,13 @@ "description": "

Create a diff between a tree and repository index.

\n", "comments": "

This is equivalent to git diff --cached <treeish> or if you pass the HEAD tree, then like git diff --cached.

\n\n

The tree you pass will be used for the "old_file" side of the delta, and the index will be used for the "new_file" side of the delta.

\n\n

If you pass NULL for the index, then the existing index of the repo will be used. In this case, the index will be refreshed from disk (if it has changed) before the diff is generated.

\n", "group": "diff", - "examples": { "diff.c": ["ex/v1.8.4/diff.html#git_diff_tree_to_index-5"] } + "examples": { "diff.c": ["ex/v1.9.1/diff.html#git_diff_tree_to_index-5"] } }, "git_diff_index_to_workdir": { "type": "function", "file": "git2/diff.h", - "line": 908, - "lineto": 912, + "line": 936, + "lineto": 940, "args": [ { "name": "diff", @@ -6868,14 +7096,14 @@ "comments": "

This matches the git diff command. See the note below on git_diff_tree_to_workdir for a discussion of the difference between git diff and git diff HEAD and how to emulate a git diff <treeish> using libgit2.

\n\n

The index will be used for the "old_file" side of the delta, and the working directory will be used for the "new_file" side of the delta.

\n\n

If you pass NULL for the index, then the existing index of the repo will be used. In this case, the index will be refreshed from disk (if it has changed) before the diff is generated.

\n", "group": "diff", "examples": { - "diff.c": ["ex/v1.8.4/diff.html#git_diff_index_to_workdir-6"] + "diff.c": ["ex/v1.9.1/diff.html#git_diff_index_to_workdir-6"] } }, "git_diff_tree_to_workdir": { "type": "function", "file": "git2/diff.h", - "line": 938, - "lineto": 942, + "line": 966, + "lineto": 970, "args": [ { "name": "diff", @@ -6905,14 +7133,14 @@ "comments": "

The tree you provide will be used for the "old_file" side of the delta, and the working directory will be used for the "new_file" side.

\n\n

This is not the same as git diff <treeish> or git diff-index <treeish>. Those commands use information from the index, whereas this function strictly returns the differences between the tree and the files in the working directory, regardless of the state of the index. Use git_diff_tree_to_workdir_with_index to emulate those commands.

\n\n

To see difference between this and git_diff_tree_to_workdir_with_index, consider the example of a staged file deletion where the file has then been put back into the working dir and further modified. The tree-to-workdir diff for that file is 'modified', but git diff would show status 'deleted' since there is a staged delete.

\n", "group": "diff", "examples": { - "diff.c": ["ex/v1.8.4/diff.html#git_diff_tree_to_workdir-7"] + "diff.c": ["ex/v1.9.1/diff.html#git_diff_tree_to_workdir-7"] } }, "git_diff_tree_to_workdir_with_index": { "type": "function", "file": "git2/diff.h", - "line": 958, - "lineto": 962, + "line": 986, + "lineto": 990, "args": [ { "name": "diff", @@ -6942,14 +7170,14 @@ "comments": "

This emulates git diff <tree> by diffing the tree to the index and the index to the working directory and blending the results into a single diff that includes staged deleted, etc.

\n", "group": "diff", "examples": { - "diff.c": ["ex/v1.8.4/diff.html#git_diff_tree_to_workdir_with_index-8"] + "diff.c": ["ex/v1.9.1/diff.html#git_diff_tree_to_workdir_with_index-8"] } }, "git_diff_index_to_index": { "type": "function", "file": "git2/diff.h", - "line": 977, - "lineto": 982, + "line": 1005, + "lineto": 1010, "args": [ { "name": "diff", @@ -6987,8 +7215,8 @@ "git_diff_merge": { "type": "function", "file": "git2/diff.h", - "line": 998, - "lineto": 1000, + "line": 1026, + "lineto": 1028, "args": [ { "name": "onto", @@ -7011,8 +7239,8 @@ "git_diff_find_similar": { "type": "function", "file": "git2/diff.h", - "line": 1014, - "lineto": 1016, + "line": 1042, + "lineto": 1044, "args": [ { "name": "diff", @@ -7031,13 +7259,13 @@ "description": "

Transform a diff marking file renames, copies, etc.

\n", "comments": "

This modifies a diff in place, replacing old entries that look like renames or copies with new entries reflecting those changes. This also will, if requested, break modified files into add/remove pairs if the amount of change is above a threshold.

\n", "group": "diff", - "examples": { "diff.c": ["ex/v1.8.4/diff.html#git_diff_find_similar-9"] } + "examples": { "diff.c": ["ex/v1.9.1/diff.html#git_diff_find_similar-9"] } }, "git_diff_num_deltas": { "type": "function", "file": "git2/diff.h", - "line": 1034, - "lineto": 1034, + "line": 1062, + "lineto": 1062, "args": [ { "name": "diff", @@ -7054,13 +7282,13 @@ "description": "

Query how many diff records are there in a diff.

\n", "comments": "", "group": "diff", - "examples": { "log.c": ["ex/v1.8.4/log.html#git_diff_num_deltas-29"] } + "examples": { "log.c": ["ex/v1.9.1/log.html#git_diff_num_deltas-29"] } }, "git_diff_num_deltas_of_type": { "type": "function", "file": "git2/diff.h", - "line": 1047, - "lineto": 1048, + "line": 1075, + "lineto": 1076, "args": [ { "name": "diff", @@ -7086,8 +7314,8 @@ "git_diff_get_delta": { "type": "function", "file": "git2/diff.h", - "line": 1067, - "lineto": 1068, + "line": 1095, + "lineto": 1096, "args": [ { "name": "diff", @@ -7109,8 +7337,8 @@ "git_diff_is_sorted_icase": { "type": "function", "file": "git2/diff.h", - "line": 1076, - "lineto": 1076, + "line": 1104, + "lineto": 1104, "args": [ { "name": "diff", @@ -7131,8 +7359,8 @@ "git_diff_foreach": { "type": "function", "file": "git2/diff.h", - "line": 1104, - "lineto": 1110, + "line": 1132, + "lineto": 1138, "args": [ { "name": "diff", @@ -7178,8 +7406,8 @@ "git_diff_status_char": { "type": "function", "file": "git2/diff.h", - "line": 1123, - "lineto": 1123, + "line": 1151, + "lineto": 1151, "args": [ { "name": "status", @@ -7200,8 +7428,8 @@ "git_diff_print": { "type": "function", "file": "git2/diff.h", - "line": 1149, - "lineto": 1153, + "line": 1177, + "lineto": 1181, "args": [ { "name": "diff", @@ -7234,15 +7462,15 @@ "comments": "

Returning a non-zero value from the callbacks will terminate the iteration and return the non-zero value to the caller.

\n", "group": "diff", "examples": { - "diff.c": ["ex/v1.8.4/diff.html#git_diff_print-10"], - "log.c": ["ex/v1.8.4/log.html#git_diff_print-30"] + "diff.c": ["ex/v1.9.1/diff.html#git_diff_print-10"], + "log.c": ["ex/v1.9.1/log.html#git_diff_print-30"] } }, "git_diff_to_buf": { "type": "function", "file": "git2/diff.h", - "line": 1165, - "lineto": 1168, + "line": 1193, + "lineto": 1196, "args": [ { "name": "out", @@ -7270,8 +7498,8 @@ "git_diff_blobs": { "type": "function", "file": "git2/diff.h", - "line": 1204, - "lineto": 1214, + "line": 1232, + "lineto": 1242, "args": [ { "name": "old_blob", @@ -7337,8 +7565,8 @@ "git_diff_blob_to_buffer": { "type": "function", "file": "git2/diff.h", - "line": 1241, - "lineto": 1252, + "line": 1269, + "lineto": 1280, "args": [ { "name": "old_blob", @@ -7409,8 +7637,8 @@ "git_diff_buffers": { "type": "function", "file": "git2/diff.h", - "line": 1275, - "lineto": 1287, + "line": 1303, + "lineto": 1315, "args": [ { "name": "old_buffer", @@ -7486,8 +7714,8 @@ "git_diff_from_buffer": { "type": "function", "file": "git2/diff.h", - "line": 1327, - "lineto": 1334, + "line": 1355, + "lineto": 1362, "args": [ { "name": "out", @@ -7513,16 +7741,16 @@ "group": "diff", "examples": { "diff.c": [ - "ex/v1.8.4/diff.html#git_diff_from_buffer-11", - "ex/v1.8.4/diff.html#git_diff_from_buffer-12" + "ex/v1.9.1/diff.html#git_diff_from_buffer-11", + "ex/v1.9.1/diff.html#git_diff_from_buffer-12" ] } }, "git_diff_get_stats": { "type": "function", "file": "git2/diff.h", - "line": 1370, - "lineto": 1372, + "line": 1398, + "lineto": 1400, "args": [ { "name": "out", @@ -7544,13 +7772,13 @@ "description": "

Accumulate diff statistics for all patches.

\n", "comments": "", "group": "diff", - "examples": { "diff.c": ["ex/v1.8.4/diff.html#git_diff_get_stats-13"] } + "examples": { "diff.c": ["ex/v1.9.1/diff.html#git_diff_get_stats-13"] } }, "git_diff_stats_files_changed": { "type": "function", "file": "git2/diff.h", - "line": 1380, - "lineto": 1381, + "line": 1408, + "lineto": 1409, "args": [ { "name": "stats", @@ -7571,8 +7799,8 @@ "git_diff_stats_insertions": { "type": "function", "file": "git2/diff.h", - "line": 1389, - "lineto": 1390, + "line": 1417, + "lineto": 1418, "args": [ { "name": "stats", @@ -7593,8 +7821,8 @@ "git_diff_stats_deletions": { "type": "function", "file": "git2/diff.h", - "line": 1398, - "lineto": 1399, + "line": 1426, + "lineto": 1427, "args": [ { "name": "stats", @@ -7615,8 +7843,8 @@ "git_diff_stats_to_buf": { "type": "function", "file": "git2/diff.h", - "line": 1410, - "lineto": 1414, + "line": 1438, + "lineto": 1442, "args": [ { "name": "out", @@ -7648,13 +7876,13 @@ "description": "

Print diff statistics to a git_buf.

\n", "comments": "", "group": "diff", - "examples": { "diff.c": ["ex/v1.8.4/diff.html#git_diff_stats_to_buf-14"] } + "examples": { "diff.c": ["ex/v1.9.1/diff.html#git_diff_stats_to_buf-14"] } }, "git_diff_stats_free": { "type": "function", "file": "git2/diff.h", - "line": 1422, - "lineto": 1422, + "line": 1450, + "lineto": 1450, "args": [ { "name": "stats", @@ -7668,13 +7896,13 @@ "description": "

Deallocate a git_diff_stats.

\n", "comments": "", "group": "diff", - "examples": { "diff.c": ["ex/v1.8.4/diff.html#git_diff_stats_free-15"] } + "examples": { "diff.c": ["ex/v1.9.1/diff.html#git_diff_stats_free-15"] } }, "git_diff_patchid_options_init": { "type": "function", "file": "git2/diff.h", - "line": 1448, - "lineto": 1450, + "line": 1479, + "lineto": 1481, "args": [ { "name": "opts", @@ -7700,8 +7928,8 @@ "git_diff_patchid": { "type": "function", "file": "git2/diff.h", - "line": 1471, - "lineto": 1471, + "line": 1502, + "lineto": 1502, "args": [ { "name": "out", @@ -7729,66 +7957,11 @@ "comments": "

Calculate a stable patch ID for the given patch by summing the hash of the file diffs, ignoring whitespace and line numbers. This can be used to derive whether two diffs are the same with a high probability.

\n\n

Currently, this function only calculates stable patch IDs, as defined in git-patch-id(1), and should in fact generate the same IDs as the upstream git project does.

\n", "group": "diff" }, - "git_email_create_from_diff": { - "type": "function", - "file": "git2/email.h", - "line": 100, - "lineto": 109, - "args": [ - { - "name": "out", - "type": "git_buf *", - "comment": "buffer to store the e-mail patch in" - }, - { - "name": "diff", - "type": "git_diff *", - "comment": "the changes to include in the email" - }, - { "name": "patch_idx", "type": "size_t", "comment": "the patch index" }, - { - "name": "patch_count", - "type": "size_t", - "comment": "the total number of patches that will be included" - }, - { - "name": "commit_id", - "type": "const git_oid *", - "comment": "the commit id for this change" - }, - { - "name": "summary", - "type": "const char *", - "comment": "the commit message for this change" - }, - { - "name": "body", - "type": "const char *", - "comment": "optional text to include above the diffstat" - }, - { - "name": "author", - "type": "const git_signature *", - "comment": "the person who authored this commit" - }, - { - "name": "opts", - "type": "const git_email_create_options *", - "comment": "email creation options" - } - ], - "argline": "git_buf *out, git_diff *diff, size_t patch_idx, size_t patch_count, const git_oid *commit_id, const char *summary, const char *body, const git_signature *author, const git_email_create_options *opts", - "sig": "git_buf *::git_diff *::size_t::size_t::const git_oid *::const char *::const char *::const git_signature *::const git_email_create_options *", - "return": { "type": "int", "comment": null }, - "description": "

Create a diff for a commit in mbox format for sending via email.

\n", - "comments": "", - "group": "email" - }, "git_email_create_from_commit": { "type": "function", "file": "git2/email.h", - "line": 119, - "lineto": 122, + "line": 99, + "lineto": 102, "args": [ { "name": "out", @@ -7808,7 +7981,7 @@ ], "argline": "git_buf *out, git_commit *commit, const git_email_create_options *opts", "sig": "git_buf *::git_commit *::const git_email_create_options *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 or an error code" }, "description": "

Create a diff for a commit in mbox format for sending via email.\n The commit must not be a merge commit.

\n", "comments": "", "group": "email" @@ -7816,43 +7989,43 @@ "git_error_last": { "type": "function", "file": "git2/errors.h", - "line": 139, - "lineto": 139, + "line": 149, + "lineto": 149, "args": [], "argline": "", "sig": "", "return": { "type": "const git_error *", - "comment": " A git_error object." + "comment": " A pointer to a `git_error` object that describes the error." }, "description": "

Return the last git_error object that was generated for the\n current thread.

\n", "comments": "

This function will never return NULL.

\n\n

Callers should not rely on this to determine whether an error has occurred. For error checking, callers should examine the return codes of libgit2 functions.

\n\n

This call can only reliably report error messages when an error has occurred. (It may contain stale information if it is called after a different function that succeeds.)

\n\n

The memory for this object is managed by libgit2. It should not be freed.

\n", "group": "error", "examples": { "checkout.c": [ - "ex/v1.8.4/checkout.html#git_error_last-11", - "ex/v1.8.4/checkout.html#git_error_last-12", - "ex/v1.8.4/checkout.html#git_error_last-13", - "ex/v1.8.4/checkout.html#git_error_last-14" + "ex/v1.9.1/checkout.html#git_error_last-11", + "ex/v1.9.1/checkout.html#git_error_last-12", + "ex/v1.9.1/checkout.html#git_error_last-13", + "ex/v1.9.1/checkout.html#git_error_last-14" ], - "commit.c": ["ex/v1.8.4/commit.html#git_error_last-2"], + "commit.c": ["ex/v1.9.1/commit.html#git_error_last-2"], "config.c": [ - "ex/v1.8.4/config.html#git_error_last-6", - "ex/v1.8.4/config.html#git_error_last-7", - "ex/v1.8.4/config.html#git_error_last-8" + "ex/v1.9.1/config.html#git_error_last-6", + "ex/v1.9.1/config.html#git_error_last-7", + "ex/v1.9.1/config.html#git_error_last-8" ], - "general.c": ["ex/v1.8.4/general.html#git_error_last-33"], + "general.c": ["ex/v1.9.1/general.html#git_error_last-33"], "merge.c": [ - "ex/v1.8.4/merge.html#git_error_last-8", - "ex/v1.8.4/merge.html#git_error_last-9" + "ex/v1.9.1/merge.html#git_error_last-8", + "ex/v1.9.1/merge.html#git_error_last-9" ] } }, "git_filter_list_load": { "type": "function", "file": "git2/filter.h", - "line": 129, - "lineto": 135, + "line": 138, + "lineto": 144, "args": [ { "name": "filters", @@ -7898,8 +8071,8 @@ "git_filter_list_load_ext": { "type": "function", "file": "git2/filter.h", - "line": 152, - "lineto": 158, + "line": 161, + "lineto": 167, "args": [ { "name": "filters", @@ -7945,8 +8118,8 @@ "git_filter_list_contains": { "type": "function", "file": "git2/filter.h", - "line": 172, - "lineto": 174, + "line": 181, + "lineto": 183, "args": [ { "name": "filters", @@ -7972,8 +8145,8 @@ "git_filter_list_apply_to_buffer": { "type": "function", "file": "git2/filter.h", - "line": 185, - "lineto": 189, + "line": 194, + "lineto": 198, "args": [ { "name": "out", @@ -8009,8 +8182,8 @@ "git_filter_list_apply_to_file": { "type": "function", "file": "git2/filter.h", - "line": 201, - "lineto": 205, + "line": 210, + "lineto": 214, "args": [ { "name": "out", @@ -8043,8 +8216,8 @@ "git_filter_list_apply_to_blob": { "type": "function", "file": "git2/filter.h", - "line": 215, - "lineto": 218, + "line": 224, + "lineto": 227, "args": [ { "name": "out", @@ -8072,8 +8245,8 @@ "git_filter_list_stream_buffer": { "type": "function", "file": "git2/filter.h", - "line": 229, - "lineto": 233, + "line": 238, + "lineto": 242, "args": [ { "name": "filters", @@ -8106,8 +8279,8 @@ "git_filter_list_stream_file": { "type": "function", "file": "git2/filter.h", - "line": 245, - "lineto": 249, + "line": 254, + "lineto": 258, "args": [ { "name": "filters", @@ -8140,8 +8313,8 @@ "git_filter_list_stream_blob": { "type": "function", "file": "git2/filter.h", - "line": 259, - "lineto": 262, + "line": 268, + "lineto": 271, "args": [ { "name": "filters", @@ -8169,8 +8342,8 @@ "git_filter_list_free": { "type": "function", "file": "git2/filter.h", - "line": 269, - "lineto": 269, + "line": 278, + "lineto": 278, "args": [ { "name": "filters", @@ -8188,8 +8361,8 @@ "git_libgit2_init": { "type": "function", "file": "git2/global.h", - "line": 26, - "lineto": 26, + "line": 32, + "lineto": 32, "args": [], "argline": "", "sig": "", @@ -8201,14 +8374,14 @@ "comments": "

This function must be called before any other libgit2 function in order to set up global state and threading.

\n\n

This function may be called multiple times - it will return the number of times the initialization has been called (including this one) that have not subsequently been shutdown.

\n", "group": "libgit2", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_libgit2_init-34"] + "general.c": ["ex/v1.9.1/general.html#git_libgit2_init-34"] } }, "git_libgit2_shutdown": { "type": "function", "file": "git2/global.h", - "line": 39, - "lineto": 39, + "line": 45, + "lineto": 45, "args": [], "argline": "", "sig": "", @@ -8331,8 +8504,8 @@ "git_ignore_add_rule": { "type": "function", "file": "git2/ignore.h", - "line": 37, - "lineto": 39, + "line": 46, + "lineto": 48, "args": [ { "name": "repo", @@ -8355,8 +8528,8 @@ "git_ignore_clear_internal_rules": { "type": "function", "file": "git2/ignore.h", - "line": 52, - "lineto": 53, + "line": 61, + "lineto": 62, "args": [ { "name": "repo", @@ -8374,8 +8547,8 @@ "git_ignore_path_is_ignored": { "type": "function", "file": "git2/ignore.h", - "line": 71, - "lineto": 74, + "line": 80, + "lineto": 83, "args": [ { "name": "ignored", @@ -8403,11 +8576,54 @@ "comments": "

This function checks the ignore rules to see if they would apply to the given file. This indicates if the file would be ignored regardless of whether the file is already in the index or committed to the repository.

\n\n

One way to think of this is if you were to do "git check-ignore --no-index" on the given file, would it be shown or not?

\n", "group": "ignore" }, + "git_index_open": { + "type": "function", + "file": "git2/index.h", + "line": 278, + "lineto": 278, + "args": [ + { + "name": "index_out", + "type": "git_index **", + "comment": "the pointer for the new index" + }, + { + "name": "index_path", + "type": "const char *", + "comment": "the path to the index file in disk" + } + ], + "argline": "git_index **index_out, const char *index_path", + "sig": "git_index **::const char *", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Create a new bare Git index object as a memory representation\n of the Git index file in 'index_path', without a repository\n to back it.

\n", + "comments": "

Since there is no ODB or working directory behind this index, any Index methods which rely on these (e.g. index_add_bypath) will fail with the GIT_ERROR error code.

\n\n

If you need to access the index of an actual repository, use the git_repository_index wrapper.

\n\n

The index must be freed once it's no longer in use.

\n", + "group": "index" + }, + "git_index_new": { + "type": "function", + "file": "git2/index.h", + "line": 291, + "lineto": 291, + "args": [ + { + "name": "index_out", + "type": "git_index **", + "comment": "the pointer for the new index" + } + ], + "argline": "git_index **index_out", + "sig": "git_index **", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Create an in-memory index object.

\n", + "comments": "

This index object cannot be read/written to the filesystem, but may be used to perform in-memory index operations.

\n\n

The index must be freed once it's no longer in use.

\n", + "group": "index" + }, "git_index_free": { "type": "function", "file": "git2/index.h", - "line": 216, - "lineto": 216, + "line": 300, + "lineto": 300, "args": [ { "name": "index", @@ -8422,18 +8638,18 @@ "comments": "", "group": "index", "examples": { - "add.c": ["ex/v1.8.4/add.html#git_index_free-1"], - "commit.c": ["ex/v1.8.4/commit.html#git_index_free-3"], - "general.c": ["ex/v1.8.4/general.html#git_index_free-35"], - "init.c": ["ex/v1.8.4/init.html#git_index_free-2"], - "ls-files.c": ["ex/v1.8.4/ls-files.html#git_index_free-1"] + "add.c": ["ex/v1.9.1/add.html#git_index_free-1"], + "commit.c": ["ex/v1.9.1/commit.html#git_index_free-3"], + "general.c": ["ex/v1.9.1/general.html#git_index_free-35"], + "init.c": ["ex/v1.9.1/init.html#git_index_free-2"], + "ls-files.c": ["ex/v1.9.1/ls-files.html#git_index_free-1"] } }, "git_index_owner": { "type": "function", "file": "git2/index.h", - "line": 224, - "lineto": 224, + "line": 308, + "lineto": 308, "args": [ { "name": "index", "type": "const git_index *", "comment": "The index" } ], @@ -8450,8 +8666,8 @@ "git_index_caps": { "type": "function", "file": "git2/index.h", - "line": 232, - "lineto": 232, + "line": 316, + "lineto": 316, "args": [ { "name": "index", @@ -8472,8 +8688,8 @@ "git_index_set_caps": { "type": "function", "file": "git2/index.h", - "line": 245, - "lineto": 245, + "line": 329, + "lineto": 329, "args": [ { "name": "index", @@ -8496,8 +8712,8 @@ "git_index_version": { "type": "function", "file": "git2/index.h", - "line": 257, - "lineto": 257, + "line": 341, + "lineto": 341, "args": [ { "name": "index", @@ -8515,8 +8731,8 @@ "git_index_set_version": { "type": "function", "file": "git2/index.h", - "line": 270, - "lineto": 270, + "line": 354, + "lineto": 354, "args": [ { "name": "index", @@ -8539,8 +8755,8 @@ "git_index_read": { "type": "function", "file": "git2/index.h", - "line": 289, - "lineto": 289, + "line": 373, + "lineto": 373, "args": [ { "name": "index", @@ -8563,8 +8779,8 @@ "git_index_write": { "type": "function", "file": "git2/index.h", - "line": 298, - "lineto": 298, + "line": 382, + "lineto": 382, "args": [ { "name": "index", @@ -8579,15 +8795,15 @@ "comments": "", "group": "index", "examples": { - "add.c": ["ex/v1.8.4/add.html#git_index_write-2"], - "commit.c": ["ex/v1.8.4/commit.html#git_index_write-4"] + "add.c": ["ex/v1.9.1/add.html#git_index_write-2"], + "commit.c": ["ex/v1.9.1/commit.html#git_index_write-4"] } }, "git_index_path": { "type": "function", "file": "git2/index.h", - "line": 306, - "lineto": 306, + "line": 390, + "lineto": 390, "args": [ { "name": "index", @@ -8608,8 +8824,8 @@ "git_index_checksum": { "type": "function", "file": "git2/index.h", - "line": 320, - "lineto": 320, + "line": 404, + "lineto": 404, "args": [ { "name": "index", @@ -8630,8 +8846,8 @@ "git_index_read_tree": { "type": "function", "file": "git2/index.h", - "line": 332, - "lineto": 332, + "line": 416, + "lineto": 416, "args": [ { "name": "index", @@ -8654,8 +8870,8 @@ "git_index_write_tree": { "type": "function", "file": "git2/index.h", - "line": 353, - "lineto": 353, + "line": 437, + "lineto": 437, "args": [ { "name": "out", @@ -8674,16 +8890,16 @@ "comments": "

This method will scan the index and write a representation of its current state back to disk; it recursively creates tree objects for each of the subtrees stored in the index, but only returns the OID of the root tree. This is the OID that can be used e.g. to create a commit.

\n\n

The index instance cannot be bare, and needs to be associated to an existing repository.

\n\n

The index must not contain any file in conflict.

\n", "group": "index", "examples": { - "commit.c": ["ex/v1.8.4/commit.html#git_index_write_tree-5"], - "init.c": ["ex/v1.8.4/init.html#git_index_write_tree-3"], - "merge.c": ["ex/v1.8.4/merge.html#git_index_write_tree-10"] + "commit.c": ["ex/v1.9.1/commit.html#git_index_write_tree-5"], + "init.c": ["ex/v1.9.1/init.html#git_index_write_tree-3"], + "merge.c": ["ex/v1.9.1/merge.html#git_index_write_tree-10"] } }, "git_index_write_tree_to": { "type": "function", "file": "git2/index.h", - "line": 370, - "lineto": 370, + "line": 454, + "lineto": 454, "args": [ { "name": "out", @@ -8710,8 +8926,8 @@ "git_index_entrycount": { "type": "function", "file": "git2/index.h", - "line": 389, - "lineto": 389, + "line": 473, + "lineto": 473, "args": [ { "name": "index", @@ -8729,15 +8945,15 @@ "comments": "", "group": "index", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_index_entrycount-36"], - "ls-files.c": ["ex/v1.8.4/ls-files.html#git_index_entrycount-2"] + "general.c": ["ex/v1.9.1/general.html#git_index_entrycount-36"], + "ls-files.c": ["ex/v1.9.1/ls-files.html#git_index_entrycount-2"] } }, "git_index_clear": { "type": "function", "file": "git2/index.h", - "line": 400, - "lineto": 400, + "line": 484, + "lineto": 484, "args": [ { "name": "index", @@ -8758,8 +8974,8 @@ "git_index_get_byindex": { "type": "function", "file": "git2/index.h", - "line": 413, - "lineto": 414, + "line": 497, + "lineto": 498, "args": [ { "name": "index", @@ -8782,15 +8998,15 @@ "comments": "

The entry is not modifiable and should not be freed. Because the git_index_entry struct is a publicly defined struct, you should be able to make your own permanent copy of the data if necessary.

\n", "group": "index", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_index_get_byindex-37"], - "ls-files.c": ["ex/v1.8.4/ls-files.html#git_index_get_byindex-3"] + "general.c": ["ex/v1.9.1/general.html#git_index_get_byindex-37"], + "ls-files.c": ["ex/v1.9.1/ls-files.html#git_index_get_byindex-3"] } }, "git_index_get_bypath": { "type": "function", "file": "git2/index.h", - "line": 428, - "lineto": 429, + "line": 512, + "lineto": 513, "args": [ { "name": "index", @@ -8810,14 +9026,14 @@ "comments": "

The entry is not modifiable and should not be freed. Because the git_index_entry struct is a publicly defined struct, you should be able to make your own permanent copy of the data if necessary.

\n", "group": "index", "examples": { - "ls-files.c": ["ex/v1.8.4/ls-files.html#git_index_get_bypath-4"] + "ls-files.c": ["ex/v1.9.1/ls-files.html#git_index_get_bypath-4"] } }, "git_index_remove": { "type": "function", "file": "git2/index.h", - "line": 439, - "lineto": 439, + "line": 523, + "lineto": 523, "args": [ { "name": "index", @@ -8837,8 +9053,8 @@ "git_index_remove_directory": { "type": "function", "file": "git2/index.h", - "line": 449, - "lineto": 450, + "line": 533, + "lineto": 534, "args": [ { "name": "index", @@ -8862,8 +9078,8 @@ "git_index_add": { "type": "function", "file": "git2/index.h", - "line": 466, - "lineto": 466, + "line": 550, + "lineto": 550, "args": [ { "name": "index", @@ -8886,8 +9102,8 @@ "git_index_entry_stage": { "type": "function", "file": "git2/index.h", - "line": 478, - "lineto": 478, + "line": 562, + "lineto": 562, "args": [ { "name": "entry", @@ -8905,8 +9121,8 @@ "git_index_entry_is_conflict": { "type": "function", "file": "git2/index.h", - "line": 487, - "lineto": 487, + "line": 571, + "lineto": 571, "args": [ { "name": "entry", @@ -8927,8 +9143,8 @@ "git_index_iterator_new": { "type": "function", "file": "git2/index.h", - "line": 508, - "lineto": 510, + "line": 592, + "lineto": 594, "args": [ { "name": "iterator_out", @@ -8951,8 +9167,8 @@ "git_index_iterator_next": { "type": "function", "file": "git2/index.h", - "line": 519, - "lineto": 521, + "line": 603, + "lineto": 605, "args": [ { "name": "out", @@ -8978,8 +9194,8 @@ "git_index_iterator_free": { "type": "function", "file": "git2/index.h", - "line": 528, - "lineto": 528, + "line": 612, + "lineto": 612, "args": [ { "name": "iterator", @@ -8997,8 +9213,8 @@ "git_index_add_bypath": { "type": "function", "file": "git2/index.h", - "line": 559, - "lineto": 559, + "line": 643, + "lineto": 643, "args": [ { "name": "index", @@ -9017,8 +9233,8 @@ "git_index_add_from_buffer": { "type": "function", "file": "git2/index.h", - "line": 587, - "lineto": 590, + "line": 671, + "lineto": 674, "args": [ { "name": "index", @@ -9047,8 +9263,8 @@ "git_index_remove_bypath": { "type": "function", "file": "git2/index.h", - "line": 606, - "lineto": 606, + "line": 690, + "lineto": 690, "args": [ { "name": "index", @@ -9071,8 +9287,8 @@ "git_index_add_all": { "type": "function", "file": "git2/index.h", - "line": 654, - "lineto": 659, + "line": 738, + "lineto": 743, "args": [ { "name": "index", @@ -9109,13 +9325,13 @@ "description": "

Add or update index entries matching files in the working directory.

\n", "comments": "

This method will fail in bare index instances.

\n\n

The pathspec is a list of file names or shell glob patterns that will be matched against files in the repository's working directory. Each file that matches will be added to the index (either updating an existing entry or adding a new entry). You can disable glob expansion and force exact matching with the GIT_INDEX_ADD_DISABLE_PATHSPEC_MATCH flag.

\n\n

Files that are ignored will be skipped (unlike git_index_add_bypath). If a file is already tracked in the index, then it will be updated even if it is ignored. Pass the GIT_INDEX_ADD_FORCE flag to skip the checking of ignore rules.

\n\n

To emulate git add -A and generate an error if the pathspec contains the exact path of an ignored file (when not using FORCE), add the GIT_INDEX_ADD_CHECK_PATHSPEC flag. This checks that each entry in the pathspec that is an exact match to a filename on disk is either not ignored or already in the index. If this check fails, the function will return GIT_EINVALIDSPEC.

\n\n

To emulate git add -A with the "dry-run" option, just use a callback function that always returns a positive value. See below for details.

\n\n

If any files are currently the result of a merge conflict, those files will no longer be marked as conflicting. The data about the conflicts will be moved to the "resolve undo" (REUC) section.

\n\n

If you provide a callback function, it will be invoked on each matching item in the working directory immediately before it is added to / updated in the index. Returning zero will add the item to the index, greater than zero will skip the item, and less than zero will abort the scan and return that value to the caller.

\n", "group": "index", - "examples": { "add.c": ["ex/v1.8.4/add.html#git_index_add_all-3"] } + "examples": { "add.c": ["ex/v1.9.1/add.html#git_index_add_all-3"] } }, "git_index_remove_all": { "type": "function", "file": "git2/index.h", - "line": 676, - "lineto": 680, + "line": 760, + "lineto": 764, "args": [ { "name": "index", @@ -9151,8 +9367,8 @@ "git_index_update_all": { "type": "function", "file": "git2/index.h", - "line": 705, - "lineto": 709, + "line": 789, + "lineto": 793, "args": [ { "name": "index", @@ -9184,13 +9400,13 @@ "description": "

Update all index entries to match the working directory

\n", "comments": "

This method will fail in bare index instances.

\n\n

This scans the existing index entries and synchronizes them with the working directory, deleting them if the corresponding working directory file no longer exists otherwise updating the information (including adding the latest version of file to the ODB if needed).

\n\n

If you provide a callback function, it will be invoked on each matching item in the index immediately before it is updated (either refreshed or removed depending on working directory state). Return 0 to proceed with updating the item, > 0 to skip the item, and < 0 to abort the scan.

\n", "group": "index", - "examples": { "add.c": ["ex/v1.8.4/add.html#git_index_update_all-4"] } + "examples": { "add.c": ["ex/v1.9.1/add.html#git_index_update_all-4"] } }, "git_index_find": { "type": "function", "file": "git2/index.h", - "line": 720, - "lineto": 720, + "line": 804, + "lineto": 804, "args": [ { "name": "at_pos", @@ -9214,8 +9430,8 @@ "git_index_find_prefix": { "type": "function", "file": "git2/index.h", - "line": 731, - "lineto": 731, + "line": 815, + "lineto": 815, "args": [ { "name": "at_pos", @@ -9243,8 +9459,8 @@ "git_index_conflict_add": { "type": "function", "file": "git2/index.h", - "line": 756, - "lineto": 760, + "line": 840, + "lineto": 844, "args": [ { "name": "index", @@ -9277,8 +9493,8 @@ "git_index_conflict_get": { "type": "function", "file": "git2/index.h", - "line": 776, - "lineto": 781, + "line": 860, + "lineto": 865, "args": [ { "name": "ancestor_out", @@ -9312,8 +9528,8 @@ "git_index_conflict_remove": { "type": "function", "file": "git2/index.h", - "line": 790, - "lineto": 790, + "line": 874, + "lineto": 874, "args": [ { "name": "index", @@ -9336,8 +9552,8 @@ "git_index_conflict_cleanup": { "type": "function", "file": "git2/index.h", - "line": 798, - "lineto": 798, + "line": 882, + "lineto": 882, "args": [ { "name": "index", @@ -9355,8 +9571,8 @@ "git_index_has_conflicts": { "type": "function", "file": "git2/index.h", - "line": 806, - "lineto": 806, + "line": 890, + "lineto": 890, "args": [ { "name": "index", @@ -9374,14 +9590,14 @@ "comments": "", "group": "index", "examples": { - "merge.c": ["ex/v1.8.4/merge.html#git_index_has_conflicts-11"] + "merge.c": ["ex/v1.9.1/merge.html#git_index_has_conflicts-11"] } }, "git_index_conflict_iterator_new": { "type": "function", "file": "git2/index.h", - "line": 817, - "lineto": 819, + "line": 901, + "lineto": 903, "args": [ { "name": "iterator_out", @@ -9401,14 +9617,14 @@ "comments": "

The index must not be modified while iterating; the results are undefined.

\n", "group": "index", "examples": { - "merge.c": ["ex/v1.8.4/merge.html#git_index_conflict_iterator_new-12"] + "merge.c": ["ex/v1.9.1/merge.html#git_index_conflict_iterator_new-12"] } }, "git_index_conflict_next": { "type": "function", "file": "git2/index.h", - "line": 832, - "lineto": 836, + "line": 916, + "lineto": 920, "args": [ { "name": "ancestor_out", @@ -9441,14 +9657,14 @@ "comments": "", "group": "index", "examples": { - "merge.c": ["ex/v1.8.4/merge.html#git_index_conflict_next-13"] + "merge.c": ["ex/v1.9.1/merge.html#git_index_conflict_next-13"] } }, "git_index_conflict_iterator_free": { "type": "function", "file": "git2/index.h", - "line": 843, - "lineto": 844, + "line": 927, + "lineto": 928, "args": [ { "name": "iterator", @@ -9463,14 +9679,14 @@ "comments": "", "group": "index", "examples": { - "merge.c": ["ex/v1.8.4/merge.html#git_index_conflict_iterator_free-14"] + "merge.c": ["ex/v1.9.1/merge.html#git_index_conflict_iterator_free-14"] } }, "git_indexer_options_init": { "type": "function", "file": "git2/indexer.h", - "line": 99, - "lineto": 101, + "line": 116, + "lineto": 118, "args": [ { "name": "opts", @@ -9496,8 +9712,8 @@ "git_indexer_new": { "type": "function", "file": "git2/indexer.h", - "line": 131, - "lineto": 136, + "line": 147, + "lineto": 152, "args": [ { "name": "out", @@ -9535,8 +9751,8 @@ "git_indexer_append": { "type": "function", "file": "git2/indexer.h", - "line": 148, - "lineto": 148, + "line": 164, + "lineto": 164, "args": [ { "name": "idx", "type": "git_indexer *", "comment": "the indexer" }, { @@ -9565,8 +9781,8 @@ "git_indexer_commit": { "type": "function", "file": "git2/indexer.h", - "line": 159, - "lineto": 159, + "line": 175, + "lineto": 175, "args": [ { "name": "idx", "type": "git_indexer *", "comment": "the indexer" }, { @@ -9585,8 +9801,8 @@ "git_indexer_hash": { "type": "function", "file": "git2/indexer.h", - "line": 172, - "lineto": 172, + "line": 188, + "lineto": 188, "args": [ { "name": "idx", @@ -9607,8 +9823,8 @@ "git_indexer_name": { "type": "function", "file": "git2/indexer.h", - "line": 184, - "lineto": 184, + "line": 200, + "lineto": 200, "args": [ { "name": "idx", @@ -9629,8 +9845,8 @@ "git_indexer_free": { "type": "function", "file": "git2/indexer.h", - "line": 191, - "lineto": 191, + "line": 207, + "lineto": 207, "args": [ { "name": "idx", @@ -9648,8 +9864,8 @@ "git_mailmap_new": { "type": "function", "file": "git2/mailmap.h", - "line": 32, - "lineto": 32, + "line": 37, + "lineto": 37, "args": [ { "name": "out", @@ -9667,8 +9883,8 @@ "git_mailmap_free": { "type": "function", "file": "git2/mailmap.h", - "line": 39, - "lineto": 39, + "line": 44, + "lineto": 44, "args": [ { "name": "mm", @@ -9686,8 +9902,8 @@ "git_mailmap_add_entry": { "type": "function", "file": "git2/mailmap.h", - "line": 52, - "lineto": 54, + "line": 57, + "lineto": 59, "args": [ { "name": "mm", @@ -9725,8 +9941,8 @@ "git_mailmap_from_buffer": { "type": "function", "file": "git2/mailmap.h", - "line": 64, - "lineto": 65, + "line": 69, + "lineto": 70, "args": [ { "name": "out", @@ -9754,8 +9970,8 @@ "git_mailmap_from_repository": { "type": "function", "file": "git2/mailmap.h", - "line": 81, - "lineto": 82, + "line": 86, + "lineto": 87, "args": [ { "name": "out", @@ -9778,8 +9994,8 @@ "git_mailmap_resolve": { "type": "function", "file": "git2/mailmap.h", - "line": 96, - "lineto": 98, + "line": 101, + "lineto": 103, "args": [ { "name": "real_name", @@ -9817,8 +10033,8 @@ "git_mailmap_resolve_signature": { "type": "function", "file": "git2/mailmap.h", - "line": 110, - "lineto": 111, + "line": 115, + "lineto": 116, "args": [ { "name": "out", @@ -9846,8 +10062,8 @@ "git_merge_file_input_init": { "type": "function", "file": "git2/merge.h", - "line": 60, - "lineto": 62, + "line": 66, + "lineto": 68, "args": [ { "name": "opts", @@ -9873,8 +10089,8 @@ "git_merge_file_options_init": { "type": "function", "file": "git2/merge.h", - "line": 233, - "lineto": 233, + "line": 243, + "lineto": 243, "args": [ { "name": "opts", @@ -9900,8 +10116,8 @@ "git_merge_options_init": { "type": "function", "file": "git2/merge.h", - "line": 329, - "lineto": 329, + "line": 342, + "lineto": 342, "args": [ { "name": "opts", @@ -9927,8 +10143,8 @@ "git_merge_analysis": { "type": "function", "file": "git2/merge.h", - "line": 399, - "lineto": 404, + "line": 412, + "lineto": 417, "args": [ { "name": "analysis_out", @@ -9962,13 +10178,13 @@ "description": "

Analyzes the given branch(es) and determines the opportunities for\n merging them into the HEAD of the repository.

\n", "comments": "", "group": "merge", - "examples": { "merge.c": ["ex/v1.8.4/merge.html#git_merge_analysis-15"] } + "examples": { "merge.c": ["ex/v1.9.1/merge.html#git_merge_analysis-15"] } }, "git_merge_analysis_for_ref": { "type": "function", "file": "git2/merge.h", - "line": 418, - "lineto": 424, + "line": 431, + "lineto": 437, "args": [ { "name": "analysis_out", @@ -10011,8 +10227,8 @@ "git_merge_base": { "type": "function", "file": "git2/merge.h", - "line": 435, - "lineto": 439, + "line": 448, + "lineto": 452, "args": [ { "name": "out", @@ -10045,15 +10261,15 @@ "comments": "", "group": "merge", "examples": { - "log.c": ["ex/v1.8.4/log.html#git_merge_base-31"], - "rev-parse.c": ["ex/v1.8.4/rev-parse.html#git_merge_base-1"] + "log.c": ["ex/v1.9.1/log.html#git_merge_base-31"], + "rev-parse.c": ["ex/v1.9.1/rev-parse.html#git_merge_base-1"] } }, "git_merge_bases": { "type": "function", "file": "git2/merge.h", - "line": 450, - "lineto": 454, + "line": 463, + "lineto": 467, "args": [ { "name": "out", @@ -10089,8 +10305,8 @@ "git_merge_base_many": { "type": "function", "file": "git2/merge.h", - "line": 465, - "lineto": 469, + "line": 478, + "lineto": 482, "args": [ { "name": "out", @@ -10126,8 +10342,8 @@ "git_merge_bases_many": { "type": "function", "file": "git2/merge.h", - "line": 480, - "lineto": 484, + "line": 524, + "lineto": 528, "args": [ { "name": "out", @@ -10157,14 +10373,14 @@ "comment": " Zero on success; GIT_ENOTFOUND or -1 on failure." }, "description": "

Find all merge bases given a list of commits

\n", - "comments": "", + "comments": "

This behaves similar to git merge-base.

\n\n

Given three commits a, b, and c, merge_base_many will compute a hypothetical commit m, which is a merge between b and c.

\n\n

For example, with the following topology: text o---o---o---o---C / / o---o---o---B / / ---2---1---o---o---o---A

\n\n

the result of merge_base_many given a, b, and c is 1. This is because the equivalent topology with the imaginary merge commit m between b and c is: text o---o---o---o---o / \\ / o---o---o---o---M / / ---2---1---o---o---o---A

\n\n

and the result of merge_base_many given a and m is 1.

\n\n

If you're looking to recieve the common ancestor between all the given commits, use merge_base_octopus.

\n", "group": "merge" }, "git_merge_base_octopus": { "type": "function", "file": "git2/merge.h", - "line": 495, - "lineto": 499, + "line": 539, + "lineto": 543, "args": [ { "name": "out", @@ -10200,8 +10416,8 @@ "git_merge_file": { "type": "function", "file": "git2/merge.h", - "line": 517, - "lineto": 522, + "line": 561, + "lineto": 566, "args": [ { "name": "out", @@ -10239,8 +10455,8 @@ "git_merge_file_from_index": { "type": "function", "file": "git2/merge.h", - "line": 538, - "lineto": 544, + "line": 582, + "lineto": 588, "args": [ { "name": "out", @@ -10283,8 +10499,8 @@ "git_merge_file_result_free": { "type": "function", "file": "git2/merge.h", - "line": 551, - "lineto": 551, + "line": 595, + "lineto": 595, "args": [ { "name": "result", @@ -10302,8 +10518,8 @@ "git_merge_trees": { "type": "function", "file": "git2/merge.h", - "line": 569, - "lineto": 575, + "line": 613, + "lineto": 619, "args": [ { "name": "out", @@ -10346,8 +10562,8 @@ "git_merge_commits": { "type": "function", "file": "git2/merge.h", - "line": 592, - "lineto": 597, + "line": 636, + "lineto": 641, "args": [ { "name": "out", @@ -10385,8 +10601,8 @@ "git_merge": { "type": "function", "file": "git2/merge.h", - "line": 617, - "lineto": 622, + "line": 661, + "lineto": 666, "args": [ { "name": "repo", @@ -10420,7 +10636,7 @@ "description": "

Merges the given commit(s) into HEAD, writing the results into the working\n directory. Any changes are staged for commit and any conflicts are written\n to the index. Callers should inspect the repository's index after this\n completes, resolve any conflicts and prepare a commit.

\n", "comments": "

For compatibility with git, the repository is put into a merging state. Once the commit is done (or if the user wishes to abort), you should clear this state by calling git_repository_state_cleanup().

\n", "group": "merge", - "examples": { "merge.c": ["ex/v1.8.4/merge.html#git_merge-16"] } + "examples": { "merge.c": ["ex/v1.9.1/merge.html#git_merge-16"] } }, "git_message_prettify": { "type": "function", @@ -10502,64 +10718,11 @@ "comments": "", "group": "message" }, - "git_note_iterator_new": { - "type": "function", - "file": "git2/notes.h", - "line": 49, - "lineto": 52, - "args": [ - { - "name": "out", - "type": "git_note_iterator **", - "comment": "pointer to the iterator" - }, - { - "name": "repo", - "type": "git_repository *", - "comment": "repository where to look up the note" - }, - { - "name": "notes_ref", - "type": "const char *", - "comment": "canonical name of the reference to use (optional); defaults to\n \"refs/notes/commits\"" - } - ], - "argline": "git_note_iterator **out, git_repository *repo, const char *notes_ref", - "sig": "git_note_iterator **::git_repository *::const char *", - "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Creates a new iterator for notes

\n", - "comments": "

The iterator must be freed manually by the user.

\n", - "group": "note" - }, - "git_note_commit_iterator_new": { - "type": "function", - "file": "git2/notes.h", - "line": 64, - "lineto": 66, - "args": [ - { - "name": "out", - "type": "git_note_iterator **", - "comment": "pointer to the iterator" - }, - { - "name": "notes_commit", - "type": "git_commit *", - "comment": "a pointer to the notes commit object" - } - ], - "argline": "git_note_iterator **out, git_commit *notes_commit", - "sig": "git_note_iterator **::git_commit *", - "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Creates a new iterator for notes from a commit

\n", - "comments": "

The iterator must be freed manually by the user.

\n", - "group": "note" - }, "git_note_iterator_free": { "type": "function", "file": "git2/notes.h", - "line": 73, - "lineto": 73, + "line": 75, + "lineto": 75, "args": [ { "name": "it", @@ -10577,8 +10740,8 @@ "git_note_next": { "type": "function", "file": "git2/notes.h", - "line": 86, - "lineto": 89, + "line": 88, + "lineto": 91, "args": [ { "name": "note_id", @@ -10606,413 +10769,11 @@ "comments": "", "group": "note" }, - "git_note_read": { - "type": "function", - "file": "git2/notes.h", - "line": 105, - "lineto": 109, - "args": [ - { - "name": "out", - "type": "git_note **", - "comment": "pointer to the read note; NULL in case of error" - }, - { - "name": "repo", - "type": "git_repository *", - "comment": "repository where to look up the note" - }, - { - "name": "notes_ref", - "type": "const char *", - "comment": "canonical name of the reference to use (optional); defaults to\n \"refs/notes/commits\"" - }, - { - "name": "oid", - "type": "const git_oid *", - "comment": "OID of the git object to read the note from" - } - ], - "argline": "git_note **out, git_repository *repo, const char *notes_ref, const git_oid *oid", - "sig": "git_note **::git_repository *::const char *::const git_oid *", - "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Read the note for an object

\n", - "comments": "

The note must be freed manually by the user.

\n", - "group": "note" - }, - "git_note_commit_read": { - "type": "function", - "file": "git2/notes.h", - "line": 124, - "lineto": 128, - "args": [ - { - "name": "out", - "type": "git_note **", - "comment": "pointer to the read note; NULL in case of error" - }, - { - "name": "repo", - "type": "git_repository *", - "comment": "repository where to look up the note" - }, - { - "name": "notes_commit", - "type": "git_commit *", - "comment": "a pointer to the notes commit object" - }, - { - "name": "oid", - "type": "const git_oid *", - "comment": "OID of the git object to read the note from" - } - ], - "argline": "git_note **out, git_repository *repo, git_commit *notes_commit, const git_oid *oid", - "sig": "git_note **::git_repository *::git_commit *::const git_oid *", - "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Read the note for an object from a note commit

\n", - "comments": "

The note must be freed manually by the user.

\n", - "group": "note" - }, - "git_note_author": { - "type": "function", - "file": "git2/notes.h", - "line": 136, - "lineto": 136, - "args": [ - { "name": "note", "type": "const git_note *", "comment": "the note" } - ], - "argline": "const git_note *note", - "sig": "const git_note *", - "return": { "type": "const git_signature *", "comment": " the author" }, - "description": "

Get the note author

\n", - "comments": "", - "group": "note" - }, - "git_note_committer": { - "type": "function", - "file": "git2/notes.h", - "line": 144, - "lineto": 144, - "args": [ - { "name": "note", "type": "const git_note *", "comment": "the note" } - ], - "argline": "const git_note *note", - "sig": "const git_note *", - "return": { - "type": "const git_signature *", - "comment": " the committer" - }, - "description": "

Get the note committer

\n", - "comments": "", - "group": "note" - }, - "git_note_message": { - "type": "function", - "file": "git2/notes.h", - "line": 153, - "lineto": 153, - "args": [ - { "name": "note", "type": "const git_note *", "comment": "the note" } - ], - "argline": "const git_note *note", - "sig": "const git_note *", - "return": { "type": "const char *", "comment": " the note message" }, - "description": "

Get the note message

\n", - "comments": "", - "group": "note" - }, - "git_note_id": { - "type": "function", - "file": "git2/notes.h", - "line": 162, - "lineto": 162, - "args": [ - { "name": "note", "type": "const git_note *", "comment": "the note" } - ], - "argline": "const git_note *note", - "sig": "const git_note *", - "return": { - "type": "const git_oid *", - "comment": " the note object's id" - }, - "description": "

Get the note object's id

\n", - "comments": "", - "group": "note" - }, - "git_note_create": { - "type": "function", - "file": "git2/notes.h", - "line": 179, - "lineto": 187, - "args": [ - { - "name": "out", - "type": "git_oid *", - "comment": "pointer to store the OID (optional); NULL in case of error" - }, - { - "name": "repo", - "type": "git_repository *", - "comment": "repository where to store the note" - }, - { - "name": "notes_ref", - "type": "const char *", - "comment": "canonical name of the reference to use (optional);\n\t\t\t\t\tdefaults to \"refs/notes/commits\"" - }, - { - "name": "author", - "type": "const git_signature *", - "comment": "signature of the notes commit author" - }, - { - "name": "committer", - "type": "const git_signature *", - "comment": "signature of the notes commit committer" - }, - { - "name": "oid", - "type": "const git_oid *", - "comment": "OID of the git object to decorate" - }, - { - "name": "note", - "type": "const char *", - "comment": "Content of the note to add for object oid" - }, - { "name": "force", "type": "int", "comment": "Overwrite existing note" } - ], - "argline": "git_oid *out, git_repository *repo, const char *notes_ref, const git_signature *author, const git_signature *committer, const git_oid *oid, const char *note, int force", - "sig": "git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const git_oid *::const char *::int", - "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Add a note for an object

\n", - "comments": "", - "group": "note" - }, - "git_note_commit_create": { - "type": "function", - "file": "git2/notes.h", - "line": 209, - "lineto": 218, - "args": [ - { - "name": "notes_commit_out", - "type": "git_oid *", - "comment": "pointer to store the commit (optional);\n\t\t\t\t\tNULL in case of error" - }, - { - "name": "notes_blob_out", - "type": "git_oid *", - "comment": "a point to the id of a note blob (optional)" - }, - { - "name": "repo", - "type": "git_repository *", - "comment": "repository where the note will live" - }, - { - "name": "parent", - "type": "git_commit *", - "comment": "Pointer to parent note\n\t\t\t\t\tor NULL if this shall start a new notes tree" - }, - { - "name": "author", - "type": "const git_signature *", - "comment": "signature of the notes commit author" - }, - { - "name": "committer", - "type": "const git_signature *", - "comment": "signature of the notes commit committer" - }, - { - "name": "oid", - "type": "const git_oid *", - "comment": "OID of the git object to decorate" - }, - { - "name": "note", - "type": "const char *", - "comment": "Content of the note to add for object oid" - }, - { - "name": "allow_note_overwrite", - "type": "int", - "comment": "Overwrite existing note" - } - ], - "argline": "git_oid *notes_commit_out, git_oid *notes_blob_out, git_repository *repo, git_commit *parent, const git_signature *author, const git_signature *committer, const git_oid *oid, const char *note, int allow_note_overwrite", - "sig": "git_oid *::git_oid *::git_repository *::git_commit *::const git_signature *::const git_signature *::const git_oid *::const char *::int", - "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Add a note for an object from a commit

\n", - "comments": "

This function will create a notes commit for a given object, the commit is a dangling commit, no reference is created.

\n", - "group": "note" - }, - "git_note_remove": { - "type": "function", - "file": "git2/notes.h", - "line": 232, - "lineto": 237, - "args": [ - { - "name": "repo", - "type": "git_repository *", - "comment": "repository where the note lives" - }, - { - "name": "notes_ref", - "type": "const char *", - "comment": "canonical name of the reference to use (optional);\n\t\t\t\t\tdefaults to \"refs/notes/commits\"" - }, - { - "name": "author", - "type": "const git_signature *", - "comment": "signature of the notes commit author" - }, - { - "name": "committer", - "type": "const git_signature *", - "comment": "signature of the notes commit committer" - }, - { - "name": "oid", - "type": "const git_oid *", - "comment": "OID of the git object to remove the note from" - } - ], - "argline": "git_repository *repo, const char *notes_ref, const git_signature *author, const git_signature *committer, const git_oid *oid", - "sig": "git_repository *::const char *::const git_signature *::const git_signature *::const git_oid *", - "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Remove the note for an object

\n", - "comments": "", - "group": "note" - }, - "git_note_commit_remove": { - "type": "function", - "file": "git2/notes.h", - "line": 257, - "lineto": 263, - "args": [ - { - "name": "notes_commit_out", - "type": "git_oid *", - "comment": "pointer to store the new notes commit (optional);\n\t\t\t\t\tNULL in case of error.\n\t\t\t\t\tWhen removing a note a new tree containing all notes\n\t\t\t\t\tsans the note to be removed is created and a new commit\n\t\t\t\t\tpointing to that tree is also created.\n\t\t\t\t\tIn the case where the resulting tree is an empty tree\n\t\t\t\t\ta new commit pointing to this empty tree will be returned." - }, - { - "name": "repo", - "type": "git_repository *", - "comment": "repository where the note lives" - }, - { - "name": "notes_commit", - "type": "git_commit *", - "comment": "a pointer to the notes commit object" - }, - { - "name": "author", - "type": "const git_signature *", - "comment": "signature of the notes commit author" - }, - { - "name": "committer", - "type": "const git_signature *", - "comment": "signature of the notes commit committer" - }, - { - "name": "oid", - "type": "const git_oid *", - "comment": "OID of the git object to remove the note from" - } - ], - "argline": "git_oid *notes_commit_out, git_repository *repo, git_commit *notes_commit, const git_signature *author, const git_signature *committer, const git_oid *oid", - "sig": "git_oid *::git_repository *::git_commit *::const git_signature *::const git_signature *::const git_oid *", - "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Remove the note for an object

\n", - "comments": "", - "group": "note" - }, - "git_note_free": { - "type": "function", - "file": "git2/notes.h", - "line": 270, - "lineto": 270, - "args": [ - { "name": "note", "type": "git_note *", "comment": "git_note object" } - ], - "argline": "git_note *note", - "sig": "git_note *", - "return": { "type": "void", "comment": null }, - "description": "

Free a git_note object

\n", - "comments": "", - "group": "note" - }, - "git_note_default_ref": { - "type": "function", - "file": "git2/notes.h", - "line": 280, - "lineto": 280, - "args": [ - { - "name": "out", - "type": "git_buf *", - "comment": "buffer in which to store the name of the default notes reference" - }, - { - "name": "repo", - "type": "git_repository *", - "comment": "The Git repository" - } - ], - "argline": "git_buf *out, git_repository *repo", - "sig": "git_buf *::git_repository *", - "return": { "type": "int", "comment": " 0 or an error code" }, - "description": "

Get the default notes reference for a repository

\n", - "comments": "", - "group": "note" - }, - "git_note_foreach": { - "type": "function", - "file": "git2/notes.h", - "line": 298, - "lineto": 302, - "args": [ - { - "name": "repo", - "type": "git_repository *", - "comment": "Repository where to find the notes." - }, - { - "name": "notes_ref", - "type": "const char *", - "comment": "Reference to read from (optional); defaults to\n \"refs/notes/commits\"." - }, - { - "name": "note_cb", - "type": "git_note_foreach_cb", - "comment": "Callback to invoke per found annotation. Return non-zero\n to stop looping." - }, - { - "name": "payload", - "type": "void *", - "comment": "Extra parameter to callback function." - } - ], - "argline": "git_repository *repo, const char *notes_ref, git_note_foreach_cb note_cb, void *payload", - "sig": "git_repository *::const char *::git_note_foreach_cb::void *", - "return": { - "type": "int", - "comment": " 0 on success, non-zero callback return value, or error code" - }, - "description": "

Loop over all the notes within a specified namespace\n and issue a callback for each one.

\n", - "comments": "", - "group": "note" - }, "git_object_lookup": { "type": "function", "file": "git2/object.h", - "line": 44, - "lineto": 48, + "line": 45, + "lineto": 49, "args": [ { "name": "object", @@ -11042,15 +10803,15 @@ "comments": "

The generated reference is owned by the repository and should be closed with the git_object_free method instead of free'd manually.

\n\n

The 'type' parameter must match the type of the object in the odb; the method will fail otherwise. The special value 'GIT_OBJECT_ANY' may be passed to let the method guess the object's type.

\n", "group": "object", "examples": { - "log.c": ["ex/v1.8.4/log.html#git_object_lookup-32"], - "merge.c": ["ex/v1.8.4/merge.html#git_object_lookup-17"] + "log.c": ["ex/v1.9.1/log.html#git_object_lookup-32"], + "merge.c": ["ex/v1.9.1/merge.html#git_object_lookup-17"] } }, "git_object_lookup_prefix": { "type": "function", "file": "git2/object.h", - "line": 77, - "lineto": 82, + "line": 78, + "lineto": 83, "args": [ { "name": "object_out", @@ -11082,14 +10843,14 @@ "sig": "git_object **::git_repository *::const git_oid *::size_t::git_object_t", "return": { "type": "int", "comment": " 0 or an error code" }, "description": "

Lookup a reference to one of the objects in a repository,\n given a prefix of its identifier (short id).

\n", - "comments": "

The object obtained will be so that its identifier matches the first 'len' hexadecimal characters (packets of 4 bits) of the given 'id'. 'len' must be at least GIT_OID_MINPREFIXLEN, and long enough to identify a unique object matching the prefix; otherwise the method will fail.

\n\n

The generated reference is owned by the repository and should be closed with the git_object_free method instead of free'd manually.

\n\n

The 'type' parameter must match the type of the object in the odb; the method will fail otherwise. The special value 'GIT_OBJECT_ANY' may be passed to let the method guess the object's type.

\n", + "comments": "

The object obtained will be so that its identifier matches the first 'len' hexadecimal characters (packets of 4 bits) of the given id. len must be at least GIT_OID_MINPREFIXLEN, and long enough to identify a unique object matching the prefix; otherwise the method will fail.

\n\n

The generated reference is owned by the repository and should be closed with the git_object_free method instead of free'd manually.

\n\n

The type parameter must match the type of the object in the odb; the method will fail otherwise. The special value GIT_OBJECT_ANY may be passed to let the method guess the object's type.

\n", "group": "object" }, "git_object_lookup_bypath": { "type": "function", "file": "git2/object.h", - "line": 95, - "lineto": 99, + "line": 96, + "lineto": 100, "args": [ { "name": "out", @@ -11122,8 +10883,8 @@ "git_object_id": { "type": "function", "file": "git2/object.h", - "line": 107, - "lineto": 107, + "line": 108, + "lineto": 108, "args": [ { "name": "obj", @@ -11139,35 +10900,35 @@ "group": "object", "examples": { "blame.c": [ - "ex/v1.8.4/blame.html#git_object_id-8", - "ex/v1.8.4/blame.html#git_object_id-9", - "ex/v1.8.4/blame.html#git_object_id-10", - "ex/v1.8.4/blame.html#git_object_id-11" + "ex/v1.9.1/blame.html#git_object_id-7", + "ex/v1.9.1/blame.html#git_object_id-8", + "ex/v1.9.1/blame.html#git_object_id-9", + "ex/v1.9.1/blame.html#git_object_id-10" ], "cat-file.c": [ - "ex/v1.8.4/cat-file.html#git_object_id-10", - "ex/v1.8.4/cat-file.html#git_object_id-11" + "ex/v1.9.1/cat-file.html#git_object_id-10", + "ex/v1.9.1/cat-file.html#git_object_id-11" ], "log.c": [ - "ex/v1.8.4/log.html#git_object_id-33", - "ex/v1.8.4/log.html#git_object_id-34", - "ex/v1.8.4/log.html#git_object_id-35", - "ex/v1.8.4/log.html#git_object_id-36" + "ex/v1.9.1/log.html#git_object_id-33", + "ex/v1.9.1/log.html#git_object_id-34", + "ex/v1.9.1/log.html#git_object_id-35", + "ex/v1.9.1/log.html#git_object_id-36" ], "rev-parse.c": [ - "ex/v1.8.4/rev-parse.html#git_object_id-2", - "ex/v1.8.4/rev-parse.html#git_object_id-3", - "ex/v1.8.4/rev-parse.html#git_object_id-4", - "ex/v1.8.4/rev-parse.html#git_object_id-5", - "ex/v1.8.4/rev-parse.html#git_object_id-6" + "ex/v1.9.1/rev-parse.html#git_object_id-2", + "ex/v1.9.1/rev-parse.html#git_object_id-3", + "ex/v1.9.1/rev-parse.html#git_object_id-4", + "ex/v1.9.1/rev-parse.html#git_object_id-5", + "ex/v1.9.1/rev-parse.html#git_object_id-6" ] } }, "git_object_short_id": { "type": "function", "file": "git2/object.h", - "line": 121, - "lineto": 121, + "line": 122, + "lineto": 122, "args": [ { "name": "out", @@ -11186,13 +10947,13 @@ "description": "

Get a short abbreviated OID string for the object

\n", "comments": "

This starts at the "core.abbrev" length (default 7 characters) and iteratively extends to a longer string if that length is ambiguous. The result will be unambiguous (at least until new objects are added to the repository).

\n", "group": "object", - "examples": { "tag.c": ["ex/v1.8.4/tag.html#git_object_short_id-3"] } + "examples": { "tag.c": ["ex/v1.9.1/tag.html#git_object_short_id-3"] } }, "git_object_type": { "type": "function", "file": "git2/object.h", - "line": 129, - "lineto": 129, + "line": 130, + "lineto": 130, "args": [ { "name": "obj", @@ -11208,18 +10969,18 @@ "group": "object", "examples": { "cat-file.c": [ - "ex/v1.8.4/cat-file.html#git_object_type-12", - "ex/v1.8.4/cat-file.html#git_object_type-13", - "ex/v1.8.4/cat-file.html#git_object_type-14" + "ex/v1.9.1/cat-file.html#git_object_type-12", + "ex/v1.9.1/cat-file.html#git_object_type-13", + "ex/v1.9.1/cat-file.html#git_object_type-14" ], - "tag.c": ["ex/v1.8.4/tag.html#git_object_type-4"] + "tag.c": ["ex/v1.9.1/tag.html#git_object_type-4"] } }, "git_object_owner": { "type": "function", "file": "git2/object.h", - "line": 143, - "lineto": 143, + "line": 144, + "lineto": 144, "args": [ { "name": "obj", "type": "const git_object *", "comment": "the object" } ], @@ -11236,8 +10997,8 @@ "git_object_free": { "type": "function", "file": "git2/object.h", - "line": 160, - "lineto": 160, + "line": 161, + "lineto": 161, "args": [ { "name": "object", @@ -11253,34 +11014,34 @@ "group": "object", "examples": { "blame.c": [ - "ex/v1.8.4/blame.html#git_object_free-12", - "ex/v1.8.4/blame.html#git_object_free-13", - "ex/v1.8.4/blame.html#git_object_free-14", - "ex/v1.8.4/blame.html#git_object_free-15" - ], - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_object_free-15"], - "commit.c": ["ex/v1.8.4/commit.html#git_object_free-6"], - "general.c": ["ex/v1.8.4/general.html#git_object_free-38"], - "log.c": ["ex/v1.8.4/log.html#git_object_free-37"], - "merge.c": ["ex/v1.8.4/merge.html#git_object_free-18"], + "ex/v1.9.1/blame.html#git_object_free-11", + "ex/v1.9.1/blame.html#git_object_free-12", + "ex/v1.9.1/blame.html#git_object_free-13", + "ex/v1.9.1/blame.html#git_object_free-14" + ], + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_object_free-15"], + "commit.c": ["ex/v1.9.1/commit.html#git_object_free-6"], + "general.c": ["ex/v1.9.1/general.html#git_object_free-38"], + "log.c": ["ex/v1.9.1/log.html#git_object_free-37"], + "merge.c": ["ex/v1.9.1/merge.html#git_object_free-18"], "rev-parse.c": [ - "ex/v1.8.4/rev-parse.html#git_object_free-7", - "ex/v1.8.4/rev-parse.html#git_object_free-8", - "ex/v1.8.4/rev-parse.html#git_object_free-9" + "ex/v1.9.1/rev-parse.html#git_object_free-7", + "ex/v1.9.1/rev-parse.html#git_object_free-8", + "ex/v1.9.1/rev-parse.html#git_object_free-9" ], "tag.c": [ - "ex/v1.8.4/tag.html#git_object_free-5", - "ex/v1.8.4/tag.html#git_object_free-6", - "ex/v1.8.4/tag.html#git_object_free-7", - "ex/v1.8.4/tag.html#git_object_free-8" + "ex/v1.9.1/tag.html#git_object_free-5", + "ex/v1.9.1/tag.html#git_object_free-6", + "ex/v1.9.1/tag.html#git_object_free-7", + "ex/v1.9.1/tag.html#git_object_free-8" ] } }, "git_object_type2string": { "type": "function", "file": "git2/object.h", - "line": 171, - "lineto": 171, + "line": 172, + "lineto": 172, "args": [ { "name": "type", @@ -11299,22 +11060,22 @@ "group": "object", "examples": { "cat-file.c": [ - "ex/v1.8.4/cat-file.html#git_object_type2string-16", - "ex/v1.8.4/cat-file.html#git_object_type2string-17", - "ex/v1.8.4/cat-file.html#git_object_type2string-18", - "ex/v1.8.4/cat-file.html#git_object_type2string-19" + "ex/v1.9.1/cat-file.html#git_object_type2string-16", + "ex/v1.9.1/cat-file.html#git_object_type2string-17", + "ex/v1.9.1/cat-file.html#git_object_type2string-18", + "ex/v1.9.1/cat-file.html#git_object_type2string-19" ], "general.c": [ - "ex/v1.8.4/general.html#git_object_type2string-39", - "ex/v1.8.4/general.html#git_object_type2string-40" + "ex/v1.9.1/general.html#git_object_type2string-39", + "ex/v1.9.1/general.html#git_object_type2string-40" ] } }, "git_object_string2type": { "type": "function", "file": "git2/object.h", - "line": 179, - "lineto": 179, + "line": 180, + "lineto": 180, "args": [ { "name": "str", @@ -11335,8 +11096,8 @@ "git_object_typeisloose": { "type": "function", "file": "git2/object.h", - "line": 188, - "lineto": 188, + "line": 189, + "lineto": 189, "args": [ { "name": "type", @@ -11357,8 +11118,8 @@ "git_object_peel": { "type": "function", "file": "git2/object.h", - "line": 213, - "lineto": 216, + "line": 214, + "lineto": 217, "args": [ { "name": "peeled", @@ -11389,8 +11150,8 @@ "git_object_dup": { "type": "function", "file": "git2/object.h", - "line": 226, - "lineto": 226, + "line": 227, + "lineto": 227, "args": [ { "name": "dest", @@ -11413,8 +11174,8 @@ "git_object_rawcontent_is_valid": { "type": "function", "file": "git2/object.h", - "line": 269, - "lineto": 273, + "line": 270, + "lineto": 274, "args": [ { "name": "valid", @@ -11444,11 +11205,54 @@ "comments": "", "group": "object" }, + "git_odb_new": { + "type": "function", + "file": "git2/odb.h", + "line": 102, + "lineto": 102, + "args": [ + { + "name": "odb", + "type": "git_odb **", + "comment": "location to store the database pointer, if opened." + } + ], + "argline": "git_odb **odb", + "sig": "git_odb **", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Create a new object database with no backends.

\n", + "comments": "

Before the ODB can be used for read/writing, a custom database backend must be manually added using git_odb_add_backend()

\n", + "group": "odb" + }, + "git_odb_open": { + "type": "function", + "file": "git2/odb.h", + "line": 120, + "lineto": 120, + "args": [ + { + "name": "odb_out", + "type": "git_odb **", + "comment": "location to store the database pointer, if opened.\n\t\t\tSet to NULL if the open failed." + }, + { + "name": "objects_dir", + "type": "const char *", + "comment": "path of the backends' \"objects\" directory." + } + ], + "argline": "git_odb **odb_out, const char *objects_dir", + "sig": "git_odb **::const char *", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Create a new object database and automatically add\n the two default backends:

\n", + "comments": "
- git_odb_backend_loose: read and write loose object files      from disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,        assuming `objects_dir` as the Objects folder which      contains a 'pack/' folder with the corresponding data\n
\n", + "group": "odb" + }, "git_odb_add_disk_alternate": { "type": "function", "file": "git2/odb.h", - "line": 118, - "lineto": 118, + "line": 138, + "lineto": 138, "args": [ { "name": "odb", @@ -11474,8 +11278,8 @@ "git_odb_free": { "type": "function", "file": "git2/odb.h", - "line": 125, - "lineto": 125, + "line": 145, + "lineto": 145, "args": [ { "name": "db", @@ -11490,18 +11294,18 @@ "comments": "", "group": "odb", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_odb_free-20"], - "general.c": ["ex/v1.8.4/general.html#git_odb_free-41"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_odb_free-20"], + "general.c": ["ex/v1.9.1/general.html#git_odb_free-41"] } }, "git_odb_read": { "type": "function", "file": "git2/odb.h", - "line": 143, - "lineto": 143, + "line": 163, + "lineto": 163, "args": [ { - "name": "out", + "name": "obj", "type": "git_odb_object **", "comment": "pointer where to store the read object" }, @@ -11516,7 +11320,7 @@ "comment": "identity of the object to read." } ], - "argline": "git_odb_object **out, git_odb *db, const git_oid *id", + "argline": "git_odb_object **obj, git_odb *db, const git_oid *id", "sig": "git_odb_object **::git_odb *::const git_oid *", "return": { "type": "int", @@ -11526,18 +11330,18 @@ "comments": "

This method queries all available ODB backends trying to read the given OID.

\n\n

The returned object is reference counted and internally cached, so it should be closed by the user once it's no longer in use.

\n", "group": "odb", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_odb_read-21"], - "general.c": ["ex/v1.8.4/general.html#git_odb_read-42"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_odb_read-21"], + "general.c": ["ex/v1.9.1/general.html#git_odb_read-42"] } }, "git_odb_read_prefix": { "type": "function", "file": "git2/odb.h", - "line": 171, - "lineto": 171, + "line": 191, + "lineto": 191, "args": [ { - "name": "out", + "name": "obj", "type": "git_odb_object **", "comment": "pointer where to store the read object" }, @@ -11557,7 +11361,7 @@ "comment": "the length of the prefix" } ], - "argline": "git_odb_object **out, git_odb *db, const git_oid *short_id, size_t len", + "argline": "git_odb_object **obj, git_odb *db, const git_oid *short_id, size_t len", "sig": "git_odb_object **::git_odb *::const git_oid *::size_t", "return": { "type": "int", @@ -11570,8 +11374,8 @@ "git_odb_read_header": { "type": "function", "file": "git2/odb.h", - "line": 190, - "lineto": 190, + "line": 210, + "lineto": 210, "args": [ { "name": "len_out", @@ -11607,8 +11411,8 @@ "git_odb_exists": { "type": "function", "file": "git2/odb.h", - "line": 199, - "lineto": 199, + "line": 219, + "lineto": 219, "args": [ { "name": "db", @@ -11634,8 +11438,8 @@ "git_odb_exists_ext": { "type": "function", "file": "git2/odb.h", - "line": 210, - "lineto": 210, + "line": 230, + "lineto": 230, "args": [ { "name": "db", @@ -11666,8 +11470,8 @@ "git_odb_exists_prefix": { "type": "function", "file": "git2/odb.h", - "line": 223, - "lineto": 224, + "line": 243, + "lineto": 244, "args": [ { "name": "out", @@ -11703,8 +11507,8 @@ "git_odb_expand_ids": { "type": "function", "file": "git2/odb.h", - "line": 266, - "lineto": 269, + "line": 286, + "lineto": 289, "args": [ { "name": "db", @@ -11735,17 +11539,13 @@ "git_odb_refresh": { "type": "function", "file": "git2/odb.h", - "line": 289, - "lineto": 289, + "line": 309, + "lineto": 309, "args": [ - { - "name": "db", - "type": "struct git_odb *", - "comment": "database to refresh" - } + { "name": "db", "type": "git_odb *", "comment": "database to refresh" } ], - "argline": "struct git_odb *db", - "sig": "struct git_odb *", + "argline": "git_odb *db", + "sig": "git_odb *", "return": { "type": "int", "comment": " 0 on success, error code otherwise" @@ -11757,8 +11557,8 @@ "git_odb_foreach": { "type": "function", "file": "git2/odb.h", - "line": 304, - "lineto": 304, + "line": 324, + "lineto": 327, "args": [ { "name": "db", "type": "git_odb *", "comment": "database to use" }, { @@ -11785,8 +11585,8 @@ "git_odb_write": { "type": "function", "file": "git2/odb.h", - "line": 324, - "lineto": 324, + "line": 347, + "lineto": 347, "args": [ { "name": "out", @@ -11801,7 +11601,7 @@ { "name": "data", "type": "const void *", - "comment": "buffer with the data to store" + "comment": "`const unsigned char *` buffer with the data to store" }, { "name": "len", "type": "size_t", "comment": "size of the buffer" }, { @@ -11816,13 +11616,13 @@ "description": "

Write an object directly into the ODB

\n", "comments": "

This method writes a full object straight into the ODB. For most cases, it is preferred to write objects through a write stream, which is both faster and less memory intensive, specially for big objects.

\n\n

This method is provided for compatibility with custom backends which are not able to support streaming writes

\n", "group": "odb", - "examples": { "general.c": ["ex/v1.8.4/general.html#git_odb_write-43"] } + "examples": { "general.c": ["ex/v1.9.1/general.html#git_odb_write-43"] } }, "git_odb_open_wstream": { "type": "function", "file": "git2/odb.h", - "line": 347, - "lineto": 347, + "line": 370, + "lineto": 370, "args": [ { "name": "out", @@ -11858,8 +11658,8 @@ "git_odb_stream_write": { "type": "function", "file": "git2/odb.h", - "line": 360, - "lineto": 360, + "line": 383, + "lineto": 383, "args": [ { "name": "stream", @@ -11886,8 +11686,8 @@ "git_odb_stream_finalize_write": { "type": "function", "file": "git2/odb.h", - "line": 375, - "lineto": 375, + "line": 398, + "lineto": 398, "args": [ { "name": "out", @@ -11913,8 +11713,8 @@ "git_odb_stream_read": { "type": "function", "file": "git2/odb.h", - "line": 387, - "lineto": 387, + "line": 410, + "lineto": 410, "args": [ { "name": "stream", @@ -11932,7 +11732,7 @@ "sig": "git_odb_stream *::char *::size_t", "return": { "type": "int", - "comment": " 0 if the read succeeded, error code otherwise" + "comment": " the number of bytes read if succeeded, error code otherwise" }, "description": "

Read from an odb stream

\n", "comments": "

Most backends don't implement streaming reads

\n", @@ -11941,8 +11741,8 @@ "git_odb_stream_free": { "type": "function", "file": "git2/odb.h", - "line": 394, - "lineto": 394, + "line": 417, + "lineto": 417, "args": [ { "name": "stream", @@ -11960,8 +11760,8 @@ "git_odb_open_rstream": { "type": "function", "file": "git2/odb.h", - "line": 422, - "lineto": 427, + "line": 445, + "lineto": 450, "args": [ { "name": "out", @@ -12002,8 +11802,8 @@ "git_odb_write_pack": { "type": "function", "file": "git2/odb.h", - "line": 448, - "lineto": 452, + "line": 471, + "lineto": 475, "args": [ { "name": "out", @@ -12036,8 +11836,8 @@ "git_odb_write_multi_pack_index": { "type": "function", "file": "git2/odb.h", - "line": 466, - "lineto": 467, + "line": 489, + "lineto": 490, "args": [ { "name": "db", @@ -12052,11 +11852,66 @@ "comments": "

If the ODB layer understands pack files, then this will create a file called multi-pack-index next to the .pack and .idx files, which will contain an index of all objects stored in .pack files. This will allow for O(log n) lookup for n objects (regardless of how many packfiles there exist).

\n", "group": "odb" }, + "git_odb_hash": { + "type": "function", + "file": "git2/odb.h", + "line": 539, + "lineto": 539, + "args": [ + { + "name": "oid", + "type": "git_oid *", + "comment": "the resulting object-ID." + }, + { "name": "data", "type": "const void *", "comment": "data to hash" }, + { "name": "len", "type": "size_t", "comment": "size of the data" }, + { + "name": "object_type", + "type": "git_object_t", + "comment": "of the data to hash" + } + ], + "argline": "git_oid *oid, const void *data, size_t len, git_object_t object_type", + "sig": "git_oid *::const void *::size_t::git_object_t", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Determine the object-ID (sha1 or sha256 hash) of a data buffer

\n", + "comments": "

The resulting OID will be the identifier for the data buffer as if the data buffer it were to written to the ODB.

\n", + "group": "odb" + }, + "git_odb_hashfile": { + "type": "function", + "file": "git2/odb.h", + "line": 554, + "lineto": 554, + "args": [ + { + "name": "oid", + "type": "git_oid *", + "comment": "oid structure the result is written into." + }, + { + "name": "path", + "type": "const char *", + "comment": "file to read and determine object id for" + }, + { + "name": "object_type", + "type": "git_object_t", + "comment": "of the data to hash" + } + ], + "argline": "git_oid *oid, const char *path, git_object_t object_type", + "sig": "git_oid *::const char *::git_object_t", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Read a file from disk and fill a git_oid with the object id\n that the file would have if it were written to the Object\n Database as an object of the given type (w/o applying filters).\n Similar functionality to git.git's git hash-object without\n the -w flag, however, with the --no-filters flag.\n If you need filters, see git_repository_hashfile.

\n", + "comments": "", + "group": "odb" + }, "git_odb_object_dup": { "type": "function", "file": "git2/odb.h", - "line": 529, - "lineto": 529, + "line": 570, + "lineto": 570, "args": [ { "name": "dest", @@ -12079,8 +11934,8 @@ "git_odb_object_free": { "type": "function", "file": "git2/odb.h", - "line": 539, - "lineto": 539, + "line": 580, + "lineto": 580, "args": [ { "name": "object", @@ -12095,15 +11950,15 @@ "comments": "

This method must always be called once a git_odb_object is no longer needed, otherwise memory will leak.

\n", "group": "odb", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_odb_object_free-22"], - "general.c": ["ex/v1.8.4/general.html#git_odb_object_free-44"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_odb_object_free-22"], + "general.c": ["ex/v1.9.1/general.html#git_odb_object_free-44"] } }, "git_odb_object_id": { "type": "function", "file": "git2/odb.h", - "line": 549, - "lineto": 549, + "line": 590, + "lineto": 590, "args": [ { "name": "object", @@ -12124,8 +11979,8 @@ "git_odb_object_data": { "type": "function", "file": "git2/odb.h", - "line": 562, - "lineto": 562, + "line": 603, + "lineto": 603, "args": [ { "name": "object", @@ -12135,19 +11990,22 @@ ], "argline": "git_odb_object *object", "sig": "git_odb_object *", - "return": { "type": "const void *", "comment": " a pointer to the data" }, + "return": { + "type": "const void *", + "comment": " \n\n `const unsigned char *` a pointer to the data" + }, "description": "

Return the data of an ODB object

\n", "comments": "

This is the uncompressed, raw data as read from the ODB, without the leading header.

\n\n

This pointer is owned by the object and shall not be free'd.

\n", "group": "odb", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_odb_object_data-45"] + "general.c": ["ex/v1.9.1/general.html#git_odb_object_data-45"] } }, "git_odb_object_size": { "type": "function", "file": "git2/odb.h", - "line": 573, - "lineto": 573, + "line": 614, + "lineto": 614, "args": [ { "name": "object", @@ -12162,15 +12020,15 @@ "comments": "

This is the real size of the data buffer, not the actual size of the object.

\n", "group": "odb", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_odb_object_size-23"], - "general.c": ["ex/v1.8.4/general.html#git_odb_object_size-46"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_odb_object_size-23"], + "general.c": ["ex/v1.9.1/general.html#git_odb_object_size-46"] } }, "git_odb_object_type": { "type": "function", "file": "git2/odb.h", - "line": 581, - "lineto": 581, + "line": 622, + "lineto": 622, "args": [ { "name": "object", @@ -12185,14 +12043,14 @@ "comments": "", "group": "odb", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_odb_object_type-47"] + "general.c": ["ex/v1.9.1/general.html#git_odb_object_type-47"] } }, "git_odb_add_backend": { "type": "function", "file": "git2/odb.h", - "line": 596, - "lineto": 596, + "line": 637, + "lineto": 637, "args": [ { "name": "odb", @@ -12223,8 +12081,8 @@ "git_odb_add_alternate": { "type": "function", "file": "git2/odb.h", - "line": 617, - "lineto": 617, + "line": 658, + "lineto": 658, "args": [ { "name": "odb", @@ -12255,8 +12113,8 @@ "git_odb_num_backends": { "type": "function", "file": "git2/odb.h", - "line": 625, - "lineto": 625, + "line": 666, + "lineto": 666, "args": [ { "name": "odb", "type": "git_odb *", "comment": "object database" } ], @@ -12273,8 +12131,8 @@ "git_odb_get_backend": { "type": "function", "file": "git2/odb.h", - "line": 635, - "lineto": 635, + "line": 676, + "lineto": 676, "args": [ { "name": "out", @@ -12301,8 +12159,8 @@ "git_odb_set_commit_graph": { "type": "function", "file": "git2/odb.h", - "line": 650, - "lineto": 650, + "line": 691, + "lineto": 691, "args": [ { "name": "odb", "type": "git_odb *", "comment": "object database" }, { @@ -12321,11 +12179,224 @@ "comments": "

After a successful call, the ownership of the cgraph parameter will be transferred to libgit2, and the caller should not free it.

\n\n

The commit-graph can also be unset by explicitly passing NULL as the cgraph parameter.

\n", "group": "odb" }, + "git_odb_backend_pack": { + "type": "function", + "file": "git2/odb_backend.h", + "line": 142, + "lineto": 144, + "args": [ + { + "name": "out", + "type": "git_odb_backend **", + "comment": "location to store the odb backend pointer" + }, + { + "name": "objects_dir", + "type": "const char *", + "comment": "the Git repository's objects directory" + } + ], + "argline": "git_odb_backend **out, const char *objects_dir", + "sig": "git_odb_backend **::const char *", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Create a backend for a directory containing packfiles.

\n", + "comments": "", + "group": "odb" + }, + "git_odb_backend_one_pack": { + "type": "function", + "file": "git2/odb_backend.h", + "line": 156, + "lineto": 158, + "args": [ + { + "name": "out", + "type": "git_odb_backend **", + "comment": "location to store the odb backend pointer" + }, + { + "name": "index_file", + "type": "const char *", + "comment": "path to the packfile's .idx file" + } + ], + "argline": "git_odb_backend **out, const char *index_file", + "sig": "git_odb_backend **::const char *", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Create a backend out of a single packfile

\n", + "comments": "

This can be useful for inspecting the contents of a single packfile.

\n", + "group": "odb" + }, + "git_odb_backend_loose": { + "type": "function", + "file": "git2/odb_backend.h", + "line": 171, + "lineto": 177, + "args": [ + { + "name": "out", + "type": "git_odb_backend **", + "comment": "location to store the odb backend pointer" + }, + { + "name": "objects_dir", + "type": "const char *", + "comment": "the Git repository's objects directory" + }, + { + "name": "compression_level", + "type": "int", + "comment": "zlib compression level (0-9), or -1 for the default" + }, + { + "name": "do_fsync", + "type": "int", + "comment": "if non-zero, perform an fsync on write" + }, + { + "name": "dir_mode", + "type": "unsigned int", + "comment": "permission to use when creating directories, or 0 for default" + }, + { + "name": "file_mode", + "type": "unsigned int", + "comment": "permission to use when creating directories, or 0 for default" + } + ], + "argline": "git_odb_backend **out, const char *objects_dir, int compression_level, int do_fsync, unsigned int dir_mode, unsigned int file_mode", + "sig": "git_odb_backend **::const char *::int::int::unsigned int::unsigned int", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Create a backend for loose objects

\n", + "comments": "", + "group": "odb" + }, + "git_oid_fromstr": { + "type": "function", + "file": "git2/oid.h", + "line": 137, + "lineto": 137, + "args": [ + { + "name": "out", + "type": "git_oid *", + "comment": "oid structure the result is written into." + }, + { + "name": "str", + "type": "const char *", + "comment": "input hex string; must be pointing at the start of\n\t\tthe hex sequence and have at least the number of bytes\n\t\tneeded for an oid encoded in hex (40 bytes for sha1,\n\t\t256 bytes for sha256)." + } + ], + "argline": "git_oid *out, const char *str", + "sig": "git_oid *::const char *", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Parse a hex formatted object id into a git_oid.

\n", + "comments": "

The appropriate number of bytes for the given object ID type will be read from the string - 40 bytes for SHA1, 64 bytes for SHA256. The given string need not be NUL terminated.

\n", + "group": "oid", + "examples": { + "general.c": [ + "ex/v1.9.1/general.html#git_oid_fromstr-48", + "ex/v1.9.1/general.html#git_oid_fromstr-49", + "ex/v1.9.1/general.html#git_oid_fromstr-50", + "ex/v1.9.1/general.html#git_oid_fromstr-51", + "ex/v1.9.1/general.html#git_oid_fromstr-52", + "ex/v1.9.1/general.html#git_oid_fromstr-53", + "ex/v1.9.1/general.html#git_oid_fromstr-54", + "ex/v1.9.1/general.html#git_oid_fromstr-55", + "ex/v1.9.1/general.html#git_oid_fromstr-56", + "ex/v1.9.1/general.html#git_oid_fromstr-57", + "ex/v1.9.1/general.html#git_oid_fromstr-58", + "ex/v1.9.1/general.html#git_oid_fromstr-59", + "ex/v1.9.1/general.html#git_oid_fromstr-60", + "ex/v1.9.1/general.html#git_oid_fromstr-61", + "ex/v1.9.1/general.html#git_oid_fromstr-62", + "ex/v1.9.1/general.html#git_oid_fromstr-63" + ] + } + }, + "git_oid_fromstrp": { + "type": "function", + "file": "git2/oid.h", + "line": 146, + "lineto": 146, + "args": [ + { + "name": "out", + "type": "git_oid *", + "comment": "oid structure the result is written into." + }, + { + "name": "str", + "type": "const char *", + "comment": "input hex string; must be null-terminated." + } + ], + "argline": "git_oid *out, const char *str", + "sig": "git_oid *::const char *", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Parse a hex formatted NUL-terminated string into a git_oid.

\n", + "comments": "", + "group": "oid" + }, + "git_oid_fromstrn": { + "type": "function", + "file": "git2/oid.h", + "line": 159, + "lineto": 159, + "args": [ + { + "name": "out", + "type": "git_oid *", + "comment": "oid structure the result is written into." + }, + { + "name": "str", + "type": "const char *", + "comment": "input hex string of at least size `length`" + }, + { + "name": "length", + "type": "size_t", + "comment": "length of the input string" + } + ], + "argline": "git_oid *out, const char *str, size_t length", + "sig": "git_oid *::const char *::size_t", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Parse N characters of a hex formatted object id into a git_oid.

\n", + "comments": "

If N is odd, the last byte's high nibble will be read in and the low nibble set to zero.

\n", + "group": "oid" + }, + "git_oid_fromraw": { + "type": "function", + "file": "git2/oid.h", + "line": 168, + "lineto": 168, + "args": [ + { + "name": "out", + "type": "git_oid *", + "comment": "oid structure the result is written into." + }, + { + "name": "raw", + "type": "const unsigned char *", + "comment": "the raw input bytes to be copied." + } + ], + "argline": "git_oid *out, const unsigned char *raw", + "sig": "git_oid *::const unsigned char *", + "return": { "type": "int", "comment": " 0 on success or error code" }, + "description": "

Copy an already raw oid into a git_oid structure.

\n", + "comments": "", + "group": "oid" + }, "git_oid_fmt": { "type": "function", "file": "git2/oid.h", - "line": 188, - "lineto": 188, + "line": 184, + "lineto": 184, "args": [ { "name": "out", @@ -12346,24 +12417,24 @@ "group": "oid", "examples": { "fetch.c": [ - "ex/v1.8.4/fetch.html#git_oid_fmt-1", - "ex/v1.8.4/fetch.html#git_oid_fmt-2" + "ex/v1.9.1/fetch.html#git_oid_fmt-1", + "ex/v1.9.1/fetch.html#git_oid_fmt-2" ], "general.c": [ - "ex/v1.8.4/general.html#git_oid_fmt-48", - "ex/v1.8.4/general.html#git_oid_fmt-49", - "ex/v1.8.4/general.html#git_oid_fmt-50", - "ex/v1.8.4/general.html#git_oid_fmt-51", - "ex/v1.8.4/general.html#git_oid_fmt-52" + "ex/v1.9.1/general.html#git_oid_fmt-64", + "ex/v1.9.1/general.html#git_oid_fmt-65", + "ex/v1.9.1/general.html#git_oid_fmt-66", + "ex/v1.9.1/general.html#git_oid_fmt-67", + "ex/v1.9.1/general.html#git_oid_fmt-68" ], - "ls-remote.c": ["ex/v1.8.4/ls-remote.html#git_oid_fmt-1"] + "ls-remote.c": ["ex/v1.9.1/ls-remote.html#git_oid_fmt-1"] } }, "git_oid_nfmt": { "type": "function", "file": "git2/oid.h", - "line": 200, - "lineto": 200, + "line": 196, + "lineto": 196, "args": [ { "name": "out", @@ -12391,8 +12462,8 @@ "git_oid_pathfmt": { "type": "function", "file": "git2/oid.h", - "line": 217, - "lineto": 217, + "line": 213, + "lineto": 213, "args": [ { "name": "out", @@ -12418,8 +12489,8 @@ "git_oid_tostr_s": { "type": "function", "file": "git2/oid.h", - "line": 230, - "lineto": 230, + "line": 226, + "lineto": 226, "args": [ { "name": "oid", @@ -12438,16 +12509,16 @@ "group": "oid", "examples": { "merge.c": [ - "ex/v1.8.4/merge.html#git_oid_tostr_s-19", - "ex/v1.8.4/merge.html#git_oid_tostr_s-20" + "ex/v1.9.1/merge.html#git_oid_tostr_s-19", + "ex/v1.9.1/merge.html#git_oid_tostr_s-20" ] } }, "git_oid_tostr": { "type": "function", "file": "git2/oid.h", - "line": 251, - "lineto": 251, + "line": 247, + "lineto": 247, "args": [ { "name": "out", @@ -12476,33 +12547,33 @@ "group": "oid", "examples": { "blame.c": [ - "ex/v1.8.4/blame.html#git_oid_tostr-16", - "ex/v1.8.4/blame.html#git_oid_tostr-17" + "ex/v1.9.1/blame.html#git_oid_tostr-15", + "ex/v1.9.1/blame.html#git_oid_tostr-16" ], "cat-file.c": [ - "ex/v1.8.4/cat-file.html#git_oid_tostr-24", - "ex/v1.8.4/cat-file.html#git_oid_tostr-25", - "ex/v1.8.4/cat-file.html#git_oid_tostr-26", - "ex/v1.8.4/cat-file.html#git_oid_tostr-27", - "ex/v1.8.4/cat-file.html#git_oid_tostr-28" + "ex/v1.9.1/cat-file.html#git_oid_tostr-24", + "ex/v1.9.1/cat-file.html#git_oid_tostr-25", + "ex/v1.9.1/cat-file.html#git_oid_tostr-26", + "ex/v1.9.1/cat-file.html#git_oid_tostr-27", + "ex/v1.9.1/cat-file.html#git_oid_tostr-28" ], "log.c": [ - "ex/v1.8.4/log.html#git_oid_tostr-38", - "ex/v1.8.4/log.html#git_oid_tostr-39" + "ex/v1.9.1/log.html#git_oid_tostr-38", + "ex/v1.9.1/log.html#git_oid_tostr-39" ], "rev-parse.c": [ - "ex/v1.8.4/rev-parse.html#git_oid_tostr-10", - "ex/v1.8.4/rev-parse.html#git_oid_tostr-11", - "ex/v1.8.4/rev-parse.html#git_oid_tostr-12", - "ex/v1.8.4/rev-parse.html#git_oid_tostr-13" + "ex/v1.9.1/rev-parse.html#git_oid_tostr-10", + "ex/v1.9.1/rev-parse.html#git_oid_tostr-11", + "ex/v1.9.1/rev-parse.html#git_oid_tostr-12", + "ex/v1.9.1/rev-parse.html#git_oid_tostr-13" ] } }, "git_oid_cpy": { "type": "function", "file": "git2/oid.h", - "line": 260, - "lineto": 260, + "line": 256, + "lineto": 256, "args": [ { "name": "out", @@ -12523,17 +12594,17 @@ "group": "oid", "examples": { "blame.c": [ - "ex/v1.8.4/blame.html#git_oid_cpy-18", - "ex/v1.8.4/blame.html#git_oid_cpy-19", - "ex/v1.8.4/blame.html#git_oid_cpy-20" + "ex/v1.9.1/blame.html#git_oid_cpy-17", + "ex/v1.9.1/blame.html#git_oid_cpy-18", + "ex/v1.9.1/blame.html#git_oid_cpy-19" ] } }, "git_oid_cmp": { "type": "function", "file": "git2/oid.h", - "line": 269, - "lineto": 269, + "line": 265, + "lineto": 265, "args": [ { "name": "a", @@ -12559,8 +12630,8 @@ "git_oid_equal": { "type": "function", "file": "git2/oid.h", - "line": 278, - "lineto": 278, + "line": 274, + "lineto": 274, "args": [ { "name": "a", @@ -12583,8 +12654,8 @@ "git_oid_ncmp": { "type": "function", "file": "git2/oid.h", - "line": 289, - "lineto": 289, + "line": 285, + "lineto": 285, "args": [ { "name": "a", @@ -12612,8 +12683,8 @@ "git_oid_streq": { "type": "function", "file": "git2/oid.h", - "line": 298, - "lineto": 298, + "line": 294, + "lineto": 294, "args": [ { "name": "id", @@ -12639,8 +12710,8 @@ "git_oid_strcmp": { "type": "function", "file": "git2/oid.h", - "line": 308, - "lineto": 308, + "line": 304, + "lineto": 304, "args": [ { "name": "id", @@ -12666,9 +12737,15 @@ "git_oid_is_zero": { "type": "function", "file": "git2/oid.h", - "line": 315, - "lineto": 315, - "args": [{ "name": "id", "type": "const git_oid *", "comment": null }], + "line": 312, + "lineto": 312, + "args": [ + { + "name": "id", + "type": "const git_oid *", + "comment": "the object ID to check" + } + ], "argline": "const git_oid *id", "sig": "const git_oid *", "return": { "type": "int", "comment": " 1 if all zeros, 0 otherwise." }, @@ -12676,15 +12753,15 @@ "comments": "", "group": "oid", "examples": { - "blame.c": ["ex/v1.8.4/blame.html#git_oid_is_zero-21"], - "fetch.c": ["ex/v1.8.4/fetch.html#git_oid_is_zero-3"] + "blame.c": ["ex/v1.9.1/blame.html#git_oid_is_zero-20"], + "fetch.c": ["ex/v1.9.1/fetch.html#git_oid_is_zero-3"] } }, "git_oid_shorten_new": { "type": "function", "file": "git2/oid.h", - "line": 336, - "lineto": 336, + "line": 333, + "lineto": 333, "args": [ { "name": "min_length", @@ -12705,8 +12782,8 @@ "git_oid_shorten_add": { "type": "function", "file": "git2/oid.h", - "line": 362, - "lineto": 362, + "line": 359, + "lineto": 359, "args": [ { "name": "os", @@ -12732,8 +12809,8 @@ "git_oid_shorten_free": { "type": "function", "file": "git2/oid.h", - "line": 369, - "lineto": 369, + "line": 366, + "lineto": 366, "args": [ { "name": "os", @@ -12751,8 +12828,8 @@ "git_oidarray_dispose": { "type": "function", "file": "git2/oidarray.h", - "line": 31, - "lineto": 31, + "line": 38, + "lineto": 38, "args": [ { "name": "array", @@ -13128,8 +13205,8 @@ "git_packbuilder_set_callbacks": { "type": "function", "file": "git2/pack.h", - "line": 253, - "lineto": 256, + "line": 264, + "lineto": 267, "args": [ { "name": "pb", @@ -13139,7 +13216,7 @@ { "name": "progress_cb", "type": "git_packbuilder_progress", - "comment": "Function to call with progress information during\n pack building. Be aware that this is called inline with pack building\n operations, so performance may be affected." + "comment": "Function to call with progress information during\n pack building. Be aware that this is called inline with pack building\n operations, so performance may be affected.\n When progress_cb returns an error, the pack building process will be\n aborted and the error will be returned from the invoked function.\n `pb` must then be freed." }, { "name": "progress_cb_payload", @@ -13157,8 +13234,8 @@ "git_packbuilder_free": { "type": "function", "file": "git2/pack.h", - "line": 263, - "lineto": 263, + "line": 274, + "lineto": 274, "args": [ { "name": "pb", @@ -13371,7 +13448,7 @@ "comments": "

This is just like git_diff_buffers() except it generates a patch object for the difference instead of directly making callbacks. You can use the standard git_patch accessor functions to read the patch data, and you must call git_patch_free() on the patch when done.

\n", "group": "patch", "examples": { - "diff.c": ["ex/v1.8.4/diff.html#git_patch_from_buffers-16"] + "diff.c": ["ex/v1.9.1/diff.html#git_patch_from_buffers-16"] } }, "git_patch_free": { @@ -13392,7 +13469,7 @@ "description": "

Free a git_patch object.

\n", "comments": "", "group": "patch", - "examples": { "diff.c": ["ex/v1.8.4/diff.html#git_patch_free-17"] } + "examples": { "diff.c": ["ex/v1.9.1/diff.html#git_patch_free-17"] } }, "git_patch_get_delta": { "type": "function", @@ -13661,13 +13738,13 @@ "description": "

Get the content of a patch as a single diff text.

\n", "comments": "", "group": "patch", - "examples": { "diff.c": ["ex/v1.8.4/diff.html#git_patch_to_buf-18"] } + "examples": { "diff.c": ["ex/v1.9.1/diff.html#git_patch_to_buf-18"] } }, "git_pathspec_new": { "type": "function", "file": "git2/pathspec.h", - "line": 82, - "lineto": 83, + "line": 89, + "lineto": 90, "args": [ { "name": "out", @@ -13689,13 +13766,13 @@ "description": "

Compile a pathspec

\n", "comments": "", "group": "pathspec", - "examples": { "log.c": ["ex/v1.8.4/log.html#git_pathspec_new-40"] } + "examples": { "log.c": ["ex/v1.9.1/log.html#git_pathspec_new-40"] } }, "git_pathspec_free": { "type": "function", "file": "git2/pathspec.h", - "line": 90, - "lineto": 90, + "line": 97, + "lineto": 97, "args": [ { "name": "ps", @@ -13709,13 +13786,13 @@ "description": "

Free a pathspec

\n", "comments": "", "group": "pathspec", - "examples": { "log.c": ["ex/v1.8.4/log.html#git_pathspec_free-41"] } + "examples": { "log.c": ["ex/v1.9.1/log.html#git_pathspec_free-41"] } }, "git_pathspec_matches_path": { "type": "function", "file": "git2/pathspec.h", - "line": 105, - "lineto": 106, + "line": 112, + "lineto": 113, "args": [ { "name": "ps", @@ -13746,8 +13823,8 @@ "git_pathspec_match_workdir": { "type": "function", "file": "git2/pathspec.h", - "line": 130, - "lineto": 134, + "line": 137, + "lineto": 141, "args": [ { "name": "out", @@ -13783,8 +13860,8 @@ "git_pathspec_match_index": { "type": "function", "file": "git2/pathspec.h", - "line": 159, - "lineto": 163, + "line": 166, + "lineto": 170, "args": [ { "name": "out", @@ -13820,8 +13897,8 @@ "git_pathspec_match_tree": { "type": "function", "file": "git2/pathspec.h", - "line": 183, - "lineto": 187, + "line": 190, + "lineto": 194, "args": [ { "name": "out", @@ -13853,13 +13930,13 @@ "description": "

Match a pathspec against files in a tree.

\n", "comments": "

This matches the pathspec against the files in the given tree.

\n\n

If out is not NULL, this returns a git_patchspec_match_list. That contains the list of all matched filenames (unless you pass the GIT_PATHSPEC_FAILURES_ONLY flag) and may also contain the list of pathspecs with no match (if you used the GIT_PATHSPEC_FIND_FAILURES flag). You must call git_pathspec_match_list_free() on this object.

\n", "group": "pathspec", - "examples": { "log.c": ["ex/v1.8.4/log.html#git_pathspec_match_tree-42"] } + "examples": { "log.c": ["ex/v1.9.1/log.html#git_pathspec_match_tree-42"] } }, "git_pathspec_match_diff": { "type": "function", "file": "git2/pathspec.h", - "line": 207, - "lineto": 211, + "line": 214, + "lineto": 218, "args": [ { "name": "out", @@ -13895,8 +13972,8 @@ "git_pathspec_match_list_free": { "type": "function", "file": "git2/pathspec.h", - "line": 218, - "lineto": 218, + "line": 225, + "lineto": 225, "args": [ { "name": "m", @@ -13914,8 +13991,8 @@ "git_pathspec_match_list_entrycount": { "type": "function", "file": "git2/pathspec.h", - "line": 226, - "lineto": 227, + "line": 233, + "lineto": 234, "args": [ { "name": "m", @@ -13936,8 +14013,8 @@ "git_pathspec_match_list_entry": { "type": "function", "file": "git2/pathspec.h", - "line": 239, - "lineto": 240, + "line": 246, + "lineto": 247, "args": [ { "name": "m", @@ -13963,8 +14040,8 @@ "git_pathspec_match_list_diff_entry": { "type": "function", "file": "git2/pathspec.h", - "line": 252, - "lineto": 253, + "line": 259, + "lineto": 260, "args": [ { "name": "m", @@ -13990,8 +14067,8 @@ "git_pathspec_match_list_failed_entrycount": { "type": "function", "file": "git2/pathspec.h", - "line": 264, - "lineto": 265, + "line": 271, + "lineto": 272, "args": [ { "name": "m", @@ -14012,8 +14089,8 @@ "git_pathspec_match_list_failed_entry": { "type": "function", "file": "git2/pathspec.h", - "line": 276, - "lineto": 277, + "line": 283, + "lineto": 284, "args": [ { "name": "m", @@ -14039,8 +14116,8 @@ "git_proxy_options_init": { "type": "function", "file": "git2/proxy.h", - "line": 94, - "lineto": 94, + "line": 103, + "lineto": 103, "args": [ { "name": "opts", @@ -14066,8 +14143,8 @@ "git_rebase_options_init": { "type": "function", "file": "git2/rebase.h", - "line": 199, - "lineto": 201, + "line": 201, + "lineto": 203, "args": [ { "name": "opts", @@ -14093,8 +14170,8 @@ "git_rebase_init": { "type": "function", "file": "git2/rebase.h", - "line": 220, - "lineto": 226, + "line": 222, + "lineto": 228, "args": [ { "name": "out", @@ -14140,8 +14217,8 @@ "git_rebase_open": { "type": "function", "file": "git2/rebase.h", - "line": 237, - "lineto": 240, + "line": 239, + "lineto": 242, "args": [ { "name": "out", @@ -14172,8 +14249,8 @@ "git_rebase_orig_head_name": { "type": "function", "file": "git2/rebase.h", - "line": 248, - "lineto": 248, + "line": 250, + "lineto": 250, "args": [ { "name": "rebase", @@ -14194,8 +14271,8 @@ "git_rebase_orig_head_id": { "type": "function", "file": "git2/rebase.h", - "line": 256, - "lineto": 256, + "line": 258, + "lineto": 258, "args": [ { "name": "rebase", @@ -14216,8 +14293,8 @@ "git_rebase_onto_name": { "type": "function", "file": "git2/rebase.h", - "line": 264, - "lineto": 264, + "line": 266, + "lineto": 266, "args": [ { "name": "rebase", @@ -14235,8 +14312,8 @@ "git_rebase_onto_id": { "type": "function", "file": "git2/rebase.h", - "line": 272, - "lineto": 272, + "line": 274, + "lineto": 274, "args": [ { "name": "rebase", @@ -14254,8 +14331,8 @@ "git_rebase_operation_entrycount": { "type": "function", "file": "git2/rebase.h", - "line": 280, - "lineto": 280, + "line": 282, + "lineto": 282, "args": [ { "name": "rebase", @@ -14276,8 +14353,8 @@ "git_rebase_operation_current": { "type": "function", "file": "git2/rebase.h", - "line": 291, - "lineto": 291, + "line": 293, + "lineto": 293, "args": [ { "name": "rebase", @@ -14298,8 +14375,8 @@ "git_rebase_operation_byindex": { "type": "function", "file": "git2/rebase.h", - "line": 300, - "lineto": 302, + "line": 302, + "lineto": 304, "args": [ { "name": "rebase", @@ -14325,8 +14402,8 @@ "git_rebase_next": { "type": "function", "file": "git2/rebase.h", - "line": 315, - "lineto": 317, + "line": 317, + "lineto": 319, "args": [ { "name": "operation", @@ -14352,8 +14429,8 @@ "git_rebase_inmemory_index": { "type": "function", "file": "git2/rebase.h", - "line": 334, - "lineto": 336, + "line": 336, + "lineto": 338, "args": [ { "name": "index", @@ -14376,8 +14453,8 @@ "git_rebase_commit": { "type": "function", "file": "git2/rebase.h", - "line": 360, - "lineto": 366, + "line": 362, + "lineto": 368, "args": [ { "name": "id", @@ -14423,8 +14500,8 @@ "git_rebase_abort": { "type": "function", "file": "git2/rebase.h", - "line": 376, - "lineto": 376, + "line": 378, + "lineto": 378, "args": [ { "name": "rebase", @@ -14445,8 +14522,8 @@ "git_rebase_finish": { "type": "function", "file": "git2/rebase.h", - "line": 386, - "lineto": 388, + "line": 388, + "lineto": 390, "args": [ { "name": "rebase", @@ -14469,8 +14546,8 @@ "git_rebase_free": { "type": "function", "file": "git2/rebase.h", - "line": 395, - "lineto": 395, + "line": 397, + "lineto": 397, "args": [ { "name": "rebase", @@ -14921,11 +14998,11 @@ "group": "reference", "examples": { "checkout.c": [ - "ex/v1.8.4/checkout.html#git_reference_lookup-15", - "ex/v1.8.4/checkout.html#git_reference_lookup-16" + "ex/v1.9.1/checkout.html#git_reference_lookup-15", + "ex/v1.9.1/checkout.html#git_reference_lookup-16" ], - "general.c": ["ex/v1.8.4/general.html#git_reference_lookup-53"], - "merge.c": ["ex/v1.8.4/merge.html#git_reference_lookup-21"] + "general.c": ["ex/v1.9.1/general.html#git_reference_lookup-69"], + "merge.c": ["ex/v1.9.1/merge.html#git_reference_lookup-21"] } }, "git_reference_name_to_id": { @@ -14988,7 +15065,7 @@ "description": "

Lookup a reference by DWIMing its short name

\n", "comments": "

Apply the git precedence rules to the given shorthand to determine which reference the user is referring to.

\n", "group": "reference", - "examples": { "merge.c": ["ex/v1.8.4/merge.html#git_reference_dwim-22"] } + "examples": { "merge.c": ["ex/v1.9.1/merge.html#git_reference_dwim-22"] } }, "git_reference_symbolic_create_matching": { "type": "function", @@ -15136,7 +15213,7 @@ "comments": "

A direct reference (also called an object id reference) refers directly to a specific object id (a.k.a. OID or SHA) in the repository. The id permanently refers to the object (although the reference itself can be moved). For example, in libgit2 the direct ref "refs/tags/v0.17.0" refers to OID 5b9fac39d8a76b9139667c26a63e6b3f204b3977.

\n\n

The direct reference will be created in the repository and written to the disk. The generated reference object must be freed by the user.

\n\n

Valid reference names must follow one of two patterns:

\n\n
    \n
  1. Top-level names must contain only capital letters and underscores, and must begin and end with a letter. (e.g. "HEAD", "ORIG_HEAD"). 2. Names prefixed with "refs/" can be almost anything. You must avoid the characters '~', '^', ':', '\\', '?', '[', and '*', and the sequences ".." and "@{" which have special meaning to revparse.
  2. \n
\n\n

This function will return an error if a reference already exists with the given name unless force is true, in which case it will be overwritten.

\n\n

The message for the reflog will be ignored if the reference does not belong in the standard set (HEAD, branches and remote-tracking branches) and it does not have a reflog.

\n", "group": "reference", "examples": { - "merge.c": ["ex/v1.8.4/merge.html#git_reference_create-23"] + "merge.c": ["ex/v1.9.1/merge.html#git_reference_create-23"] } }, "git_reference_create_matching": { @@ -15213,7 +15290,7 @@ "comments": "

Only available if the reference is direct (i.e. an object id reference, not a symbolic one).

\n\n

To find the OID of a symbolic ref, call git_reference_resolve() and then this function (or maybe use git_reference_name_to_id() to directly resolve a reference name all the way through to an OID).

\n", "group": "reference", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_reference_target-54"] + "general.c": ["ex/v1.9.1/general.html#git_reference_target-70"] } }, "git_reference_target_peel": { @@ -15261,9 +15338,9 @@ "group": "reference", "examples": { "general.c": [ - "ex/v1.8.4/general.html#git_reference_symbolic_target-55" + "ex/v1.9.1/general.html#git_reference_symbolic_target-71" ], - "merge.c": ["ex/v1.8.4/merge.html#git_reference_symbolic_target-24"] + "merge.c": ["ex/v1.9.1/merge.html#git_reference_symbolic_target-24"] } }, "git_reference_type": { @@ -15285,7 +15362,7 @@ "comments": "

Either direct (GIT_REFERENCE_DIRECT) or symbolic (GIT_REFERENCE_SYMBOLIC)

\n", "group": "reference", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_reference_type-56"] + "general.c": ["ex/v1.9.1/general.html#git_reference_type-72"] } }, "git_reference_name": { @@ -15310,8 +15387,8 @@ "comments": "

See git_reference_symbolic_create() for rules about valid names.

\n", "group": "reference", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_reference_name-17"], - "merge.c": ["ex/v1.8.4/merge.html#git_reference_name-25"] + "checkout.c": ["ex/v1.9.1/checkout.html#git_reference_name-17"], + "merge.c": ["ex/v1.9.1/merge.html#git_reference_name-25"] } }, "git_reference_resolve": { @@ -15434,16 +15511,20 @@ "comments": "

The new reference will be written to disk, overwriting the given reference.

\n", "group": "reference", "examples": { - "merge.c": ["ex/v1.8.4/merge.html#git_reference_set_target-26"] + "merge.c": ["ex/v1.9.1/merge.html#git_reference_set_target-26"] } }, "git_reference_rename": { "type": "function", "file": "git2/refs.h", - "line": 381, - "lineto": 386, + "line": 382, + "lineto": 387, "args": [ - { "name": "new_ref", "type": "git_reference **", "comment": null }, + { + "name": "new_ref", + "type": "git_reference **", + "comment": "The new reference" + }, { "name": "ref", "type": "git_reference *", @@ -15478,8 +15559,8 @@ "git_reference_delete": { "type": "function", "file": "git2/refs.h", - "line": 401, - "lineto": 401, + "line": 402, + "lineto": 402, "args": [ { "name": "ref", @@ -15500,10 +15581,14 @@ "git_reference_remove": { "type": "function", "file": "git2/refs.h", - "line": 412, - "lineto": 412, + "line": 414, + "lineto": 414, "args": [ - { "name": "repo", "type": "git_repository *", "comment": null }, + { + "name": "repo", + "type": "git_repository *", + "comment": "The repository to remove the reference from" + }, { "name": "name", "type": "const char *", @@ -15520,8 +15605,8 @@ "git_reference_list": { "type": "function", "file": "git2/refs.h", - "line": 426, - "lineto": 426, + "line": 428, + "lineto": 428, "args": [ { "name": "array", @@ -15541,14 +15626,14 @@ "comments": "

The string array will be filled with the names of all references; these values are owned by the user and should be free'd manually when no longer needed, using git_strarray_free().

\n", "group": "reference", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_reference_list-57"] + "general.c": ["ex/v1.9.1/general.html#git_reference_list-73"] } }, "git_reference_foreach": { "type": "function", "file": "git2/refs.h", - "line": 466, - "lineto": 469, + "line": 468, + "lineto": 471, "args": [ { "name": "repo", @@ -15579,8 +15664,8 @@ "git_reference_foreach_name": { "type": "function", "file": "git2/refs.h", - "line": 484, - "lineto": 487, + "line": 486, + "lineto": 489, "args": [ { "name": "repo", @@ -15611,8 +15696,8 @@ "git_reference_dup": { "type": "function", "file": "git2/refs.h", - "line": 498, - "lineto": 498, + "line": 500, + "lineto": 500, "args": [ { "name": "dest", @@ -15635,8 +15720,8 @@ "git_reference_free": { "type": "function", "file": "git2/refs.h", - "line": 505, - "lineto": 505, + "line": 507, + "lineto": 507, "args": [ { "name": "ref", "type": "git_reference *", "comment": "git_reference" } ], @@ -15648,25 +15733,25 @@ "group": "reference", "examples": { "checkout.c": [ - "ex/v1.8.4/checkout.html#git_reference_free-18", - "ex/v1.8.4/checkout.html#git_reference_free-19", - "ex/v1.8.4/checkout.html#git_reference_free-20" + "ex/v1.9.1/checkout.html#git_reference_free-18", + "ex/v1.9.1/checkout.html#git_reference_free-19", + "ex/v1.9.1/checkout.html#git_reference_free-20" ], - "commit.c": ["ex/v1.8.4/commit.html#git_reference_free-7"], - "general.c": ["ex/v1.8.4/general.html#git_reference_free-58"], + "commit.c": ["ex/v1.9.1/commit.html#git_reference_free-7"], + "general.c": ["ex/v1.9.1/general.html#git_reference_free-74"], "merge.c": [ - "ex/v1.8.4/merge.html#git_reference_free-27", - "ex/v1.8.4/merge.html#git_reference_free-28", - "ex/v1.8.4/merge.html#git_reference_free-29" + "ex/v1.9.1/merge.html#git_reference_free-27", + "ex/v1.9.1/merge.html#git_reference_free-28", + "ex/v1.9.1/merge.html#git_reference_free-29" ], - "status.c": ["ex/v1.8.4/status.html#git_reference_free-1"] + "status.c": ["ex/v1.9.1/status.html#git_reference_free-1"] } }, "git_reference_cmp": { "type": "function", "file": "git2/refs.h", - "line": 514, - "lineto": 516, + "line": 516, + "lineto": 518, "args": [ { "name": "ref1", @@ -15692,8 +15777,8 @@ "git_reference_iterator_new": { "type": "function", "file": "git2/refs.h", - "line": 525, - "lineto": 527, + "line": 527, + "lineto": 529, "args": [ { "name": "out", @@ -15716,8 +15801,8 @@ "git_reference_iterator_glob_new": { "type": "function", "file": "git2/refs.h", - "line": 538, - "lineto": 541, + "line": 540, + "lineto": 543, "args": [ { "name": "out", @@ -15745,8 +15830,8 @@ "git_reference_next": { "type": "function", "file": "git2/refs.h", - "line": 550, - "lineto": 550, + "line": 552, + "lineto": 552, "args": [ { "name": "out", @@ -15772,8 +15857,8 @@ "git_reference_next_name": { "type": "function", "file": "git2/refs.h", - "line": 563, - "lineto": 563, + "line": 565, + "lineto": 565, "args": [ { "name": "out", @@ -15799,8 +15884,8 @@ "git_reference_iterator_free": { "type": "function", "file": "git2/refs.h", - "line": 570, - "lineto": 570, + "line": 572, + "lineto": 572, "args": [ { "name": "iter", @@ -15818,8 +15903,8 @@ "git_reference_foreach_glob": { "type": "function", "file": "git2/refs.h", - "line": 590, - "lineto": 594, + "line": 592, + "lineto": 596, "args": [ { "name": "repo", @@ -15855,8 +15940,8 @@ "git_reference_has_log": { "type": "function", "file": "git2/refs.h", - "line": 604, - "lineto": 604, + "line": 606, + "lineto": 606, "args": [ { "name": "repo", @@ -15882,8 +15967,8 @@ "git_reference_ensure_log": { "type": "function", "file": "git2/refs.h", - "line": 616, - "lineto": 616, + "line": 618, + "lineto": 618, "args": [ { "name": "repo", @@ -15906,8 +15991,8 @@ "git_reference_is_branch": { "type": "function", "file": "git2/refs.h", - "line": 626, - "lineto": 626, + "line": 628, + "lineto": 628, "args": [ { "name": "ref", @@ -15928,8 +16013,8 @@ "git_reference_is_remote": { "type": "function", "file": "git2/refs.h", - "line": 636, - "lineto": 636, + "line": 638, + "lineto": 638, "args": [ { "name": "ref", @@ -15947,14 +16032,14 @@ "comments": "", "group": "reference", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_reference_is_remote-21"] + "checkout.c": ["ex/v1.9.1/checkout.html#git_reference_is_remote-21"] } }, "git_reference_is_tag": { "type": "function", "file": "git2/refs.h", - "line": 646, - "lineto": 646, + "line": 648, + "lineto": 648, "args": [ { "name": "ref", @@ -15975,8 +16060,8 @@ "git_reference_is_note": { "type": "function", "file": "git2/refs.h", - "line": 656, - "lineto": 656, + "line": 658, + "lineto": 658, "args": [ { "name": "ref", @@ -15997,8 +16082,8 @@ "git_reference_normalize_name": { "type": "function", "file": "git2/refs.h", - "line": 712, - "lineto": 716, + "line": 714, + "lineto": 718, "args": [ { "name": "buffer_out", @@ -16034,8 +16119,8 @@ "git_reference_peel": { "type": "function", "file": "git2/refs.h", - "line": 733, - "lineto": 736, + "line": 735, + "lineto": 738, "args": [ { "name": "out", @@ -16062,13 +16147,13 @@ "description": "

Recursively peel reference until object of the specified type is found.

\n", "comments": "

The retrieved peeled object is owned by the repository and should be closed with the git_object_free method.

\n\n

If you pass GIT_OBJECT_ANY as the target type, then the object will be peeled until a non-tag object is met.

\n", "group": "reference", - "examples": { "merge.c": ["ex/v1.8.4/merge.html#git_reference_peel-30"] } + "examples": { "merge.c": ["ex/v1.9.1/merge.html#git_reference_peel-30"] } }, "git_reference_name_is_valid": { "type": "function", "file": "git2/refs.h", - "line": 753, - "lineto": 753, + "line": 755, + "lineto": 755, "args": [ { "name": "valid", @@ -16091,8 +16176,8 @@ "git_reference_shorthand": { "type": "function", "file": "git2/refs.h", - "line": 767, - "lineto": 767, + "line": 769, + "lineto": 769, "args": [ { "name": "ref", @@ -16110,7 +16195,7 @@ "comments": "

This will transform the reference name into a name "human-readable" version. If no shortname is appropriate, it will return the full name.

\n\n

The memory is owned by the reference and must not be freed.

\n", "group": "reference", "examples": { - "status.c": ["ex/v1.8.4/status.html#git_reference_shorthand-2"] + "status.c": ["ex/v1.9.1/status.html#git_reference_shorthand-2"] } }, "git_refspec_parse": { @@ -16270,7 +16355,7 @@ "comments": "", "group": "refspec" }, - "git_refspec_src_matches": { + "git_refspec_src_matches_negative": { "type": "function", "file": "git2/refspec.h", "line": 88, @@ -16293,11 +16378,11 @@ "type": "int", "comment": " 1 if the refspec matches, 0 otherwise" }, - "description": "

Check if a refspec's source descriptor matches a reference

\n", + "description": "

Check if a refspec's source descriptor matches a negative reference

\n", "comments": "", "group": "refspec" }, - "git_refspec_dst_matches": { + "git_refspec_src_matches": { "type": "function", "file": "git2/refspec.h", "line": 97, @@ -16320,6 +16405,33 @@ "type": "int", "comment": " 1 if the refspec matches, 0 otherwise" }, + "description": "

Check if a refspec's source descriptor matches a reference

\n", + "comments": "", + "group": "refspec" + }, + "git_refspec_dst_matches": { + "type": "function", + "file": "git2/refspec.h", + "line": 106, + "lineto": 106, + "args": [ + { + "name": "refspec", + "type": "const git_refspec *", + "comment": "the refspec" + }, + { + "name": "refname", + "type": "const char *", + "comment": "the name of the reference to check" + } + ], + "argline": "const git_refspec *refspec, const char *refname", + "sig": "const git_refspec *::const char *", + "return": { + "type": "int", + "comment": " 1 if the refspec matches, 0 otherwise" + }, "description": "

Check if a refspec's destination descriptor matches a reference

\n", "comments": "", "group": "refspec" @@ -16327,8 +16439,8 @@ "git_refspec_transform": { "type": "function", "file": "git2/refspec.h", - "line": 107, - "lineto": 107, + "line": 116, + "lineto": 116, "args": [ { "name": "out", @@ -16356,8 +16468,8 @@ "git_refspec_rtransform": { "type": "function", "file": "git2/refspec.h", - "line": 117, - "lineto": 117, + "line": 126, + "lineto": 126, "args": [ { "name": "out", @@ -16380,7 +16492,10 @@ "return": { "type": "int", "comment": " 0, GIT_EBUFS or another error" }, "description": "

Transform a target reference to its source reference following the refspec's rules

\n", "comments": "", - "group": "refspec" + "group": "refspec", + "examples": { + "fetch.c": ["ex/v1.9.1/fetch.html#git_refspec_rtransform-4"] + } }, "git_remote_create": { "type": "function", @@ -16414,13 +16529,13 @@ "description": "

Add a remote with the default fetch refspec to the repository's configuration.

\n", "comments": "", "group": "remote", - "examples": { "remote.c": ["ex/v1.8.4/remote.html#git_remote_create-1"] } + "examples": { "remote.c": ["ex/v1.9.1/remote.html#git_remote_create-1"] } }, "git_remote_create_options_init": { "type": "function", "file": "git2/remote.h", - "line": 132, - "lineto": 134, + "line": 135, + "lineto": 137, "args": [ { "name": "opts", @@ -16446,8 +16561,8 @@ "git_remote_create_with_opts": { "type": "function", "file": "git2/remote.h", - "line": 148, - "lineto": 151, + "line": 151, + "lineto": 154, "args": [ { "name": "out", @@ -16478,8 +16593,8 @@ "git_remote_create_with_fetchspec": { "type": "function", "file": "git2/remote.h", - "line": 164, - "lineto": 169, + "line": 167, + "lineto": 172, "args": [ { "name": "out", @@ -16520,8 +16635,8 @@ "git_remote_create_anonymous": { "type": "function", "file": "git2/remote.h", - "line": 182, - "lineto": 185, + "line": 185, + "lineto": 188, "args": [ { "name": "out", @@ -16546,17 +16661,17 @@ "comments": "

Create a remote with the given url in-memory. You can use this when you have a URL instead of a remote's name.

\n", "group": "remote", "examples": { - "fetch.c": ["ex/v1.8.4/fetch.html#git_remote_create_anonymous-4"], + "fetch.c": ["ex/v1.9.1/fetch.html#git_remote_create_anonymous-5"], "ls-remote.c": [ - "ex/v1.8.4/ls-remote.html#git_remote_create_anonymous-2" + "ex/v1.9.1/ls-remote.html#git_remote_create_anonymous-2" ] } }, "git_remote_create_detached": { "type": "function", "file": "git2/remote.h", - "line": 201, - "lineto": 203, + "line": 204, + "lineto": 206, "args": [ { "name": "out", @@ -16579,8 +16694,8 @@ "git_remote_lookup": { "type": "function", "file": "git2/remote.h", - "line": 216, - "lineto": 216, + "line": 219, + "lineto": 219, "args": [ { "name": "out", @@ -16608,17 +16723,17 @@ "comments": "

The name will be checked for validity. See git_tag_create() for rules about valid names.

\n", "group": "remote", "examples": { - "fetch.c": ["ex/v1.8.4/fetch.html#git_remote_lookup-5"], - "ls-remote.c": ["ex/v1.8.4/ls-remote.html#git_remote_lookup-3"], - "push.c": ["ex/v1.8.4/push.html#git_remote_lookup-1"], - "remote.c": ["ex/v1.8.4/remote.html#git_remote_lookup-2"] + "fetch.c": ["ex/v1.9.1/fetch.html#git_remote_lookup-6"], + "ls-remote.c": ["ex/v1.9.1/ls-remote.html#git_remote_lookup-3"], + "push.c": ["ex/v1.9.1/push.html#git_remote_lookup-1"], + "remote.c": ["ex/v1.9.1/remote.html#git_remote_lookup-2"] } }, "git_remote_dup": { "type": "function", "file": "git2/remote.h", - "line": 228, - "lineto": 228, + "line": 231, + "lineto": 231, "args": [ { "name": "dest", @@ -16641,8 +16756,8 @@ "git_remote_owner": { "type": "function", "file": "git2/remote.h", - "line": 236, - "lineto": 236, + "line": 239, + "lineto": 239, "args": [ { "name": "remote", @@ -16663,8 +16778,8 @@ "git_remote_name": { "type": "function", "file": "git2/remote.h", - "line": 244, - "lineto": 244, + "line": 247, + "lineto": 247, "args": [ { "name": "remote", @@ -16685,8 +16800,8 @@ "git_remote_url": { "type": "function", "file": "git2/remote.h", - "line": 256, - "lineto": 256, + "line": 259, + "lineto": 259, "args": [ { "name": "remote", @@ -16698,15 +16813,15 @@ "sig": "const git_remote *", "return": { "type": "const char *", "comment": " a pointer to the url" }, "description": "

Get the remote's url

\n", - "comments": "

If url.*.insteadOf has been configured for this URL, it will return the modified URL. If git_remote_set_instance_pushurl has been called for this remote, then that URL will be returned.

\n", + "comments": "

If url.*.insteadOf has been configured for this URL, it will return the modified URL. This function does not consider if a push url has been configured for this remote (use git_remote_pushurl if needed).

\n", "group": "remote", - "examples": { "remote.c": ["ex/v1.8.4/remote.html#git_remote_url-3"] } + "examples": { "remote.c": ["ex/v1.9.1/remote.html#git_remote_url-3"] } }, "git_remote_pushurl": { "type": "function", "file": "git2/remote.h", - "line": 268, - "lineto": 268, + "line": 271, + "lineto": 271, "args": [ { "name": "remote", @@ -16723,13 +16838,13 @@ "description": "

Get the remote's url for pushing.

\n", "comments": "

If url.*.pushInsteadOf has been configured for this URL, it will return the modified URL. If git_remote_set_instance_pushurl has been called for this remote, then that URL will be returned.

\n", "group": "remote", - "examples": { "remote.c": ["ex/v1.8.4/remote.html#git_remote_pushurl-4"] } + "examples": { "remote.c": ["ex/v1.9.1/remote.html#git_remote_pushurl-4"] } }, "git_remote_set_url": { "type": "function", "file": "git2/remote.h", - "line": 281, - "lineto": 281, + "line": 284, + "lineto": 284, "args": [ { "name": "repo", @@ -16749,13 +16864,13 @@ "description": "

Set the remote's url in the configuration

\n", "comments": "

Remote objects already in memory will not be affected. This assumes the common case of a single-url remote and will otherwise return an error.

\n", "group": "remote", - "examples": { "remote.c": ["ex/v1.8.4/remote.html#git_remote_set_url-5"] } + "examples": { "remote.c": ["ex/v1.9.1/remote.html#git_remote_set_url-5"] } }, "git_remote_set_pushurl": { "type": "function", "file": "git2/remote.h", - "line": 295, - "lineto": 295, + "line": 298, + "lineto": 298, "args": [ { "name": "repo", @@ -16776,14 +16891,14 @@ "comments": "

Remote objects already in memory will not be affected. This assumes the common case of a single-url remote and will otherwise return an error.

\n", "group": "remote", "examples": { - "remote.c": ["ex/v1.8.4/remote.html#git_remote_set_pushurl-6"] + "remote.c": ["ex/v1.9.1/remote.html#git_remote_set_pushurl-6"] } }, "git_remote_set_instance_url": { "type": "function", "file": "git2/remote.h", - "line": 305, - "lineto": 305, + "line": 308, + "lineto": 308, "args": [ { "name": "remote", @@ -16802,8 +16917,8 @@ "git_remote_set_instance_pushurl": { "type": "function", "file": "git2/remote.h", - "line": 315, - "lineto": 315, + "line": 318, + "lineto": 318, "args": [ { "name": "remote", @@ -16822,8 +16937,8 @@ "git_remote_add_fetch": { "type": "function", "file": "git2/remote.h", - "line": 328, - "lineto": 328, + "line": 331, + "lineto": 331, "args": [ { "name": "repo", @@ -16854,8 +16969,8 @@ "git_remote_get_fetch_refspecs": { "type": "function", "file": "git2/remote.h", - "line": 340, - "lineto": 340, + "line": 343, + "lineto": 343, "args": [ { "name": "array", @@ -16878,8 +16993,8 @@ "git_remote_add_push": { "type": "function", "file": "git2/remote.h", - "line": 353, - "lineto": 353, + "line": 356, + "lineto": 356, "args": [ { "name": "repo", @@ -16910,8 +17025,8 @@ "git_remote_get_push_refspecs": { "type": "function", "file": "git2/remote.h", - "line": 365, - "lineto": 365, + "line": 368, + "lineto": 368, "args": [ { "name": "array", @@ -16934,8 +17049,8 @@ "git_remote_refspec_count": { "type": "function", "file": "git2/remote.h", - "line": 373, - "lineto": 373, + "line": 376, + "lineto": 376, "args": [ { "name": "remote", @@ -16956,8 +17071,8 @@ "git_remote_get_refspec": { "type": "function", "file": "git2/remote.h", - "line": 382, - "lineto": 382, + "line": 385, + "lineto": 385, "args": [ { "name": "remote", @@ -16979,8 +17094,8 @@ "git_remote_ls": { "type": "function", "file": "git2/remote.h", - "line": 404, - "lineto": 404, + "line": 407, + "lineto": 407, "args": [ { "name": "out", @@ -17001,14 +17116,14 @@ "comments": "

Get the list of references with which the server responds to a new connection.

\n\n

The remote (or more exactly its transport) must have connected to the remote repository. This list is available as soon as the connection to the remote is initiated and it remains available after disconnecting.

\n\n

The memory belongs to the remote. The pointer will be valid as long as a new connection is not initiated, but it is recommended that you make a copy in order to make use of the data.

\n", "group": "remote", "examples": { - "ls-remote.c": ["ex/v1.8.4/ls-remote.html#git_remote_ls-4"] + "ls-remote.c": ["ex/v1.9.1/ls-remote.html#git_remote_ls-4"] } }, "git_remote_connected": { "type": "function", "file": "git2/remote.h", - "line": 415, - "lineto": 415, + "line": 418, + "lineto": 418, "args": [ { "name": "remote", @@ -17029,8 +17144,8 @@ "git_remote_stop": { "type": "function", "file": "git2/remote.h", - "line": 426, - "lineto": 426, + "line": 429, + "lineto": 429, "args": [ { "name": "remote", "type": "git_remote *", "comment": "the remote" } ], @@ -17044,8 +17159,8 @@ "git_remote_disconnect": { "type": "function", "file": "git2/remote.h", - "line": 436, - "lineto": 436, + "line": 439, + "lineto": 439, "args": [ { "name": "remote", @@ -17063,8 +17178,8 @@ "git_remote_free": { "type": "function", "file": "git2/remote.h", - "line": 446, - "lineto": 446, + "line": 449, + "lineto": 449, "args": [ { "name": "remote", @@ -17080,18 +17195,18 @@ "group": "remote", "examples": { "fetch.c": [ - "ex/v1.8.4/fetch.html#git_remote_free-6", - "ex/v1.8.4/fetch.html#git_remote_free-7" + "ex/v1.9.1/fetch.html#git_remote_free-7", + "ex/v1.9.1/fetch.html#git_remote_free-8" ], - "ls-remote.c": ["ex/v1.8.4/ls-remote.html#git_remote_free-5"], - "remote.c": ["ex/v1.8.4/remote.html#git_remote_free-7"] + "ls-remote.c": ["ex/v1.9.1/ls-remote.html#git_remote_free-5"], + "remote.c": ["ex/v1.9.1/remote.html#git_remote_free-7"] } }, "git_remote_list": { "type": "function", "file": "git2/remote.h", - "line": 457, - "lineto": 457, + "line": 460, + "lineto": 460, "args": [ { "name": "out", @@ -17111,15 +17226,15 @@ "comments": "

The string array must be freed by the user.

\n", "group": "remote", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_remote_list-22"], - "remote.c": ["ex/v1.8.4/remote.html#git_remote_list-8"] + "checkout.c": ["ex/v1.9.1/checkout.html#git_remote_list-22"], + "remote.c": ["ex/v1.9.1/remote.html#git_remote_list-8"] } }, "git_remote_init_callbacks": { "type": "function", "file": "git2/remote.h", - "line": 671, - "lineto": 673, + "line": 714, + "lineto": 716, "args": [ { "name": "opts", @@ -17142,14 +17257,14 @@ "comments": "", "group": "remote", "examples": { - "push.c": ["ex/v1.8.4/push.html#git_remote_init_callbacks-2"] + "push.c": ["ex/v1.9.1/push.html#git_remote_init_callbacks-2"] } }, "git_fetch_options_init": { "type": "function", "file": "git2/remote.h", - "line": 806, - "lineto": 808, + "line": 852, + "lineto": 854, "args": [ { "name": "opts", @@ -17175,8 +17290,8 @@ "git_push_options_init": { "type": "function", "file": "git2/remote.h", - "line": 868, - "lineto": 870, + "line": 917, + "lineto": 919, "args": [ { "name": "opts", @@ -17198,13 +17313,13 @@ "description": "

Initialize git_push_options structure

\n", "comments": "

Initializes a git_push_options with default values. Equivalent to creating an instance with GIT_PUSH_OPTIONS_INIT.

\n", "group": "push", - "examples": { "push.c": ["ex/v1.8.4/push.html#git_push_options_init-3"] } + "examples": { "push.c": ["ex/v1.9.1/push.html#git_push_options_init-3"] } }, "git_remote_connect_options_init": { "type": "function", "file": "git2/remote.h", - "line": 916, - "lineto": 918, + "line": 968, + "lineto": 970, "args": [ { "name": "opts", @@ -17230,8 +17345,8 @@ "git_remote_connect": { "type": "function", "file": "git2/remote.h", - "line": 935, - "lineto": 940, + "line": 987, + "lineto": 992, "args": [ { "name": "remote", @@ -17266,14 +17381,14 @@ "comments": "

The transport is selected based on the URL; the direction argument is due to a limitation of the git protocol which starts up a specific binary which can only do the one or the other.

\n", "group": "remote", "examples": { - "ls-remote.c": ["ex/v1.8.4/ls-remote.html#git_remote_connect-6"] + "ls-remote.c": ["ex/v1.9.1/ls-remote.html#git_remote_connect-6"] } }, "git_remote_connect_ext": { "type": "function", "file": "git2/remote.h", - "line": 960, - "lineto": 963, + "line": 1012, + "lineto": 1015, "args": [ { "name": "remote", @@ -17301,8 +17416,8 @@ "git_remote_download": { "type": "function", "file": "git2/remote.h", - "line": 985, - "lineto": 988, + "line": 1037, + "lineto": 1040, "args": [ { "name": "remote", "type": "git_remote *", "comment": "the remote" }, { @@ -17326,8 +17441,8 @@ "git_remote_upload": { "type": "function", "file": "git2/remote.h", - "line": 1007, - "lineto": 1010, + "line": 1059, + "lineto": 1062, "args": [ { "name": "remote", "type": "git_remote *", "comment": "the remote" }, { @@ -17351,8 +17466,8 @@ "git_remote_update_tips": { "type": "function", "file": "git2/remote.h", - "line": 1029, - "lineto": 1034, + "line": 1081, + "lineto": 1086, "args": [ { "name": "remote", @@ -17390,8 +17505,8 @@ "git_remote_fetch": { "type": "function", "file": "git2/remote.h", - "line": 1054, - "lineto": 1058, + "line": 1106, + "lineto": 1110, "args": [ { "name": "remote", @@ -17420,13 +17535,13 @@ "description": "

Download new data and update tips.

\n", "comments": "

Convenience function to connect to a remote, download the data, disconnect and update the remote-tracking branches.

\n\n

If options are specified and this remote is already connected then the existing remote connection options will be discarded and the remote will now use the new options.

\n", "group": "remote", - "examples": { "fetch.c": ["ex/v1.8.4/fetch.html#git_remote_fetch-8"] } + "examples": { "fetch.c": ["ex/v1.9.1/fetch.html#git_remote_fetch-9"] } }, "git_remote_prune": { "type": "function", "file": "git2/remote.h", - "line": 1070, - "lineto": 1072, + "line": 1122, + "lineto": 1124, "args": [ { "name": "remote", @@ -17449,8 +17564,8 @@ "git_remote_push": { "type": "function", "file": "git2/remote.h", - "line": 1087, - "lineto": 1090, + "line": 1139, + "lineto": 1142, "args": [ { "name": "remote", @@ -17474,27 +17589,36 @@ "description": "

Perform a push.

\n", "comments": "

If options are specified and this remote is already connected then the existing remote connection options will be discarded and the remote will now use the new options.

\n", "group": "remote", - "examples": { "push.c": ["ex/v1.8.4/push.html#git_remote_push-4"] } + "examples": { "push.c": ["ex/v1.9.1/push.html#git_remote_push-4"] } }, "git_remote_stats": { "type": "function", "file": "git2/remote.h", - "line": 1095, - "lineto": 1095, - "args": [{ "name": "remote", "type": "git_remote *", "comment": null }], + "line": 1150, + "lineto": 1150, + "args": [ + { + "name": "remote", + "type": "git_remote *", + "comment": "the remote to get statistics for" + } + ], "argline": "git_remote *remote", "sig": "git_remote *", - "return": { "type": "const git_indexer_progress *", "comment": null }, + "return": { + "type": "const git_indexer_progress *", + "comment": " the git_indexer_progress for the remote" + }, "description": "

Get the statistics structure that is filled in by the fetch operation.

\n", "comments": "", "group": "remote", - "examples": { "fetch.c": ["ex/v1.8.4/fetch.html#git_remote_stats-9"] } + "examples": { "fetch.c": ["ex/v1.9.1/fetch.html#git_remote_stats-10"] } }, "git_remote_autotag": { "type": "function", "file": "git2/remote.h", - "line": 1103, - "lineto": 1103, + "line": 1158, + "lineto": 1158, "args": [ { "name": "remote", @@ -17515,8 +17639,8 @@ "git_remote_set_autotag": { "type": "function", "file": "git2/remote.h", - "line": 1116, - "lineto": 1116, + "line": 1171, + "lineto": 1171, "args": [ { "name": "repo", @@ -17544,8 +17668,8 @@ "git_remote_prune_refs": { "type": "function", "file": "git2/remote.h", - "line": 1124, - "lineto": 1124, + "line": 1179, + "lineto": 1179, "args": [ { "name": "remote", @@ -17563,8 +17687,8 @@ "git_remote_rename": { "type": "function", "file": "git2/remote.h", - "line": 1146, - "lineto": 1150, + "line": 1201, + "lineto": 1205, "args": [ { "name": "problems", @@ -17596,13 +17720,13 @@ "description": "

Give the remote a new name

\n", "comments": "

All remote-tracking branches and configuration settings for the remote are updated.

\n\n

The new name will be checked for validity. See git_tag_create() for rules about valid names.

\n\n

No loaded instances of a the remote with the old name will change their name or their list of refspecs.

\n", "group": "remote", - "examples": { "remote.c": ["ex/v1.8.4/remote.html#git_remote_rename-9"] } + "examples": { "remote.c": ["ex/v1.9.1/remote.html#git_remote_rename-9"] } }, "git_remote_name_is_valid": { "type": "function", "file": "git2/remote.h", - "line": 1159, - "lineto": 1159, + "line": 1214, + "lineto": 1214, "args": [ { "name": "valid", @@ -17625,8 +17749,8 @@ "git_remote_delete": { "type": "function", "file": "git2/remote.h", - "line": 1171, - "lineto": 1171, + "line": 1226, + "lineto": 1226, "args": [ { "name": "repo", @@ -17648,13 +17772,13 @@ "description": "

Delete an existing persisted remote.

\n", "comments": "

All remote-tracking branches and configuration settings for the remote will be removed.

\n", "group": "remote", - "examples": { "remote.c": ["ex/v1.8.4/remote.html#git_remote_delete-10"] } + "examples": { "remote.c": ["ex/v1.9.1/remote.html#git_remote_delete-10"] } }, "git_remote_default_branch": { "type": "function", "file": "git2/remote.h", - "line": 1189, - "lineto": 1189, + "line": 1244, + "lineto": 1244, "args": [ { "name": "out", @@ -17676,8 +17800,8 @@ "git_repository_open": { "type": "function", "file": "git2/repository.h", - "line": 38, - "lineto": 38, + "line": 43, + "lineto": 43, "args": [ { "name": "out", @@ -17694,17 +17818,17 @@ "sig": "git_repository **::const char *", "return": { "type": "int", "comment": " 0 or an error code" }, "description": "

Open a git repository.

\n", - "comments": "

The 'path' argument must point to either a git repository folder, or an existing work dir.

\n\n

The method will automatically detect if 'path' is a normal or bare repository or fail is 'path' is neither.

\n", + "comments": "

The 'path' argument must point to either a git repository folder, or an existing work dir.

\n\n

The method will automatically detect if 'path' is a normal or bare repository or fail is 'path' is neither.

\n\n

Note that the libgit2 library must be initialized using git_libgit2_init before any APIs can be called, including this one.

\n", "group": "repository", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_repository_open-59"] + "general.c": ["ex/v1.9.1/general.html#git_repository_open-75"] } }, "git_repository_open_from_worktree": { "type": "function", "file": "git2/repository.h", - "line": 49, - "lineto": 49, + "line": 54, + "lineto": 54, "args": [ { "name": "out", @@ -17724,11 +17848,35 @@ "comments": "

Open the working directory of the working tree as a normal repository that can then be worked on.

\n", "group": "repository" }, + "git_repository_wrap_odb": { + "type": "function", + "file": "git2/repository.h", + "line": 67, + "lineto": 69, + "args": [ + { + "name": "out", + "type": "git_repository **", + "comment": "pointer to the repo" + }, + { + "name": "odb", + "type": "git_odb *", + "comment": "the object database to wrap" + } + ], + "argline": "git_repository **out, git_odb *odb", + "sig": "git_repository **::git_odb *", + "return": { "type": "int", "comment": " 0 or an error code" }, + "description": "

Create a "fake" repository to wrap an object database

\n", + "comments": "

Create a repository object to wrap an object database to be used with the API when all you have is an object database. This doesn't have any paths associated with it, so use with care.

\n", + "group": "repository" + }, "git_repository_discover": { "type": "function", "file": "git2/repository.h", - "line": 100, - "lineto": 104, + "line": 101, + "lineto": 105, "args": [ { "name": "out", @@ -17755,14 +17903,14 @@ "sig": "git_buf *::const char *::int::const char *", "return": { "type": "int", "comment": " 0 or an error code" }, "description": "

Look for a git repository and copy its path in the given buffer.\n The lookup start from base_path and walk across parent directories\n if nothing has been found. The lookup ends when the first repository\n is found, or when reaching a directory referenced in ceiling_dirs\n or when the filesystem changes (in case across_fs is true).

\n", - "comments": "

The method will automatically detect if the repository is bare (if there is a repository).

\n", + "comments": "

The method will automatically detect if the repository is bare (if there is a repository).

\n\n

Note that the libgit2 library must be initialized using git_libgit2_init before any APIs can be called, including this one.

\n", "group": "repository" }, "git_repository_open_ext": { "type": "function", "file": "git2/repository.h", - "line": 176, - "lineto": 180, + "line": 181, + "lineto": 185, "args": [ { "name": "out", @@ -17792,15 +17940,15 @@ "comment": " 0 on success, GIT_ENOTFOUND if no repository could be found,\n or -1 if there was a repository but open failed for some reason\n (such as repo corruption or system errors)." }, "description": "

Find and open a repository with extended controls.

\n", - "comments": "", + "comments": "

Note that the libgit2 library must be initialized using git_libgit2_init before any APIs can be called, including this one.

\n", "group": "repository", - "examples": { "log.c": ["ex/v1.8.4/log.html#git_repository_open_ext-43"] } + "examples": { "log.c": ["ex/v1.9.1/log.html#git_repository_open_ext-43"] } }, "git_repository_open_bare": { "type": "function", "file": "git2/repository.h", - "line": 193, - "lineto": 193, + "line": 202, + "lineto": 202, "args": [ { "name": "out", @@ -17817,14 +17965,14 @@ "sig": "git_repository **::const char *", "return": { "type": "int", "comment": " 0 on success, or an error code" }, "description": "

Open a bare repository on the serverside.

\n", - "comments": "

This is a fast open for bare repositories that will come in handy if you're e.g. hosting git repositories and need to access them efficiently

\n", + "comments": "

This is a fast open for bare repositories that will come in handy if you're e.g. hosting git repositories and need to access them efficiently

\n\n

Note that the libgit2 library must be initialized using git_libgit2_init before any APIs can be called, including this one.

\n", "group": "repository" }, "git_repository_free": { "type": "function", "file": "git2/repository.h", - "line": 206, - "lineto": 206, + "line": 215, + "lineto": 215, "args": [ { "name": "repo", @@ -17839,15 +17987,15 @@ "comments": "

Note that after a repository is free'd, all the objects it has spawned will still exist until they are manually closed by the user with git_object_free, but accessing any of the attributes of an object without a backing repository will result in undefined behavior

\n", "group": "repository", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_repository_free-60"], - "init.c": ["ex/v1.8.4/init.html#git_repository_free-4"] + "general.c": ["ex/v1.9.1/general.html#git_repository_free-76"], + "init.c": ["ex/v1.9.1/init.html#git_repository_free-4"] } }, "git_repository_init": { "type": "function", "file": "git2/repository.h", - "line": 223, - "lineto": 226, + "line": 236, + "lineto": 239, "args": [ { "name": "out", @@ -17869,15 +18017,15 @@ "sig": "git_repository **::const char *::unsigned int", "return": { "type": "int", "comment": " 0 or an error code" }, "description": "

Creates a new Git repository in the given folder.

\n", - "comments": "

TODO: - Reinit the repository

\n", + "comments": "

TODO: - Reinit the repository

\n\n

Note that the libgit2 library must be initialized using git_libgit2_init before any APIs can be called, including this one.

\n", "group": "repository", - "examples": { "init.c": ["ex/v1.8.4/init.html#git_repository_init-5"] } + "examples": { "init.c": ["ex/v1.9.1/init.html#git_repository_init-5"] } }, "git_repository_init_options_init": { "type": "function", "file": "git2/repository.h", - "line": 389, - "lineto": 391, + "line": 405, + "lineto": 407, "args": [ { "name": "opts", @@ -17903,8 +18051,8 @@ "git_repository_init_ext": { "type": "function", "file": "git2/repository.h", - "line": 406, - "lineto": 409, + "line": 426, + "lineto": 429, "args": [ { "name": "out", @@ -17926,17 +18074,17 @@ "sig": "git_repository **::const char *::git_repository_init_options *", "return": { "type": "int", "comment": " 0 or an error code on failure." }, "description": "

Create a new Git repository in the given folder with extended controls.

\n", - "comments": "

This will initialize a new git repository (creating the repo_path if requested by flags) and working directory as needed. It will auto-detect the case sensitivity of the file system and if the file system supports file mode bits correctly.

\n", + "comments": "

This will initialize a new git repository (creating the repo_path if requested by flags) and working directory as needed. It will auto-detect the case sensitivity of the file system and if the file system supports file mode bits correctly.

\n\n

Note that the libgit2 library must be initialized using git_libgit2_init before any APIs can be called, including this one.

\n", "group": "repository", "examples": { - "init.c": ["ex/v1.8.4/init.html#git_repository_init_ext-6"] + "init.c": ["ex/v1.9.1/init.html#git_repository_init_ext-6"] } }, "git_repository_head": { "type": "function", "file": "git2/repository.h", - "line": 424, - "lineto": 424, + "line": 444, + "lineto": 444, "args": [ { "name": "out", @@ -17960,17 +18108,17 @@ "group": "repository", "examples": { "merge.c": [ - "ex/v1.8.4/merge.html#git_repository_head-31", - "ex/v1.8.4/merge.html#git_repository_head-32" + "ex/v1.9.1/merge.html#git_repository_head-31", + "ex/v1.9.1/merge.html#git_repository_head-32" ], - "status.c": ["ex/v1.8.4/status.html#git_repository_head-3"] + "status.c": ["ex/v1.9.1/status.html#git_repository_head-3"] } }, "git_repository_head_for_worktree": { "type": "function", "file": "git2/repository.h", - "line": 434, - "lineto": 435, + "line": 454, + "lineto": 455, "args": [ { "name": "out", @@ -18001,8 +18149,8 @@ "git_repository_head_detached": { "type": "function", "file": "git2/repository.h", - "line": 447, - "lineto": 447, + "line": 467, + "lineto": 467, "args": [ { "name": "repo", @@ -18023,8 +18171,8 @@ "git_repository_head_detached_for_worktree": { "type": "function", "file": "git2/repository.h", - "line": 460, - "lineto": 461, + "line": 480, + "lineto": 481, "args": [ { "name": "repo", @@ -18050,8 +18198,8 @@ "git_repository_head_unborn": { "type": "function", "file": "git2/repository.h", - "line": 473, - "lineto": 473, + "line": 493, + "lineto": 493, "args": [ { "name": "repo", @@ -18072,8 +18220,8 @@ "git_repository_is_empty": { "type": "function", "file": "git2/repository.h", - "line": 487, - "lineto": 487, + "line": 507, + "lineto": 507, "args": [ { "name": "repo", @@ -18094,8 +18242,8 @@ "git_repository_item_path": { "type": "function", "file": "git2/repository.h", - "line": 525, - "lineto": 525, + "line": 545, + "lineto": 545, "args": [ { "name": "out", @@ -18126,8 +18274,8 @@ "git_repository_path": { "type": "function", "file": "git2/repository.h", - "line": 536, - "lineto": 536, + "line": 556, + "lineto": 556, "args": [ { "name": "repo", @@ -18145,15 +18293,15 @@ "comments": "

This is the path of the .git folder for normal repositories, or of the repository itself for bare repositories.

\n", "group": "repository", "examples": { - "init.c": ["ex/v1.8.4/init.html#git_repository_path-7"], - "status.c": ["ex/v1.8.4/status.html#git_repository_path-4"] + "init.c": ["ex/v1.9.1/init.html#git_repository_path-7"], + "status.c": ["ex/v1.9.1/status.html#git_repository_path-4"] } }, "git_repository_workdir": { "type": "function", "file": "git2/repository.h", - "line": 547, - "lineto": 547, + "line": 567, + "lineto": 567, "args": [ { "name": "repo", @@ -18170,13 +18318,13 @@ "description": "

Get the path of the working directory for this repository

\n", "comments": "

If the repository is bare, this function will always return NULL.

\n", "group": "repository", - "examples": { "init.c": ["ex/v1.8.4/init.html#git_repository_workdir-8"] } + "examples": { "init.c": ["ex/v1.9.1/init.html#git_repository_workdir-8"] } }, "git_repository_commondir": { "type": "function", "file": "git2/repository.h", - "line": 559, - "lineto": 559, + "line": 579, + "lineto": 579, "args": [ { "name": "repo", @@ -18197,8 +18345,8 @@ "git_repository_set_workdir": { "type": "function", "file": "git2/repository.h", - "line": 578, - "lineto": 579, + "line": 598, + "lineto": 599, "args": [ { "name": "repo", @@ -18226,8 +18374,8 @@ "git_repository_is_bare": { "type": "function", "file": "git2/repository.h", - "line": 587, - "lineto": 587, + "line": 607, + "lineto": 607, "args": [ { "name": "repo", @@ -18245,14 +18393,14 @@ "comments": "", "group": "repository", "examples": { - "status.c": ["ex/v1.8.4/status.html#git_repository_is_bare-5"] + "status.c": ["ex/v1.9.1/status.html#git_repository_is_bare-5"] } }, "git_repository_is_worktree": { "type": "function", "file": "git2/repository.h", - "line": 595, - "lineto": 595, + "line": 615, + "lineto": 615, "args": [ { "name": "repo", @@ -18273,8 +18421,8 @@ "git_repository_config": { "type": "function", "file": "git2/repository.h", - "line": 611, - "lineto": 611, + "line": 631, + "lineto": 631, "args": [ { "name": "out", @@ -18294,14 +18442,14 @@ "comments": "

If a configuration file has not been set, the default config set for the repository will be returned, including global and system configurations (if they are available).

\n\n

The configuration file must be freed once it's no longer being used by the user.

\n", "group": "repository", "examples": { - "config.c": ["ex/v1.8.4/config.html#git_repository_config-9"] + "config.c": ["ex/v1.9.1/config.html#git_repository_config-9"] } }, "git_repository_config_snapshot": { "type": "function", "file": "git2/repository.h", - "line": 627, - "lineto": 627, + "line": 647, + "lineto": 647, "args": [ { "name": "out", @@ -18322,16 +18470,16 @@ "group": "repository", "examples": { "general.c": [ - "ex/v1.8.4/general.html#git_repository_config_snapshot-61", - "ex/v1.8.4/general.html#git_repository_config_snapshot-62" + "ex/v1.9.1/general.html#git_repository_config_snapshot-77", + "ex/v1.9.1/general.html#git_repository_config_snapshot-78" ] } }, "git_repository_odb": { "type": "function", "file": "git2/repository.h", - "line": 643, - "lineto": 643, + "line": 663, + "lineto": 663, "args": [ { "name": "out", @@ -18351,15 +18499,15 @@ "comments": "

If a custom ODB has not been set, the default database for the repository will be returned (the one located in .git/objects).

\n\n

The ODB must be freed once it's no longer being used by the user.

\n", "group": "repository", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_repository_odb-29"], - "general.c": ["ex/v1.8.4/general.html#git_repository_odb-63"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_repository_odb-29"], + "general.c": ["ex/v1.9.1/general.html#git_repository_odb-79"] } }, "git_repository_refdb": { "type": "function", "file": "git2/repository.h", - "line": 659, - "lineto": 659, + "line": 679, + "lineto": 679, "args": [ { "name": "out", @@ -18382,8 +18530,8 @@ "git_repository_index": { "type": "function", "file": "git2/repository.h", - "line": 675, - "lineto": 675, + "line": 695, + "lineto": 695, "args": [ { "name": "out", @@ -18403,19 +18551,19 @@ "comments": "

If a custom index has not been set, the default index for the repository will be returned (the one located in .git/index).

\n\n

The index must be freed once it's no longer being used by the user.

\n", "group": "repository", "examples": { - "add.c": ["ex/v1.8.4/add.html#git_repository_index-5"], - "commit.c": ["ex/v1.8.4/commit.html#git_repository_index-8"], - "general.c": ["ex/v1.8.4/general.html#git_repository_index-64"], - "init.c": ["ex/v1.8.4/init.html#git_repository_index-9"], - "ls-files.c": ["ex/v1.8.4/ls-files.html#git_repository_index-5"], - "merge.c": ["ex/v1.8.4/merge.html#git_repository_index-33"] + "add.c": ["ex/v1.9.1/add.html#git_repository_index-5"], + "commit.c": ["ex/v1.9.1/commit.html#git_repository_index-8"], + "general.c": ["ex/v1.9.1/general.html#git_repository_index-80"], + "init.c": ["ex/v1.9.1/init.html#git_repository_index-9"], + "ls-files.c": ["ex/v1.9.1/ls-files.html#git_repository_index-5"], + "merge.c": ["ex/v1.9.1/merge.html#git_repository_index-33"] } }, "git_repository_message": { "type": "function", "file": "git2/repository.h", - "line": 693, - "lineto": 693, + "line": 713, + "lineto": 713, "args": [ { "name": "out", @@ -18441,8 +18589,8 @@ "git_repository_message_remove": { "type": "function", "file": "git2/repository.h", - "line": 703, - "lineto": 703, + "line": 723, + "lineto": 723, "args": [ { "name": "repo", @@ -18460,8 +18608,8 @@ "git_repository_state_cleanup": { "type": "function", "file": "git2/repository.h", - "line": 712, - "lineto": 712, + "line": 732, + "lineto": 732, "args": [ { "name": "repo", @@ -18476,14 +18624,14 @@ "comments": "", "group": "repository", "examples": { - "merge.c": ["ex/v1.8.4/merge.html#git_repository_state_cleanup-34"] + "merge.c": ["ex/v1.9.1/merge.html#git_repository_state_cleanup-34"] } }, "git_repository_fetchhead_foreach": { "type": "function", "file": "git2/repository.h", - "line": 743, - "lineto": 746, + "line": 763, + "lineto": 766, "args": [ { "name": "repo", @@ -18514,8 +18662,8 @@ "git_repository_mergehead_foreach": { "type": "function", "file": "git2/repository.h", - "line": 772, - "lineto": 775, + "line": 792, + "lineto": 795, "args": [ { "name": "repo", @@ -18546,8 +18694,8 @@ "git_repository_hashfile": { "type": "function", "file": "git2/repository.h", - "line": 802, - "lineto": 807, + "line": 822, + "lineto": 827, "args": [ { "name": "out", @@ -18585,8 +18733,8 @@ "git_repository_set_head": { "type": "function", "file": "git2/repository.h", - "line": 827, - "lineto": 829, + "line": 847, + "lineto": 849, "args": [ { "name": "repo", @@ -18606,14 +18754,14 @@ "comments": "

If the provided reference points to a Tree or a Blob, the HEAD is unaltered and -1 is returned.

\n\n

If the provided reference points to a branch, the HEAD will point to that branch, staying attached, or become attached if it isn't yet. If the branch doesn't exist yet, no error will be return. The HEAD will then be attached to an unborn branch.

\n\n

Otherwise, the HEAD will be detached and will directly point to the Commit.

\n", "group": "repository", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_repository_set_head-23"] + "checkout.c": ["ex/v1.9.1/checkout.html#git_repository_set_head-23"] } }, "git_repository_set_head_detached": { "type": "function", "file": "git2/repository.h", - "line": 847, - "lineto": 849, + "line": 867, + "lineto": 869, "args": [ { "name": "repo", @@ -18636,33 +18784,37 @@ "git_repository_set_head_detached_from_annotated": { "type": "function", "file": "git2/repository.h", - "line": 863, - "lineto": 865, + "line": 885, + "lineto": 887, "args": [ - { "name": "repo", "type": "git_repository *", "comment": null }, + { + "name": "repo", + "type": "git_repository *", + "comment": "Repository pointer" + }, { "name": "committish", "type": "const git_annotated_commit *", - "comment": null + "comment": "annotated commit to point HEAD to" } ], "argline": "git_repository *repo, const git_annotated_commit *committish", "sig": "git_repository *::const git_annotated_commit *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 on success, or an error code" }, "description": "

Make the repository HEAD directly point to the Commit.

\n", "comments": "

This behaves like git_repository_set_head_detached() but takes an annotated commit, which lets you specify which extended sha syntax string was specified by a user, allowing for more exact reflog messages.

\n\n

See the documentation for git_repository_set_head_detached().

\n", "group": "repository", "examples": { "checkout.c": [ - "ex/v1.8.4/checkout.html#git_repository_set_head_detached_from_annotated-24" + "ex/v1.9.1/checkout.html#git_repository_set_head_detached_from_annotated-24" ] } }, "git_repository_detach_head": { "type": "function", "file": "git2/repository.h", - "line": 884, - "lineto": 885, + "line": 906, + "lineto": 907, "args": [ { "name": "repo", @@ -18683,8 +18835,8 @@ "git_repository_state": { "type": "function", "file": "git2/repository.h", - "line": 915, - "lineto": 915, + "line": 937, + "lineto": 937, "args": [ { "name": "repo", @@ -18699,15 +18851,15 @@ "comments": "", "group": "repository", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_repository_state-25"], - "merge.c": ["ex/v1.8.4/merge.html#git_repository_state-35"] + "checkout.c": ["ex/v1.9.1/checkout.html#git_repository_state-25"], + "merge.c": ["ex/v1.9.1/merge.html#git_repository_state-35"] } }, "git_repository_set_namespace": { "type": "function", "file": "git2/repository.h", - "line": 929, - "lineto": 929, + "line": 951, + "lineto": 951, "args": [ { "name": "repo", "type": "git_repository *", "comment": "The repo" }, { @@ -18726,8 +18878,8 @@ "git_repository_get_namespace": { "type": "function", "file": "git2/repository.h", - "line": 937, - "lineto": 937, + "line": 959, + "lineto": 959, "args": [ { "name": "repo", "type": "git_repository *", "comment": "The repo" } ], @@ -18744,8 +18896,8 @@ "git_repository_is_shallow": { "type": "function", "file": "git2/repository.h", - "line": 946, - "lineto": 946, + "line": 968, + "lineto": 968, "args": [ { "name": "repo", @@ -18763,8 +18915,8 @@ "git_repository_ident": { "type": "function", "file": "git2/repository.h", - "line": 959, - "lineto": 959, + "line": 981, + "lineto": 981, "args": [ { "name": "name", @@ -18792,8 +18944,8 @@ "git_repository_set_ident": { "type": "function", "file": "git2/repository.h", - "line": 973, - "lineto": 973, + "line": 995, + "lineto": 995, "args": [ { "name": "repo", @@ -18821,8 +18973,8 @@ "git_repository_oid_type": { "type": "function", "file": "git2/repository.h", - "line": 981, - "lineto": 981, + "line": 1003, + "lineto": 1003, "args": [ { "name": "repo", @@ -18840,8 +18992,8 @@ "git_repository_commit_parents": { "type": "function", "file": "git2/repository.h", - "line": 992, - "lineto": 992, + "line": 1014, + "lineto": 1014, "args": [ { "name": "commits", @@ -18898,25 +19050,33 @@ "git_reset_from_annotated": { "type": "function", "file": "git2/reset.h", - "line": 80, - "lineto": 84, + "line": 92, + "lineto": 96, "args": [ - { "name": "repo", "type": "git_repository *", "comment": null }, { - "name": "commit", + "name": "repo", + "type": "git_repository *", + "comment": "Repository where to perform the reset operation." + }, + { + "name": "target", "type": "const git_annotated_commit *", - "comment": null + "comment": "Annotated commit to which the Head should be moved to.\n This object must belong to the given `repo`, it will be dereferenced\n to a git_commit which oid will be used as the target of the branch." + }, + { + "name": "reset_type", + "type": "git_reset_t", + "comment": "Kind of reset operation to perform." }, - { "name": "reset_type", "type": "git_reset_t", "comment": null }, { "name": "checkout_opts", "type": "const git_checkout_options *", - "comment": null + "comment": "Optional checkout options to be used for a HARD reset.\n The checkout_strategy field will be overridden (based on reset_type).\n This parameter can be used to propagate notify and progress callbacks." } ], - "argline": "git_repository *repo, const git_annotated_commit *commit, git_reset_t reset_type, const git_checkout_options *checkout_opts", + "argline": "git_repository *repo, const git_annotated_commit *target, git_reset_t reset_type, const git_checkout_options *checkout_opts", "sig": "git_repository *::const git_annotated_commit *::git_reset_t::const git_checkout_options *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 on success or an error code" }, "description": "

Sets the current head to the specified commit oid and optionally\n resets the index and working tree to match.

\n", "comments": "

This behaves like git_reset() but takes an annotated commit, which lets you specify which extended sha syntax string was specified by a user, allowing for more exact reflog messages.

\n\n

See the documentation for git_reset().

\n", "group": "reset" @@ -18924,8 +19084,8 @@ "git_reset_default": { "type": "function", "file": "git2/reset.h", - "line": 104, - "lineto": 107, + "line": 116, + "lineto": 119, "args": [ { "name": "repo", @@ -18956,8 +19116,8 @@ "git_revert_options_init": { "type": "function", "file": "git2/revert.h", - "line": 49, - "lineto": 51, + "line": 54, + "lineto": 56, "args": [ { "name": "opts", @@ -18983,8 +19143,8 @@ "git_revert_commit": { "type": "function", "file": "git2/revert.h", - "line": 67, - "lineto": 73, + "line": 72, + "lineto": 78, "args": [ { "name": "out", @@ -19030,8 +19190,8 @@ "git_revert": { "type": "function", "file": "git2/revert.h", - "line": 83, - "lineto": 86, + "line": 88, + "lineto": 91, "args": [ { "name": "repo", @@ -19091,15 +19251,15 @@ "comments": "

See man gitrevisions, or http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for information on the syntax accepted.

\n\n

The returned object should be released with git_object_free when no longer needed.

\n", "group": "revparse", "examples": { - "blame.c": ["ex/v1.8.4/blame.html#git_revparse_single-22"], - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_revparse_single-30"], - "describe.c": ["ex/v1.8.4/describe.html#git_revparse_single-6"], - "log.c": ["ex/v1.8.4/log.html#git_revparse_single-44"], + "blame.c": ["ex/v1.9.1/blame.html#git_revparse_single-21"], + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_revparse_single-30"], + "describe.c": ["ex/v1.9.1/describe.html#git_revparse_single-6"], + "log.c": ["ex/v1.9.1/log.html#git_revparse_single-44"], "tag.c": [ - "ex/v1.8.4/tag.html#git_revparse_single-9", - "ex/v1.8.4/tag.html#git_revparse_single-10", - "ex/v1.8.4/tag.html#git_revparse_single-11", - "ex/v1.8.4/tag.html#git_revparse_single-12" + "ex/v1.9.1/tag.html#git_revparse_single-9", + "ex/v1.9.1/tag.html#git_revparse_single-10", + "ex/v1.9.1/tag.html#git_revparse_single-11", + "ex/v1.9.1/tag.html#git_revparse_single-12" ] } }, @@ -19139,7 +19299,7 @@ "description": "

Find a single object and intermediate reference by a revision string.

\n", "comments": "

See man gitrevisions, or http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for information on the syntax accepted.

\n\n

In some cases (@{<-n>} or <branchname>@{upstream}), the expression may point to an intermediate reference. When such expressions are being passed in, reference_out will be valued as well.

\n\n

The returned object should be released with git_object_free and the returned reference with git_reference_free when no longer needed.

\n", "group": "revparse", - "examples": { "commit.c": ["ex/v1.8.4/commit.html#git_revparse_ext-9"] } + "examples": { "commit.c": ["ex/v1.9.1/commit.html#git_revparse_ext-9"] } }, "git_revparse": { "type": "function", @@ -19173,11 +19333,11 @@ "comments": "

See man gitrevisions or http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for information on the syntax accepted.

\n", "group": "revparse", "examples": { - "blame.c": ["ex/v1.8.4/blame.html#git_revparse-23"], - "log.c": ["ex/v1.8.4/log.html#git_revparse-45"], + "blame.c": ["ex/v1.9.1/blame.html#git_revparse-22"], + "log.c": ["ex/v1.9.1/log.html#git_revparse-45"], "rev-parse.c": [ - "ex/v1.8.4/rev-parse.html#git_revparse-14", - "ex/v1.8.4/rev-parse.html#git_revparse-15" + "ex/v1.9.1/rev-parse.html#git_revparse-14", + "ex/v1.9.1/rev-parse.html#git_revparse-15" ] } }, @@ -19205,10 +19365,10 @@ "comments": "

This revision walker uses a custom memory pool and an internal commit cache, so it is relatively expensive to allocate.

\n\n

For maximum performance, this revision walker should be reused for different walks.

\n\n

This revision walker is not thread safe: it may only be used to walk a repository on a single thread; however, it is possible to have several revision walkers in several different threads walking the same repository.

\n", "group": "revwalk", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_revwalk_new-65"], + "general.c": ["ex/v1.9.1/general.html#git_revwalk_new-81"], "log.c": [ - "ex/v1.8.4/log.html#git_revwalk_new-46", - "ex/v1.8.4/log.html#git_revwalk_new-47" + "ex/v1.9.1/log.html#git_revwalk_new-46", + "ex/v1.9.1/log.html#git_revwalk_new-47" ] } }, @@ -19255,8 +19415,8 @@ "comments": "

The pushed commit will be marked as one of the roots from which to start the walk. This commit may not be walked if it or a child is hidden.

\n\n

At least one commit must be pushed onto the walker before a walk can be started.

\n\n

The given id must belong to a committish on the walked repository.

\n", "group": "revwalk", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_revwalk_push-66"], - "log.c": ["ex/v1.8.4/log.html#git_revwalk_push-48"] + "general.c": ["ex/v1.9.1/general.html#git_revwalk_push-82"], + "log.c": ["ex/v1.9.1/log.html#git_revwalk_push-48"] } }, "git_revwalk_push_glob": { @@ -19301,7 +19461,7 @@ "description": "

Push the repository's HEAD

\n", "comments": "", "group": "revwalk", - "examples": { "log.c": ["ex/v1.8.4/log.html#git_revwalk_push_head-49"] } + "examples": { "log.c": ["ex/v1.9.1/log.html#git_revwalk_push_head-49"] } }, "git_revwalk_hide": { "type": "function", @@ -19326,7 +19486,7 @@ "description": "

Mark a commit (and its ancestors) uninteresting for the output.

\n", "comments": "

The given id must belong to a committish on the walked repository.

\n\n

The resolved commit and all its parents will be hidden from the output on the revision walk.

\n", "group": "revwalk", - "examples": { "log.c": ["ex/v1.8.4/log.html#git_revwalk_hide-50"] } + "examples": { "log.c": ["ex/v1.9.1/log.html#git_revwalk_hide-50"] } }, "git_revwalk_hide_glob": { "type": "function", @@ -19446,8 +19606,8 @@ "comments": "

The initial call to this method is not blocking when iterating through a repo with a time-sorting mode.

\n\n

Iterating with Topological or inverted modes makes the initial call blocking to preprocess the commit list, but this block should be mostly unnoticeable on most repositories (topological preprocessing times at 0.3s on the git.git repo).

\n\n

The revision walker is reset when the walk is over.

\n", "group": "revwalk", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_revwalk_next-67"], - "log.c": ["ex/v1.8.4/log.html#git_revwalk_next-51"] + "general.c": ["ex/v1.9.1/general.html#git_revwalk_next-83"], + "log.c": ["ex/v1.9.1/log.html#git_revwalk_next-51"] } }, "git_revwalk_sorting": { @@ -19474,10 +19634,10 @@ "comments": "

Changing the sorting mode resets the walker.

\n", "group": "revwalk", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_revwalk_sorting-68"], + "general.c": ["ex/v1.9.1/general.html#git_revwalk_sorting-84"], "log.c": [ - "ex/v1.8.4/log.html#git_revwalk_sorting-52", - "ex/v1.8.4/log.html#git_revwalk_sorting-53" + "ex/v1.9.1/log.html#git_revwalk_sorting-52", + "ex/v1.9.1/log.html#git_revwalk_sorting-53" ] } }, @@ -19539,8 +19699,8 @@ "comments": "", "group": "revwalk", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_revwalk_free-69"], - "log.c": ["ex/v1.8.4/log.html#git_revwalk_free-54"] + "general.c": ["ex/v1.9.1/general.html#git_revwalk_free-85"], + "log.c": ["ex/v1.9.1/log.html#git_revwalk_free-54"] } }, "git_revwalk_repository": { @@ -19597,8 +19757,8 @@ "git_signature_new": { "type": "function", "file": "git2/signature.h", - "line": 37, - "lineto": 37, + "line": 41, + "lineto": 41, "args": [ { "name": "out", @@ -19634,16 +19794,16 @@ "group": "signature", "examples": { "general.c": [ - "ex/v1.8.4/general.html#git_signature_new-70", - "ex/v1.8.4/general.html#git_signature_new-71" + "ex/v1.9.1/general.html#git_signature_new-86", + "ex/v1.9.1/general.html#git_signature_new-87" ] } }, "git_signature_now": { "type": "function", "file": "git2/signature.h", - "line": 49, - "lineto": 49, + "line": 53, + "lineto": 53, "args": [ { "name": "out", @@ -19667,13 +19827,50 @@ "description": "

Create a new action signature with a timestamp of 'now'.

\n", "comments": "

Call git_signature_free() to free the data.

\n", "group": "signature", - "examples": { "merge.c": ["ex/v1.8.4/merge.html#git_signature_now-36"] } + "examples": { "merge.c": ["ex/v1.9.1/merge.html#git_signature_now-36"] } + }, + "git_signature_default_from_env": { + "type": "function", + "file": "git2/signature.h", + "line": 86, + "lineto": 89, + "args": [ + { + "name": "author_out", + "type": "git_signature **", + "comment": "pointer to set the author signature, or NULL" + }, + { + "name": "committer_out", + "type": "git_signature **", + "comment": "pointer to set the committer signature, or NULL" + }, + { + "name": "repo", + "type": "git_repository *", + "comment": "repository pointer" + } + ], + "argline": "git_signature **author_out, git_signature **committer_out, git_repository *repo", + "sig": "git_signature **::git_signature **::git_repository *", + "return": { + "type": "int", + "comment": " 0 on success, GIT_ENOTFOUND if config is missing, or error code" + }, + "description": "

Create a new author and/or committer signatures with default\n information based on the configuration and environment variables.

\n", + "comments": "

If author_out is set, it will be populated with the author information. The GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL environment variables will be honored, and user.name and user.email configuration options will be honored if the environment variables are unset. For timestamps, GIT_AUTHOR_DATE will be used, otherwise the current time will be used.

\n\n

If committer_out is set, it will be populated with the committer information. The GIT_COMMITTER_NAME and GIT_COMMITTER_EMAIL environment variables will be honored, and user.name and user.email configuration options will be honored if the environment variables are unset. For timestamps, GIT_COMMITTER_DATE will be used, otherwise the current time will be used.

\n\n

If neither GIT_AUTHOR_DATE nor GIT_COMMITTER_DATE are set, both timestamps will be set to the same time.

\n\n

It will return GIT_ENOTFOUND if either the user.name or user.email are not set and there is no fallback from an environment variable. One of author_out or committer_out must be set.

\n", + "group": "signature", + "examples": { + "commit.c": ["ex/v1.9.1/commit.html#git_signature_default_from_env-10"], + "init.c": ["ex/v1.9.1/init.html#git_signature_default_from_env-10"], + "tag.c": ["ex/v1.9.1/tag.html#git_signature_default_from_env-13"] + } }, "git_signature_default": { "type": "function", "file": "git2/signature.h", - "line": 63, - "lineto": 63, + "line": 107, + "lineto": 107, "args": [ { "name": "out", @@ -19693,19 +19890,14 @@ "comment": " 0 on success, GIT_ENOTFOUND if config is missing, or error code" }, "description": "

Create a new action signature with default user and now timestamp.

\n", - "comments": "

This looks up the user.name and user.email from the configuration and uses the current time as the timestamp, and creates a new signature based on that information. It will return GIT_ENOTFOUND if either the user.name or user.email are not set.

\n", - "group": "signature", - "examples": { - "commit.c": ["ex/v1.8.4/commit.html#git_signature_default-10"], - "init.c": ["ex/v1.8.4/init.html#git_signature_default-10"], - "tag.c": ["ex/v1.8.4/tag.html#git_signature_default-13"] - } + "comments": "

This looks up the user.name and user.email from the configuration and uses the current time as the timestamp, and creates a new signature based on that information. It will return GIT_ENOTFOUND if either the user.name or user.email are not set.

\n\n

Note that these do not examine environment variables, only the configuration files. Use git_signature_default_from_env to consider the environment variables.

\n", + "group": "signature" }, "git_signature_from_buffer": { "type": "function", "file": "git2/signature.h", - "line": 76, - "lineto": 76, + "line": 120, + "lineto": 120, "args": [ { "name": "out", @@ -19727,8 +19919,8 @@ "git_signature_dup": { "type": "function", "file": "git2/signature.h", - "line": 88, - "lineto": 88, + "line": 132, + "lineto": 132, "args": [ { "name": "dest", @@ -19751,8 +19943,8 @@ "git_signature_free": { "type": "function", "file": "git2/signature.h", - "line": 99, - "lineto": 99, + "line": 143, + "lineto": 143, "args": [ { "name": "sig", @@ -19767,20 +19959,26 @@ "comments": "

Because the signature is not an opaque structure, it is legal to free it manually, but be sure to free the "name" and "email" strings in addition to the structure itself.

\n", "group": "signature", "examples": { - "commit.c": ["ex/v1.8.4/commit.html#git_signature_free-11"], + "commit.c": [ + "ex/v1.9.1/commit.html#git_signature_free-11", + "ex/v1.9.1/commit.html#git_signature_free-12" + ], "general.c": [ - "ex/v1.8.4/general.html#git_signature_free-72", - "ex/v1.8.4/general.html#git_signature_free-73" + "ex/v1.9.1/general.html#git_signature_free-88", + "ex/v1.9.1/general.html#git_signature_free-89" + ], + "init.c": [ + "ex/v1.9.1/init.html#git_signature_free-11", + "ex/v1.9.1/init.html#git_signature_free-12" ], - "init.c": ["ex/v1.8.4/init.html#git_signature_free-11"], - "tag.c": ["ex/v1.8.4/tag.html#git_signature_free-14"] + "tag.c": ["ex/v1.9.1/tag.html#git_signature_free-14"] } }, "git_stash_save": { "type": "function", "file": "git2/stash.h", - "line": 67, - "lineto": 72, + "line": 72, + "lineto": 77, "args": [ { "name": "out", @@ -19821,8 +20019,8 @@ "git_stash_save_options_init": { "type": "function", "file": "git2/stash.h", - "line": 110, - "lineto": 111, + "line": 118, + "lineto": 119, "args": [ { "name": "opts", @@ -19848,8 +20046,8 @@ "git_stash_save_with_opts": { "type": "function", "file": "git2/stash.h", - "line": 123, - "lineto": 126, + "line": 131, + "lineto": 134, "args": [ { "name": "out", @@ -19880,8 +20078,8 @@ "git_stash_apply_options_init": { "type": "function", "file": "git2/stash.h", - "line": 210, - "lineto": 211, + "line": 225, + "lineto": 226, "args": [ { "name": "opts", @@ -19907,8 +20105,8 @@ "git_stash_apply": { "type": "function", "file": "git2/stash.h", - "line": 239, - "lineto": 242, + "line": 252, + "lineto": 255, "args": [ { "name": "repo", @@ -19933,14 +20131,14 @@ "comment": " 0 on success, GIT_ENOTFOUND if there's no stashed state for the\n given index, GIT_EMERGECONFLICT if changes exist in the working\n directory, or an error code" }, "description": "

Apply a single stashed state from the stash list.

\n", - "comments": "

If local changes in the working directory conflict with changes in the stash then GIT_EMERGECONFLICT will be returned. In this case, the index will always remain unmodified and all files in the working directory will remain unmodified. However, if you are restoring untracked files or ignored files and there is a conflict when applying the modified files, then those files will remain in the working directory.

\n\n

If passing the GIT_STASH_APPLY_REINSTATE_INDEX flag and there would be conflicts when reinstating the index, the function will return GIT_EMERGECONFLICT and both the working directory and index will be left unmodified.

\n\n

Note that a minimum checkout strategy of GIT_CHECKOUT_SAFE is implied.

\n", + "comments": "

If local changes in the working directory conflict with changes in the stash then GIT_EMERGECONFLICT will be returned. In this case, the index will always remain unmodified and all files in the working directory will remain unmodified. However, if you are restoring untracked files or ignored files and there is a conflict when applying the modified files, then those files will remain in the working directory.

\n\n

If passing the GIT_STASH_APPLY_REINSTATE_INDEX flag and there would be conflicts when reinstating the index, the function will return GIT_EMERGECONFLICT and both the working directory and index will be left unmodified.

\n", "group": "stash" }, "git_stash_foreach": { "type": "function", "file": "git2/stash.h", - "line": 275, - "lineto": 278, + "line": 288, + "lineto": 291, "args": [ { "name": "repo", @@ -19971,8 +20169,8 @@ "git_stash_drop": { "type": "function", "file": "git2/stash.h", - "line": 291, - "lineto": 293, + "line": 304, + "lineto": 306, "args": [ { "name": "repo", @@ -19998,8 +20196,8 @@ "git_stash_pop": { "type": "function", "file": "git2/stash.h", - "line": 307, - "lineto": 310, + "line": 320, + "lineto": 323, "args": [ { "name": "repo", @@ -20030,8 +20228,8 @@ "git_status_options_init": { "type": "function", "file": "git2/status.h", - "line": 277, - "lineto": 279, + "line": 280, + "lineto": 282, "args": [ { "name": "opts", @@ -20057,8 +20255,8 @@ "git_status_foreach": { "type": "function", "file": "git2/status.h", - "line": 317, - "lineto": 320, + "line": 320, + "lineto": 323, "args": [ { "name": "repo", @@ -20085,13 +20283,13 @@ "description": "

Gather file statuses and run a callback for each one.

\n", "comments": "

The callback is passed the path of the file, the status (a combination of the git_status_t values above) and the payload data pointer passed into this function.

\n\n

If the callback returns a non-zero value, this function will stop looping and return that value to caller.

\n", "group": "status", - "examples": { "status.c": ["ex/v1.8.4/status.html#git_status_foreach-6"] } + "examples": { "status.c": ["ex/v1.9.1/status.html#git_status_foreach-6"] } }, "git_status_foreach_ext": { "type": "function", "file": "git2/status.h", - "line": 341, - "lineto": 345, + "line": 344, + "lineto": 348, "args": [ { "name": "repo", @@ -20124,14 +20322,14 @@ "comments": "

This is an extended version of the git_status_foreach() API that allows for more granular control over which paths will be processed and in what order. See the git_status_options structure for details about the additional controls that this makes available.

\n\n

Note that if a pathspec is given in the git_status_options to filter the status, then the results from rename detection (if you enable it) may not be accurate. To do rename detection properly, this must be called with no pathspec so that all files can be considered.

\n", "group": "status", "examples": { - "status.c": ["ex/v1.8.4/status.html#git_status_foreach_ext-7"] + "status.c": ["ex/v1.9.1/status.html#git_status_foreach_ext-7"] } }, "git_status_file": { "type": "function", "file": "git2/status.h", - "line": 373, - "lineto": 376, + "line": 376, + "lineto": 379, "args": [ { "name": "status_flags", @@ -20158,13 +20356,13 @@ "description": "

Get file status for a single file.

\n", "comments": "

This tries to get status for the filename that you give. If no files match that name (in either the HEAD, index, or working directory), this returns GIT_ENOTFOUND.

\n\n

If the name matches multiple files (for example, if the path names a directory or if running on a case- insensitive filesystem and yet the HEAD has two entries that both match the path), then this returns GIT_EAMBIGUOUS because it cannot give correct results.

\n\n

This does not do any sort of rename detection. Renames require a set of targets and because of the path filtering, there is not enough information to check renames correctly. To check file status with rename detection, there is no choice but to do a full git_status_list_new and scan through looking for the path that you are interested in.

\n", "group": "status", - "examples": { "add.c": ["ex/v1.8.4/add.html#git_status_file-6"] } + "examples": { "add.c": ["ex/v1.9.1/add.html#git_status_file-6"] } }, "git_status_list_new": { "type": "function", "file": "git2/status.h", - "line": 391, - "lineto": 394, + "line": 394, + "lineto": 397, "args": [ { "name": "out", @@ -20190,16 +20388,16 @@ "group": "status", "examples": { "status.c": [ - "ex/v1.8.4/status.html#git_status_list_new-8", - "ex/v1.8.4/status.html#git_status_list_new-9" + "ex/v1.9.1/status.html#git_status_list_new-8", + "ex/v1.9.1/status.html#git_status_list_new-9" ] } }, "git_status_list_entrycount": { "type": "function", "file": "git2/status.h", - "line": 405, - "lineto": 406, + "line": 408, + "lineto": 409, "args": [ { "name": "statuslist", @@ -20218,16 +20416,16 @@ "group": "status", "examples": { "status.c": [ - "ex/v1.8.4/status.html#git_status_list_entrycount-10", - "ex/v1.8.4/status.html#git_status_list_entrycount-11" + "ex/v1.9.1/status.html#git_status_list_entrycount-10", + "ex/v1.9.1/status.html#git_status_list_entrycount-11" ] } }, "git_status_byindex": { "type": "function", "file": "git2/status.h", - "line": 417, - "lineto": 419, + "line": 420, + "lineto": 422, "args": [ { "name": "statuslist", @@ -20247,20 +20445,20 @@ "group": "status", "examples": { "status.c": [ - "ex/v1.8.4/status.html#git_status_byindex-12", - "ex/v1.8.4/status.html#git_status_byindex-13", - "ex/v1.8.4/status.html#git_status_byindex-14", - "ex/v1.8.4/status.html#git_status_byindex-15", - "ex/v1.8.4/status.html#git_status_byindex-16", - "ex/v1.8.4/status.html#git_status_byindex-17" + "ex/v1.9.1/status.html#git_status_byindex-12", + "ex/v1.9.1/status.html#git_status_byindex-13", + "ex/v1.9.1/status.html#git_status_byindex-14", + "ex/v1.9.1/status.html#git_status_byindex-15", + "ex/v1.9.1/status.html#git_status_byindex-16", + "ex/v1.9.1/status.html#git_status_byindex-17" ] } }, "git_status_list_free": { "type": "function", "file": "git2/status.h", - "line": 426, - "lineto": 427, + "line": 429, + "lineto": 430, "args": [ { "name": "statuslist", @@ -20275,14 +20473,14 @@ "comments": "", "group": "status", "examples": { - "status.c": ["ex/v1.8.4/status.html#git_status_list_free-18"] + "status.c": ["ex/v1.9.1/status.html#git_status_list_free-18"] } }, "git_status_should_ignore": { "type": "function", "file": "git2/status.h", - "line": 445, - "lineto": 448, + "line": 448, + "lineto": 451, "args": [ { "name": "ignored", @@ -20329,20 +20527,20 @@ "comments": "

This does not free the git_strarray itself, since the library will never allocate that object directly itself.

\n", "group": "strarray", "examples": { - "checkout.c": ["ex/v1.8.4/checkout.html#git_strarray_dispose-26"], - "general.c": ["ex/v1.8.4/general.html#git_strarray_dispose-74"], + "checkout.c": ["ex/v1.9.1/checkout.html#git_strarray_dispose-26"], + "general.c": ["ex/v1.9.1/general.html#git_strarray_dispose-90"], "remote.c": [ - "ex/v1.8.4/remote.html#git_strarray_dispose-11", - "ex/v1.8.4/remote.html#git_strarray_dispose-12" + "ex/v1.9.1/remote.html#git_strarray_dispose-11", + "ex/v1.9.1/remote.html#git_strarray_dispose-12" ], - "tag.c": ["ex/v1.8.4/tag.html#git_strarray_dispose-15"] + "tag.c": ["ex/v1.9.1/tag.html#git_strarray_dispose-15"] } }, "git_submodule_update_options_init": { "type": "function", "file": "git2/submodule.h", - "line": 171, - "lineto": 172, + "line": 180, + "lineto": 181, "args": [ { "name": "opts", @@ -20368,8 +20566,8 @@ "git_submodule_update": { "type": "function", "file": "git2/submodule.h", - "line": 192, - "lineto": 192, + "line": 201, + "lineto": 201, "args": [ { "name": "submodule", @@ -20400,8 +20598,8 @@ "git_submodule_lookup": { "type": "function", "file": "git2/submodule.h", - "line": 221, - "lineto": 224, + "line": 230, + "lineto": 233, "args": [ { "name": "out", @@ -20432,8 +20630,8 @@ "git_submodule_dup": { "type": "function", "file": "git2/submodule.h", - "line": 234, - "lineto": 234, + "line": 243, + "lineto": 243, "args": [ { "name": "out", @@ -20456,8 +20654,8 @@ "git_submodule_free": { "type": "function", "file": "git2/submodule.h", - "line": 241, - "lineto": 241, + "line": 250, + "lineto": 250, "args": [ { "name": "submodule", @@ -20475,8 +20673,8 @@ "git_submodule_foreach": { "type": "function", "file": "git2/submodule.h", - "line": 261, - "lineto": 264, + "line": 270, + "lineto": 273, "args": [ { "name": "repo", @@ -20504,14 +20702,14 @@ "comments": "

See the note on git_submodule above. This iterates over the tracked submodules as described therein.

\n\n

If you are concerned about items in the working directory that look like submodules but are not tracked, the diff API will generate a diff record for workdir items that look like submodules but are not tracked, showing them as added in the workdir. Also, the status API will treat the entire subdirectory of a contained git repo as a single GIT_STATUS_WT_NEW item.

\n", "group": "submodule", "examples": { - "status.c": ["ex/v1.8.4/status.html#git_submodule_foreach-19"] + "status.c": ["ex/v1.9.1/status.html#git_submodule_foreach-19"] } }, "git_submodule_add_setup": { "type": "function", "file": "git2/submodule.h", - "line": 292, - "lineto": 297, + "line": 301, + "lineto": 306, "args": [ { "name": "out", @@ -20552,8 +20750,8 @@ "git_submodule_clone": { "type": "function", "file": "git2/submodule.h", - "line": 310, - "lineto": 313, + "line": 319, + "lineto": 322, "args": [ { "name": "out", @@ -20584,8 +20782,8 @@ "git_submodule_add_finalize": { "type": "function", "file": "git2/submodule.h", - "line": 326, - "lineto": 326, + "line": 335, + "lineto": 335, "args": [ { "name": "submodule", @@ -20603,8 +20801,8 @@ "git_submodule_add_to_index": { "type": "function", "file": "git2/submodule.h", - "line": 338, - "lineto": 340, + "line": 347, + "lineto": 349, "args": [ { "name": "submodule", @@ -20630,8 +20828,8 @@ "git_submodule_owner": { "type": "function", "file": "git2/submodule.h", - "line": 353, - "lineto": 353, + "line": 362, + "lineto": 362, "args": [ { "name": "submodule", @@ -20652,8 +20850,8 @@ "git_submodule_name": { "type": "function", "file": "git2/submodule.h", - "line": 361, - "lineto": 361, + "line": 370, + "lineto": 370, "args": [ { "name": "submodule", @@ -20671,14 +20869,14 @@ "comments": "", "group": "submodule", "examples": { - "status.c": ["ex/v1.8.4/status.html#git_submodule_name-20"] + "status.c": ["ex/v1.9.1/status.html#git_submodule_name-20"] } }, "git_submodule_path": { "type": "function", "file": "git2/submodule.h", - "line": 372, - "lineto": 372, + "line": 381, + "lineto": 381, "args": [ { "name": "submodule", @@ -20696,14 +20894,14 @@ "comments": "

The path is almost always the same as the submodule name, but the two are actually not required to match.

\n", "group": "submodule", "examples": { - "status.c": ["ex/v1.8.4/status.html#git_submodule_path-21"] + "status.c": ["ex/v1.9.1/status.html#git_submodule_path-21"] } }, "git_submodule_url": { "type": "function", "file": "git2/submodule.h", - "line": 380, - "lineto": 380, + "line": 389, + "lineto": 389, "args": [ { "name": "submodule", @@ -20724,8 +20922,8 @@ "git_submodule_resolve_url": { "type": "function", "file": "git2/submodule.h", - "line": 390, - "lineto": 390, + "line": 399, + "lineto": 399, "args": [ { "name": "out", @@ -20749,8 +20947,8 @@ "git_submodule_branch": { "type": "function", "file": "git2/submodule.h", - "line": 398, - "lineto": 398, + "line": 407, + "lineto": 407, "args": [ { "name": "submodule", @@ -20771,8 +20969,8 @@ "git_submodule_set_branch": { "type": "function", "file": "git2/submodule.h", - "line": 411, - "lineto": 411, + "line": 420, + "lineto": 420, "args": [ { "name": "repo", @@ -20803,8 +21001,8 @@ "git_submodule_set_url": { "type": "function", "file": "git2/submodule.h", - "line": 425, - "lineto": 425, + "line": 434, + "lineto": 434, "args": [ { "name": "repo", @@ -20835,8 +21033,8 @@ "git_submodule_index_id": { "type": "function", "file": "git2/submodule.h", - "line": 433, - "lineto": 433, + "line": 442, + "lineto": 442, "args": [ { "name": "submodule", @@ -20857,8 +21055,8 @@ "git_submodule_head_id": { "type": "function", "file": "git2/submodule.h", - "line": 441, - "lineto": 441, + "line": 450, + "lineto": 450, "args": [ { "name": "submodule", @@ -20879,8 +21077,8 @@ "git_submodule_wd_id": { "type": "function", "file": "git2/submodule.h", - "line": 454, - "lineto": 454, + "line": 463, + "lineto": 463, "args": [ { "name": "submodule", @@ -20901,8 +21099,8 @@ "git_submodule_ignore": { "type": "function", "file": "git2/submodule.h", - "line": 479, - "lineto": 480, + "line": 488, + "lineto": 489, "args": [ { "name": "submodule", @@ -20923,8 +21121,8 @@ "git_submodule_set_ignore": { "type": "function", "file": "git2/submodule.h", - "line": 492, - "lineto": 495, + "line": 501, + "lineto": 504, "args": [ { "name": "repo", @@ -20952,8 +21150,8 @@ "git_submodule_update_strategy": { "type": "function", "file": "git2/submodule.h", - "line": 507, - "lineto": 508, + "line": 516, + "lineto": 517, "args": [ { "name": "submodule", @@ -20974,8 +21172,8 @@ "git_submodule_set_update": { "type": "function", "file": "git2/submodule.h", - "line": 520, - "lineto": 523, + "line": 529, + "lineto": 532, "args": [ { "name": "repo", @@ -21003,16 +21201,20 @@ "git_submodule_fetch_recurse_submodules": { "type": "function", "file": "git2/submodule.h", - "line": 536, - "lineto": 537, + "line": 546, + "lineto": 547, "args": [ - { "name": "submodule", "type": "git_submodule *", "comment": null } + { + "name": "submodule", + "type": "git_submodule *", + "comment": "the submodule to examine" + } ], "argline": "git_submodule *submodule", "sig": "git_submodule *", "return": { "type": "git_submodule_recurse_t", - "comment": " 0 if fetchRecurseSubmodules is false, 1 if true" + "comment": " the submodule recursion configuration" }, "description": "

Read the fetchRecurseSubmodules rule for a submodule.

\n", "comments": "

This accesses the submodule..fetchRecurseSubmodules value for the submodule that controls fetching behavior for the submodule.

\n\n

Note that at this time, libgit2 does not honor this setting and the fetch functionality current ignores submodules.

\n", @@ -21021,8 +21223,8 @@ "git_submodule_set_fetch_recurse_submodules": { "type": "function", "file": "git2/submodule.h", - "line": 549, - "lineto": 552, + "line": 559, + "lineto": 562, "args": [ { "name": "repo", @@ -21037,7 +21239,7 @@ { "name": "fetch_recurse_submodules", "type": "git_submodule_recurse_t", - "comment": "Boolean value" + "comment": "the submodule recursion configuration" } ], "argline": "git_repository *repo, const char *name, git_submodule_recurse_t fetch_recurse_submodules", @@ -21053,8 +21255,8 @@ "git_submodule_init": { "type": "function", "file": "git2/submodule.h", - "line": 567, - "lineto": 567, + "line": 577, + "lineto": 577, "args": [ { "name": "submodule", @@ -21080,8 +21282,8 @@ "git_submodule_repo_init": { "type": "function", "file": "git2/submodule.h", - "line": 582, - "lineto": 585, + "line": 592, + "lineto": 595, "args": [ { "name": "out", @@ -21112,8 +21314,8 @@ "git_submodule_sync": { "type": "function", "file": "git2/submodule.h", - "line": 598, - "lineto": 598, + "line": 608, + "lineto": 608, "args": [ { "name": "submodule", @@ -21131,8 +21333,8 @@ "git_submodule_open": { "type": "function", "file": "git2/submodule.h", - "line": 612, - "lineto": 614, + "line": 622, + "lineto": 624, "args": [ { "name": "repo", @@ -21158,8 +21360,8 @@ "git_submodule_reload": { "type": "function", "file": "git2/submodule.h", - "line": 626, - "lineto": 626, + "line": 636, + "lineto": 636, "args": [ { "name": "submodule", @@ -21182,8 +21384,8 @@ "git_submodule_status": { "type": "function", "file": "git2/submodule.h", - "line": 642, - "lineto": 646, + "line": 652, + "lineto": 656, "args": [ { "name": "status", @@ -21213,14 +21415,14 @@ "comments": "

This looks at a submodule and tries to determine the status. It will return a combination of the GIT_SUBMODULE_STATUS values above. How deeply it examines the working directory to do this will depend on the git_submodule_ignore_t value for the submodule.

\n", "group": "submodule", "examples": { - "status.c": ["ex/v1.8.4/status.html#git_submodule_status-22"] + "status.c": ["ex/v1.9.1/status.html#git_submodule_status-22"] } }, "git_submodule_location": { "type": "function", "file": "git2/submodule.h", - "line": 662, - "lineto": 664, + "line": 672, + "lineto": 674, "args": [ { "name": "location_status", @@ -21268,7 +21470,7 @@ "description": "

Lookup a tag object from the repository.

\n", "comments": "", "group": "tag", - "examples": { "general.c": ["ex/v1.8.4/general.html#git_tag_lookup-75"] } + "examples": { "general.c": ["ex/v1.9.1/general.html#git_tag_lookup-91"] } }, "git_tag_lookup_prefix": { "type": "function", @@ -21318,7 +21520,7 @@ "description": "

Close an open tag

\n", "comments": "

You can no longer use the git_tag pointer after this call.

\n\n

IMPORTANT: You MUST call this method when you are through with a tag to release memory. Failure to do so will cause a memory leak.

\n", "group": "tag", - "examples": { "general.c": ["ex/v1.8.4/general.html#git_tag_free-76"] } + "examples": { "general.c": ["ex/v1.9.1/general.html#git_tag_free-92"] } }, "git_tag_id": { "type": "function", @@ -21387,7 +21589,7 @@ "description": "

Get the tagged object of a tag

\n", "comments": "

This method performs a repository lookup for the given object and returns it

\n", "group": "tag", - "examples": { "general.c": ["ex/v1.8.4/general.html#git_tag_target-77"] } + "examples": { "general.c": ["ex/v1.9.1/general.html#git_tag_target-93"] } }, "git_tag_target_id": { "type": "function", @@ -21408,7 +21610,7 @@ "comments": "", "group": "tag", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_tag_target_id-31"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_tag_target_id-31"] } }, "git_tag_target_type": { @@ -21433,8 +21635,8 @@ "comments": "", "group": "tag", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_tag_target_type-32"], - "general.c": ["ex/v1.8.4/general.html#git_tag_target_type-78"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_tag_target_type-32"], + "general.c": ["ex/v1.9.1/general.html#git_tag_target_type-94"] } }, "git_tag_name": { @@ -21456,9 +21658,9 @@ "comments": "", "group": "tag", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_tag_name-33"], - "general.c": ["ex/v1.8.4/general.html#git_tag_name-79"], - "tag.c": ["ex/v1.8.4/tag.html#git_tag_name-16"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_tag_name-33"], + "general.c": ["ex/v1.9.1/general.html#git_tag_name-95"], + "tag.c": ["ex/v1.9.1/tag.html#git_tag_name-16"] } }, "git_tag_tagger": { @@ -21483,7 +21685,7 @@ "comments": "", "group": "tag", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_tag_tagger-34"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_tag_tagger-34"] } }, "git_tag_message": { @@ -21509,11 +21711,11 @@ "group": "tag", "examples": { "cat-file.c": [ - "ex/v1.8.4/cat-file.html#git_tag_message-35", - "ex/v1.8.4/cat-file.html#git_tag_message-36" + "ex/v1.9.1/cat-file.html#git_tag_message-35", + "ex/v1.9.1/cat-file.html#git_tag_message-36" ], - "general.c": ["ex/v1.8.4/general.html#git_tag_message-80"], - "tag.c": ["ex/v1.8.4/tag.html#git_tag_message-17"] + "general.c": ["ex/v1.9.1/general.html#git_tag_message-96"], + "tag.c": ["ex/v1.9.1/tag.html#git_tag_message-17"] } }, "git_tag_create": { @@ -21567,7 +21769,7 @@ "description": "

Create a new tag in the repository from an object

\n", "comments": "

A new reference will also be created pointing to this tag object. If force is true and a reference already exists with the given name, it'll be replaced.

\n\n

The message will not be cleaned up. This can be achieved through git_message_prettify().

\n\n

The tag name will be checked for validity. You must avoid the characters '~', '^', ':', '\\', '?', '[', and '*', and the sequences ".." and "@{" which have special meaning to revparse.

\n", "group": "tag", - "examples": { "tag.c": ["ex/v1.8.4/tag.html#git_tag_create-18"] } + "examples": { "tag.c": ["ex/v1.9.1/tag.html#git_tag_create-18"] } }, "git_tag_annotation_create": { "type": "function", @@ -21684,7 +21886,7 @@ "comments": "

A new direct reference will be created pointing to this target object. If force is true and a reference already exists with the given name, it'll be replaced.

\n\n

The tag name will be checked for validity. See git_tag_create() for rules about valid names.

\n", "group": "tag", "examples": { - "tag.c": ["ex/v1.8.4/tag.html#git_tag_create_lightweight-19"] + "tag.c": ["ex/v1.9.1/tag.html#git_tag_create_lightweight-19"] } }, "git_tag_delete": { @@ -21713,7 +21915,7 @@ "description": "

Delete an existing tag reference.

\n", "comments": "

The tag name will be checked for validity. See git_tag_create() for rules about valid names.

\n", "group": "tag", - "examples": { "tag.c": ["ex/v1.8.4/tag.html#git_tag_delete-20"] } + "examples": { "tag.c": ["ex/v1.9.1/tag.html#git_tag_delete-20"] } }, "git_tag_list": { "type": "function", @@ -21767,13 +21969,13 @@ "description": "

Fill a list with all the tags in the Repository\n which name match a defined pattern

\n", "comments": "

If an empty pattern is provided, all the tags will be returned.

\n\n

The string array will be filled with the names of the matching tags; these values are owned by the user and should be free'd manually when no longer needed, using git_strarray_free.

\n", "group": "tag", - "examples": { "tag.c": ["ex/v1.8.4/tag.html#git_tag_list_match-21"] } + "examples": { "tag.c": ["ex/v1.9.1/tag.html#git_tag_list_match-21"] } }, "git_tag_foreach": { "type": "function", "file": "git2/tag.h", - "line": 339, - "lineto": 342, + "line": 340, + "lineto": 343, "args": [ { "name": "repo", "type": "git_repository *", "comment": "Repository" }, { @@ -21789,7 +21991,7 @@ ], "argline": "git_repository *repo, git_tag_foreach_cb callback, void *payload", "sig": "git_repository *::git_tag_foreach_cb::void *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 on success or an error code" }, "description": "

Call callback `cb' for each tag in the repository

\n", "comments": "", "group": "tag" @@ -21797,8 +21999,8 @@ "git_tag_peel": { "type": "function", "file": "git2/tag.h", - "line": 355, - "lineto": 357, + "line": 356, + "lineto": 358, "args": [ { "name": "tag_target_out", @@ -21821,8 +22023,8 @@ "git_tag_dup": { "type": "function", "file": "git2/tag.h", - "line": 367, - "lineto": 367, + "line": 368, + "lineto": 368, "args": [ { "name": "out", @@ -21845,8 +22047,8 @@ "git_tag_name_is_valid": { "type": "function", "file": "git2/tag.h", - "line": 379, - "lineto": 379, + "line": 380, + "lineto": 380, "args": [ { "name": "valid", @@ -21869,8 +22071,8 @@ "git_trace_set": { "type": "function", "file": "git2/trace.h", - "line": 63, - "lineto": 63, + "line": 68, + "lineto": 68, "args": [ { "name": "level", @@ -22148,13 +22350,13 @@ "comments": "", "group": "tree", "examples": { - "commit.c": ["ex/v1.8.4/commit.html#git_tree_lookup-12"], + "commit.c": ["ex/v1.9.1/commit.html#git_tree_lookup-13"], "general.c": [ - "ex/v1.8.4/general.html#git_tree_lookup-81", - "ex/v1.8.4/general.html#git_tree_lookup-82" + "ex/v1.9.1/general.html#git_tree_lookup-97", + "ex/v1.9.1/general.html#git_tree_lookup-98" ], - "init.c": ["ex/v1.8.4/init.html#git_tree_lookup-12"], - "merge.c": ["ex/v1.8.4/merge.html#git_tree_lookup-37"] + "init.c": ["ex/v1.9.1/init.html#git_tree_lookup-13"], + "merge.c": ["ex/v1.9.1/merge.html#git_tree_lookup-37"] } }, "git_tree_lookup_prefix": { @@ -22206,22 +22408,22 @@ "comments": "

You can no longer use the git_tree pointer after this call.

\n\n

IMPORTANT: You MUST call this method when you stop using a tree to release memory. Failure to do so will cause a memory leak.

\n", "group": "tree", "examples": { - "commit.c": ["ex/v1.8.4/commit.html#git_tree_free-13"], + "commit.c": ["ex/v1.9.1/commit.html#git_tree_free-14"], "diff.c": [ - "ex/v1.8.4/diff.html#git_tree_free-19", - "ex/v1.8.4/diff.html#git_tree_free-20" + "ex/v1.9.1/diff.html#git_tree_free-19", + "ex/v1.9.1/diff.html#git_tree_free-20" ], "general.c": [ - "ex/v1.8.4/general.html#git_tree_free-83", - "ex/v1.8.4/general.html#git_tree_free-84" + "ex/v1.9.1/general.html#git_tree_free-99", + "ex/v1.9.1/general.html#git_tree_free-100" ], - "init.c": ["ex/v1.8.4/init.html#git_tree_free-13"], + "init.c": ["ex/v1.9.1/init.html#git_tree_free-14"], "log.c": [ - "ex/v1.8.4/log.html#git_tree_free-55", - "ex/v1.8.4/log.html#git_tree_free-56", - "ex/v1.8.4/log.html#git_tree_free-57", - "ex/v1.8.4/log.html#git_tree_free-58", - "ex/v1.8.4/log.html#git_tree_free-59" + "ex/v1.9.1/log.html#git_tree_free-55", + "ex/v1.9.1/log.html#git_tree_free-56", + "ex/v1.9.1/log.html#git_tree_free-57", + "ex/v1.9.1/log.html#git_tree_free-58", + "ex/v1.9.1/log.html#git_tree_free-59" ] } }, @@ -22291,8 +22493,8 @@ "comments": "", "group": "tree", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_tree_entrycount-37"], - "general.c": ["ex/v1.8.4/general.html#git_tree_entrycount-85"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_tree_entrycount-37"], + "general.c": ["ex/v1.9.1/general.html#git_tree_entrycount-101"] } }, "git_tree_entry_byname": { @@ -22322,7 +22524,7 @@ "comments": "

This returns a git_tree_entry that is owned by the git_tree. You don't have to free it, but you must not use it after the git_tree is released.

\n", "group": "tree", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_tree_entry_byname-86"] + "general.c": ["ex/v1.9.1/general.html#git_tree_entry_byname-102"] } }, "git_tree_entry_byindex": { @@ -22352,8 +22554,8 @@ "comments": "

This returns a git_tree_entry that is owned by the git_tree. You don't have to free it, but you must not use it after the git_tree is released.

\n", "group": "tree", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_tree_entry_byindex-38"], - "general.c": ["ex/v1.8.4/general.html#git_tree_entry_byindex-87"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_tree_entry_byindex-38"], + "general.c": ["ex/v1.9.1/general.html#git_tree_entry_byindex-103"] } }, "git_tree_entry_byid": { @@ -22477,10 +22679,10 @@ "comments": "", "group": "tree", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_tree_entry_name-39"], + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_tree_entry_name-39"], "general.c": [ - "ex/v1.8.4/general.html#git_tree_entry_name-88", - "ex/v1.8.4/general.html#git_tree_entry_name-89" + "ex/v1.9.1/general.html#git_tree_entry_name-104", + "ex/v1.9.1/general.html#git_tree_entry_name-105" ] } }, @@ -22506,7 +22708,7 @@ "comments": "", "group": "tree", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_tree_entry_id-40"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_tree_entry_id-40"] } }, "git_tree_entry_type": { @@ -22531,7 +22733,7 @@ "comments": "", "group": "tree", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_tree_entry_type-41"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_tree_entry_type-41"] } }, "git_tree_entry_filemode": { @@ -22556,7 +22758,7 @@ "comments": "", "group": "tree", "examples": { - "cat-file.c": ["ex/v1.8.4/cat-file.html#git_tree_entry_filemode-42"] + "cat-file.c": ["ex/v1.9.1/cat-file.html#git_tree_entry_filemode-42"] } }, "git_tree_entry_filemode_raw": { @@ -22637,7 +22839,7 @@ "comments": "

You must call git_object_free() on the object when you are done with it.

\n", "group": "tree", "examples": { - "general.c": ["ex/v1.8.4/general.html#git_tree_entry_to_object-90"] + "general.c": ["ex/v1.9.1/general.html#git_tree_entry_to_object-106"] } }, "git_treebuilder_new": { @@ -22828,8 +23030,8 @@ "git_treebuilder_filter": { "type": "function", "file": "git2/tree.h", - "line": 364, - "lineto": 367, + "line": 368, + "lineto": 371, "args": [ { "name": "bld", @@ -22860,8 +23062,8 @@ "git_treebuilder_write": { "type": "function", "file": "git2/tree.h", - "line": 379, - "lineto": 380, + "line": 383, + "lineto": 384, "args": [ { "name": "id", @@ -22884,8 +23086,8 @@ "git_tree_walk": { "type": "function", "file": "git2/tree.h", - "line": 409, - "lineto": 413, + "line": 420, + "lineto": 424, "args": [ { "name": "tree", @@ -22918,8 +23120,8 @@ "git_tree_dup": { "type": "function", "file": "git2/tree.h", - "line": 423, - "lineto": 423, + "line": 434, + "lineto": 434, "args": [ { "name": "out", @@ -22942,8 +23144,8 @@ "git_tree_create_updated": { "type": "function", "file": "git2/tree.h", - "line": 470, - "lineto": 470, + "line": 481, + "lineto": 481, "args": [ { "name": "out", "type": "git_oid *", "comment": "id of the new tree" }, { @@ -23095,8 +23297,8 @@ "git_worktree_add_options_init": { "type": "function", "file": "git2/worktree.h", - "line": 113, - "lineto": 114, + "line": 116, + "lineto": 117, "args": [ { "name": "opts", @@ -23122,8 +23324,8 @@ "git_worktree_add": { "type": "function", "file": "git2/worktree.h", - "line": 130, - "lineto": 132, + "line": 133, + "lineto": 135, "args": [ { "name": "out", @@ -23161,8 +23363,8 @@ "git_worktree_lock": { "type": "function", "file": "git2/worktree.h", - "line": 144, - "lineto": 144, + "line": 147, + "lineto": 147, "args": [ { "name": "wt", @@ -23188,8 +23390,8 @@ "git_worktree_unlock": { "type": "function", "file": "git2/worktree.h", - "line": 153, - "lineto": 153, + "line": 156, + "lineto": 156, "args": [ { "name": "wt", @@ -23210,8 +23412,8 @@ "git_worktree_is_locked": { "type": "function", "file": "git2/worktree.h", - "line": 167, - "lineto": 167, + "line": 170, + "lineto": 170, "args": [ { "name": "reason", @@ -23237,8 +23439,8 @@ "git_worktree_name": { "type": "function", "file": "git2/worktree.h", - "line": 176, - "lineto": 176, + "line": 179, + "lineto": 179, "args": [ { "name": "wt", @@ -23259,8 +23461,8 @@ "git_worktree_path": { "type": "function", "file": "git2/worktree.h", - "line": 185, - "lineto": 185, + "line": 188, + "lineto": 188, "args": [ { "name": "wt", @@ -23281,8 +23483,8 @@ "git_worktree_prune_options_init": { "type": "function", "file": "git2/worktree.h", - "line": 227, - "lineto": 229, + "line": 233, + "lineto": 235, "args": [ { "name": "opts", @@ -23308,8 +23510,8 @@ "git_worktree_is_prunable": { "type": "function", "file": "git2/worktree.h", - "line": 251, - "lineto": 252, + "line": 257, + "lineto": 258, "args": [ { "name": "wt", @@ -23335,8 +23537,8 @@ "git_worktree_prune": { "type": "function", "file": "git2/worktree.h", - "line": 266, - "lineto": 267, + "line": 272, + "lineto": 273, "args": [ { "name": "wt", @@ -23361,8 +23563,8 @@ "git_apply_delta_cb": { "type": "callback", "file": "git2/apply.h", - "line": 38, - "lineto": 40, + "line": 41, + "lineto": 43, "args": [ { "name": "delta", @@ -23387,8 +23589,8 @@ "git_apply_hunk_cb": { "type": "callback", "file": "git2/apply.h", - "line": 56, - "lineto": 58, + "line": 59, + "lineto": 61, "args": [ { "name": "hunk", @@ -23413,8 +23615,8 @@ "git_attr_foreach_cb": { "type": "callback", "file": "git2/attr.h", - "line": 289, - "lineto": 289, + "line": 304, + "lineto": 304, "args": [ { "name": "name", @@ -23480,67 +23682,107 @@ "git_checkout_notify_cb": { "type": "callback", "file": "git2/checkout.h", - "line": 255, - "lineto": 261, + "line": 275, + "lineto": 281, "args": [ - { "name": "why", "type": "git_checkout_notify_t", "comment": null }, - { "name": "path", "type": "const char *", "comment": null }, + { + "name": "why", + "type": "git_checkout_notify_t", + "comment": "the notification reason" + }, + { + "name": "path", + "type": "const char *", + "comment": "the path to the file being checked out" + }, { "name": "baseline", "type": "const git_diff_file *", - "comment": null + "comment": "the baseline's diff file information" }, - { "name": "target", "type": "const git_diff_file *", "comment": null }, - { "name": "workdir", "type": "const git_diff_file *", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "target", + "type": "const git_diff_file *", + "comment": "the checkout target diff file information" + }, + { + "name": "workdir", + "type": "const git_diff_file *", + "comment": "the working directory diff file information" + }, + { + "name": "payload", + "type": "void *", + "comment": "the user-supplied callback payload" + } ], "argline": "git_checkout_notify_t why, const char *path, const git_diff_file *baseline, const git_diff_file *target, const git_diff_file *workdir, void *payload", "sig": "git_checkout_notify_t::const char *::const git_diff_file *::const git_diff_file *::const git_diff_file *::void *", - "return": { "type": "int", "comment": null }, - "description": "

Checkout notification callback function

\n", + "return": { "type": "int", "comment": " 0 on success, or an error code" }, + "description": "

Checkout notification callback function.

\n", "comments": "" }, "git_checkout_progress_cb": { "type": "callback", "file": "git2/checkout.h", - "line": 264, - "lineto": 268, + "line": 291, + "lineto": 295, "args": [ - { "name": "path", "type": "const char *", "comment": null }, - { "name": "completed_steps", "type": "size_t", "comment": null }, - { "name": "total_steps", "type": "size_t", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "path", + "type": "const char *", + "comment": "the path to the file being checked out" + }, + { + "name": "completed_steps", + "type": "size_t", + "comment": "number of checkout steps completed" + }, + { + "name": "total_steps", + "type": "size_t", + "comment": "number of total steps in the checkout process" + }, + { + "name": "payload", + "type": "void *", + "comment": "the user-supplied callback payload" + } ], "argline": "const char *path, size_t completed_steps, size_t total_steps, void *payload", "sig": "const char *::size_t::size_t::void *", "return": { "type": "void", "comment": null }, - "description": "

Checkout progress notification function

\n", + "description": "

Checkout progress notification function.

\n", "comments": "" }, "git_checkout_perfdata_cb": { "type": "callback", "file": "git2/checkout.h", - "line": 271, - "lineto": 273, + "line": 303, + "lineto": 305, "args": [ { "name": "perfdata", "type": "const git_checkout_perfdata *", - "comment": null + "comment": "the performance data for the checkout" }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "payload", + "type": "void *", + "comment": "the user-supplied callback payload" + } ], "argline": "const git_checkout_perfdata *perfdata, void *payload", "sig": "const git_checkout_perfdata *::void *", "return": { "type": "void", "comment": null }, - "description": "

Checkout perfdata notification function

\n", + "description": "

Checkout performance data reporting function.

\n", "comments": "" }, "git_remote_create_cb": { "type": "callback", "file": "git2/clone.h", - "line": 69, - "lineto": 74, + "line": 73, + "lineto": 78, "args": [ { "name": "out", @@ -23576,8 +23818,8 @@ "git_repository_create_cb": { "type": "callback", "file": "git2/clone.h", - "line": 90, - "lineto": 94, + "line": 94, + "lineto": 98, "args": [ { "name": "out", @@ -23612,8 +23854,8 @@ "git_commit_create_cb": { "type": "callback", "file": "git2/commit.h", - "line": 576, - "lineto": 585, + "line": 643, + "lineto": 652, "args": [ { "name": "out", @@ -23673,8 +23915,8 @@ "git_config_foreach_cb": { "type": "callback", "file": "git2/config.h", - "line": 122, - "lineto": 122, + "line": 140, + "lineto": 140, "args": [ { "name": "entry", @@ -23693,14 +23935,14 @@ "type": "int", "comment": " non-zero to terminate the iteration." }, - "description": "

A config enumeration callback

\n", + "description": "

A config enumeration callback.

\n", "comments": "" }, "git_credential_acquire_cb": { "type": "callback", "file": "git2/credential.h", - "line": 131, - "lineto": 136, + "line": 134, + "lineto": 139, "args": [ { "name": "out", @@ -23737,11 +23979,98 @@ "description": "

Credential acquisition callback.

\n", "comments": "

This callback is usually involved any time another system might need authentication. As such, you are expected to provide a valid git_credential object back, depending on allowed_types (a git_credential_t bitmask).

\n\n

Note that most authentication details are your responsibility - this callback will be called until the authentication succeeds, or you report an error. As such, it's easy to get in a loop if you fail to stop providing the same incorrect credentials.

\n" }, + "git_credential_ssh_interactive_cb": { + "type": "callback", + "file": "git2/credential.h", + "line": 259, + "lineto": 265, + "args": [ + { "name": "name", "type": "const char *", "comment": "the name" }, + { + "name": "name_len", + "type": "int", + "comment": "the length of the name" + }, + { + "name": "instruction", + "type": "const char *", + "comment": "the authentication instruction" + }, + { + "name": "instruction_len", + "type": "int", + "comment": "the length of the instruction" + }, + { + "name": "num_prompts", + "type": "int", + "comment": "the number of prompts" + }, + { + "name": "prompts", + "type": "const LIBSSH2_USERAUTH_KBDINT_PROMPT *", + "comment": "the prompts" + }, + { + "name": "responses", + "type": "LIBSSH2_USERAUTH_KBDINT_RESPONSE *", + "comment": "the responses" + }, + { "name": "abstract", "type": "void **", "comment": "the abstract" } + ], + "argline": "const char *name, int name_len, const char *instruction, int instruction_len, int num_prompts, const LIBSSH2_USERAUTH_KBDINT_PROMPT *prompts, LIBSSH2_USERAUTH_KBDINT_RESPONSE *responses, void **abstract", + "sig": "const char *::int::const char *::int::int::const LIBSSH2_USERAUTH_KBDINT_PROMPT *::LIBSSH2_USERAUTH_KBDINT_RESPONSE *::void **", + "return": { "type": "void", "comment": null }, + "description": "

Callback for interactive SSH credentials.

\n", + "comments": "" + }, + "git_credential_sign_cb": { + "type": "callback", + "file": "git2/credential.h", + "line": 308, + "lineto": 312, + "args": [ + { + "name": "session", + "type": "LIBSSH2_SESSION *", + "comment": "the libssh2 session" + }, + { + "name": "sig", + "type": "unsigned char **", + "comment": "the signature" + }, + { + "name": "sig_len", + "type": "size_t *", + "comment": "the length of the signature" + }, + { + "name": "data", + "type": "const unsigned char *", + "comment": "the data" + }, + { + "name": "data_len", + "type": "size_t", + "comment": "the length of the data" + }, + { "name": "abstract", "type": "void **", "comment": "the abstract" } + ], + "argline": "LIBSSH2_SESSION *session, unsigned char **sig, size_t *sig_len, const unsigned char *data, size_t data_len, void **abstract", + "sig": "LIBSSH2_SESSION *::unsigned char **::size_t *::const unsigned char *::size_t::void **", + "return": { + "type": "int", + "comment": " 0 for success, \n<\n 0 to indicate an error, > 0 to indicate\n no credential was acquired" + }, + "description": "

Callback for credential signing.

\n", + "comments": "" + }, "git_commit_signing_cb": { "type": "callback", "file": "git2/deprecated.h", - "line": 276, - "lineto": 280, + "line": 285, + "lineto": 289, "args": [ { "name": "signature", "type": "git_buf *", "comment": null }, { "name": "signature_field", "type": "git_buf *", "comment": null }, @@ -23757,8 +24086,8 @@ "git_headlist_cb": { "type": "callback", "file": "git2/deprecated.h", - "line": 855, - "lineto": 855, + "line": 967, + "lineto": 967, "args": [ { "name": "rhead", "type": "git_remote_head *", "comment": null }, { "name": "payload", "type": "void *", "comment": null } @@ -23772,29 +24101,44 @@ "git_diff_notify_cb": { "type": "callback", "file": "git2/diff.h", - "line": 346, - "lineto": 350, + "line": 352, + "lineto": 356, "args": [ - { "name": "diff_so_far", "type": "const git_diff *", "comment": null }, + { + "name": "diff_so_far", + "type": "const git_diff *", + "comment": "the diff structure as it currently exists" + }, { "name": "delta_to_add", "type": "const git_diff_delta *", - "comment": null + "comment": "the delta that is to be added" }, - { "name": "matched_pathspec", "type": "const char *", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "matched_pathspec", + "type": "const char *", + "comment": "the pathspec" + }, + { + "name": "payload", + "type": "void *", + "comment": "the user-specified callback payload" + } ], "argline": "const git_diff *diff_so_far, const git_diff_delta *delta_to_add, const char *matched_pathspec, void *payload", "sig": "const git_diff *::const git_diff_delta *::const char *::void *", - "return": { "type": "int", "comment": null }, + "return": { + "type": "int", + "comment": " 0 on success, 1 to skip this delta, or an error code" + }, "description": "

Diff notification callback function.

\n", "comments": "

The callback will be called for each file, just before the git_diff_delta gets inserted into the diff.

\n\n

When the callback: - returns < 0, the diff process will be aborted. - returns > 0, the delta will not be inserted into the diff, but the diff process continues. - returns 0, the delta is inserted into the diff, and the diff process continues.

\n" }, "git_diff_progress_cb": { "type": "callback", "file": "git2/diff.h", - "line": 362, - "lineto": 366, + "line": 369, + "lineto": 373, "args": [ { "name": "diff_so_far", @@ -23811,19 +24155,23 @@ "type": "const char *", "comment": "The path to the new file or NULL." }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "payload", + "type": "void *", + "comment": "the user-specified callback payload" + } ], "argline": "const git_diff *diff_so_far, const char *old_path, const char *new_path, void *payload", "sig": "const git_diff *::const char *::const char *::void *", - "return": { "type": "int", "comment": " Non-zero to abort the diff." }, + "return": { "type": "int", "comment": " 0 or an error code" }, "description": "

Diff progress callback.

\n", "comments": "

Called before each file comparison.

\n" }, "git_diff_file_cb": { "type": "callback", "file": "git2/diff.h", - "line": 496, - "lineto": 499, + "line": 504, + "lineto": 507, "args": [ { "name": "delta", @@ -23843,84 +24191,131 @@ ], "argline": "const git_diff_delta *delta, float progress, void *payload", "sig": "const git_diff_delta *::float::void *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 or an error code" }, "description": "

When iterating over a diff, callback that will be made per file.

\n", "comments": "" }, "git_diff_binary_cb": { "type": "callback", "file": "git2/diff.h", - "line": 562, - "lineto": 565, + "line": 576, + "lineto": 579, "args": [ - { "name": "delta", "type": "const git_diff_delta *", "comment": null }, + { + "name": "delta", + "type": "const git_diff_delta *", + "comment": "the delta" + }, { "name": "binary", "type": "const git_diff_binary *", - "comment": null + "comment": "the binary content" }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "payload", + "type": "void *", + "comment": "the user-specified callback payload" + } ], "argline": "const git_diff_delta *delta, const git_diff_binary *binary, void *payload", "sig": "const git_diff_delta *::const git_diff_binary *::void *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 or an error code" }, "description": "

When iterating over a diff, callback that will be made for\n binary content within the diff.

\n", "comments": "" }, "git_diff_hunk_cb": { "type": "callback", "file": "git2/diff.h", - "line": 588, - "lineto": 591, + "line": 607, + "lineto": 610, "args": [ - { "name": "delta", "type": "const git_diff_delta *", "comment": null }, - { "name": "hunk", "type": "const git_diff_hunk *", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "delta", + "type": "const git_diff_delta *", + "comment": "the delta" + }, + { + "name": "hunk", + "type": "const git_diff_hunk *", + "comment": "the hunk" + }, + { + "name": "payload", + "type": "void *", + "comment": "the user-specified callback payload" + } ], "argline": "const git_diff_delta *delta, const git_diff_hunk *hunk, void *payload", "sig": "const git_diff_delta *::const git_diff_hunk *::void *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 or an error code" }, "description": "

When iterating over a diff, callback that will be made per hunk.

\n", "comments": "" }, "git_diff_line_cb": { "type": "callback", "file": "git2/diff.h", - "line": 649, - "lineto": 653, + "line": 674, + "lineto": 678, "args": [ - { "name": "delta", "type": "const git_diff_delta *", "comment": null }, - { "name": "hunk", "type": "const git_diff_hunk *", "comment": null }, - { "name": "line", "type": "const git_diff_line *", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "delta", + "type": "const git_diff_delta *", + "comment": "the delta that contains the line" + }, + { + "name": "hunk", + "type": "const git_diff_hunk *", + "comment": "the hunk that contains the line" + }, + { + "name": "line", + "type": "const git_diff_line *", + "comment": "the line in the diff" + }, + { + "name": "payload", + "type": "void *", + "comment": "the user-specified callback payload" + } ], "argline": "const git_diff_delta *delta, const git_diff_hunk *hunk, const git_diff_line *line, void *payload", "sig": "const git_diff_delta *::const git_diff_hunk *::const git_diff_line *::void *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 or an error code" }, "description": "

When iterating over a diff, callback that will be made per text diff\n line. In this context, the provided range will be NULL.

\n", "comments": "

When printing a diff, callback that will be made to output each line of text. This uses some extra GIT_DIFF_LINE_... constants for output of lines of file and hunk headers.

\n" }, "git_index_matched_path_cb": { "type": "callback", "file": "git2/index.h", - "line": 135, - "lineto": 136, + "line": 158, + "lineto": 159, "args": [ - { "name": "path", "type": "const char *", "comment": null }, - { "name": "matched_pathspec", "type": "const char *", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { "name": "path", "type": "const char *", "comment": "the path" }, + { + "name": "matched_pathspec", + "type": "const char *", + "comment": "the given pathspec" + }, + { + "name": "payload", + "type": "void *", + "comment": "the user-specified payload" + } ], "argline": "const char *path, const char *matched_pathspec, void *payload", "sig": "const char *::const char *::void *", - "return": { "type": "int", "comment": null }, - "description": "

Callback for APIs that add/remove/update files matching pathspec

\n", + "return": { + "type": "int", + "comment": " 0 to continue with the index operation, positive number to skip this file for the index operation, negative number on failure" + }, + "description": "

Callback for APIs that add/remove/update files matching pathspec

\n", "comments": "" }, "git_indexer_progress_cb": { "type": "callback", "file": "git2/indexer.h", - "line": 57, - "lineto": 57, + "line": 68, + "lineto": 68, "args": [ { "name": "stats", @@ -23935,7 +24330,7 @@ ], "argline": "const git_indexer_progress *stats, void *payload", "sig": "const git_indexer_progress *::void *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 on success or an error code" }, "description": "

Type for progress callbacks during indexing. Return a value less\n than zero to cancel the indexing or download.

\n", "comments": "" }, @@ -23943,34 +24338,53 @@ "type": "callback", "file": "git2/notes.h", "line": 29, - "lineto": 30, + "lineto": 32, "args": [ - { "name": "blob_id", "type": "const git_oid *", "comment": null }, + { + "name": "blob_id", + "type": "const git_oid *", + "comment": "object id of the blob containing the message" + }, { "name": "annotated_object_id", "type": "const git_oid *", - "comment": null + "comment": "the id of the object being annotated" }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "payload", + "type": "void *", + "comment": "user-specified data to the foreach function" + } ], "argline": "const git_oid *blob_id, const git_oid *annotated_object_id, void *payload", "sig": "const git_oid *::const git_oid *::void *", - "return": { "type": "int", "comment": null }, + "return": { + "type": "int", + "comment": " 0 on success, or a negative number on failure" + }, "description": "

Callback for git_note_foreach.

\n", - "comments": "

Receives: - blob_id: Oid of the blob containing the message - annotated_object_id: Oid of the git object being annotated - payload: Payload data passed to git_note_foreach

\n" + "comments": "" }, "git_odb_foreach_cb": { "type": "callback", "file": "git2/odb.h", - "line": 39, - "lineto": 39, + "line": 43, + "lineto": 43, "args": [ - { "name": "id", "type": "const git_oid *", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "id", + "type": "const git_oid *", + "comment": "an id of an object in the object database" + }, + { + "name": "payload", + "type": "void *", + "comment": "the payload from the initial call to git_odb_foreach" + } ], "argline": "const git_oid *id, void *payload", "sig": "const git_oid *::void *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 on success, or an error code" }, "description": "

Function type for callbacks from git_odb_foreach.

\n", "comments": "" }, @@ -24008,25 +24422,41 @@ "git_packbuilder_progress": { "type": "callback", "file": "git2/pack.h", - "line": 237, - "lineto": 241, + "line": 245, + "lineto": 249, "args": [ - { "name": "stage", "type": "int", "comment": null }, - { "name": "current", "type": "uint32_t", "comment": null }, - { "name": "total", "type": "uint32_t", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "stage", + "type": "int", + "comment": "the stage of the packbuilder" + }, + { + "name": "current", + "type": "uint32_t", + "comment": "the current object" + }, + { + "name": "total", + "type": "uint32_t", + "comment": "the total number of objects" + }, + { + "name": "payload", + "type": "void *", + "comment": "the callback payload" + } ], "argline": "int stage, uint32_t current, uint32_t total, void *payload", "sig": "int::uint32_t::uint32_t::void *", - "return": { "type": "int", "comment": null }, - "description": "

Packbuilder progress notification function

\n", + "return": { "type": "int", "comment": " 0 on success or an error code" }, + "description": "

Packbuilder progress notification function.

\n", "comments": "" }, "git_reference_foreach_cb": { "type": "callback", "file": "git2/refs.h", - "line": 437, - "lineto": 437, + "line": 439, + "lineto": 439, "args": [ { "name": "reference", @@ -24051,8 +24481,8 @@ "git_reference_foreach_name_cb": { "type": "callback", "file": "git2/refs.h", - "line": 448, - "lineto": 448, + "line": 450, + "lineto": 450, "args": [ { "name": "name", @@ -24077,25 +24507,44 @@ "git_push_transfer_progress_cb": { "type": "callback", "file": "git2/remote.h", - "line": 470, - "lineto": 474, + "line": 481, + "lineto": 485, "args": [ - { "name": "current", "type": "unsigned int", "comment": null }, - { "name": "total", "type": "unsigned int", "comment": null }, - { "name": "bytes", "type": "size_t", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "current", + "type": "unsigned int", + "comment": "The number of objects pushed so far" + }, + { + "name": "total", + "type": "unsigned int", + "comment": "The total number of objects to push" + }, + { + "name": "bytes", + "type": "size_t", + "comment": "The number of bytes pushed" + }, + { + "name": "payload", + "type": "void *", + "comment": "The user-specified payload callback" + } ], "argline": "unsigned int current, unsigned int total, size_t bytes, void *payload", "sig": "unsigned int::unsigned int::size_t::void *", - "return": { "type": "int", "comment": null }, - "description": "

Push network progress notification function

\n", + "return": { + "type": "int", + "comment": " 0 or an error code to stop the transfer" + }, + "description": "

Push network progress notification callback.

\n", "comments": "" }, "git_push_negotiation": { "type": "callback", "file": "git2/remote.h", - "line": 506, - "lineto": 506, + "line": 518, + "lineto": 521, "args": [ { "name": "updates", @@ -24115,15 +24564,18 @@ ], "argline": "const git_push_update **updates, size_t len, void *payload", "sig": "const git_push_update **::size_t::void *", - "return": { "type": "int", "comment": null }, + "return": { + "type": "int", + "comment": " 0 or an error code to stop the push" + }, "description": "

Callback used to inform of upcoming updates.

\n", "comments": "" }, "git_push_update_reference_cb": { "type": "callback", "file": "git2/remote.h", - "line": 520, - "lineto": 520, + "line": 535, + "lineto": 535, "args": [ { "name": "refname", @@ -24153,8 +24605,8 @@ "git_url_resolve_cb": { "type": "callback", "file": "git2/remote.h", - "line": 536, - "lineto": 536, + "line": 551, + "lineto": 551, "args": [ { "name": "url_resolved", @@ -24189,8 +24641,8 @@ "git_remote_ready_cb": { "type": "callback", "file": "git2/remote.h", - "line": 549, - "lineto": 549, + "line": 564, + "lineto": 564, "args": [ { "name": "remote", @@ -24217,8 +24669,8 @@ "git_repository_fetchhead_foreach_cb": { "type": "callback", "file": "git2/repository.h", - "line": 726, - "lineto": 730, + "line": 746, + "lineto": 750, "args": [ { "name": "ref_name", @@ -24258,8 +24710,8 @@ "git_repository_mergehead_foreach_cb": { "type": "callback", "file": "git2/repository.h", - "line": 757, - "lineto": 758, + "line": 777, + "lineto": 778, "args": [ { "name": "oid", @@ -24310,27 +24762,31 @@ "git_stash_apply_progress_cb": { "type": "callback", "file": "git2/stash.h", - "line": 169, - "lineto": 171, + "line": 181, + "lineto": 183, "args": [ { "name": "progress", "type": "git_stash_apply_progress_t", - "comment": null + "comment": "the progress information" }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "payload", + "type": "void *", + "comment": "the user-specified payload to the apply function" + } ], "argline": "git_stash_apply_progress_t progress, void *payload", "sig": "git_stash_apply_progress_t::void *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 on success, -1 on error" }, "description": "

Stash application progress notification function.\n Return 0 to continue processing, or a negative value to\n abort the stash application.

\n", "comments": "" }, "git_stash_cb": { "type": "callback", "file": "git2/stash.h", - "line": 255, - "lineto": 259, + "line": 268, + "lineto": 272, "args": [ { "name": "index", @@ -24365,24 +24821,39 @@ "git_status_cb": { "type": "callback", "file": "git2/status.h", - "line": 63, - "lineto": 64, + "line": 62, + "lineto": 63, "args": [ - { "name": "path", "type": "const char *", "comment": null }, - { "name": "status_flags", "type": "unsigned int", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "path", + "type": "const char *", + "comment": "is the path to the file" + }, + { + "name": "status_flags", + "type": "unsigned int", + "comment": "the `git_status_t` values for file's status" + }, + { + "name": "payload", + "type": "void *", + "comment": "the user-specified payload to the foreach function" + } ], "argline": "const char *path, unsigned int status_flags, void *payload", "sig": "const char *::unsigned int::void *", - "return": { "type": "int", "comment": null }, + "return": { + "type": "int", + "comment": " 0 on success, or a negative number on failure" + }, "description": "

Function pointer to receive status on individual files

\n", - "comments": "

path is the relative path to the file from the root of the repository.

\n\n

status_flags is a combination of git_status_t values that apply.

\n\n

payload is the value you passed to the foreach function as payload.

\n" + "comments": "" }, "git_submodule_cb": { "type": "callback", "file": "git2/submodule.h", - "line": 118, - "lineto": 119, + "line": 125, + "lineto": 126, "args": [ { "name": "sm", @@ -24432,11 +24903,19 @@ "git_trace_cb": { "type": "callback", "file": "git2/trace.h", - "line": 52, - "lineto": 52, + "line": 55, + "lineto": 57, "args": [ - { "name": "level", "type": "git_trace_level_t", "comment": null }, - { "name": "msg", "type": "const char *", "comment": null } + { + "name": "level", + "type": "git_trace_level_t", + "comment": "the trace level" + }, + { + "name": "msg", + "type": "const char *", + "comment": "the trace message" + } ], "argline": "git_trace_level_t level, const char *msg", "sig": "git_trace_level_t::const char *", @@ -24447,8 +24926,8 @@ "git_transport_message_cb": { "type": "callback", "file": "git2/transport.h", - "line": 34, - "lineto": 34, + "line": 35, + "lineto": 35, "args": [ { "name": "str", @@ -24468,55 +24947,93 @@ ], "argline": "const char *str, int len, void *payload", "sig": "const char *::int::void *", - "return": { "type": "int", "comment": null }, + "return": { "type": "int", "comment": " 0 on success or an error code" }, "description": "

Callback for messages received by the transport.

\n", "comments": "

Return a negative value to cancel the network operation.

\n" }, "git_transport_cb": { "type": "callback", "file": "git2/transport.h", - "line": 37, - "lineto": 37, + "line": 45, + "lineto": 45, "args": [ - { "name": "out", "type": "git_transport **", "comment": null }, - { "name": "owner", "type": "git_remote *", "comment": null }, - { "name": "param", "type": "void *", "comment": null } + { + "name": "out", + "type": "git_transport **", + "comment": "the transport generate" + }, + { + "name": "owner", + "type": "git_remote *", + "comment": "the owner for the transport" + }, + { + "name": "param", + "type": "void *", + "comment": "the param to the transport creation" + } ], "argline": "git_transport **out, git_remote *owner, void *param", "sig": "git_transport **::git_remote *::void *", - "return": { "type": "int", "comment": null }, - "description": "

Signature of a function which creates a transport

\n", + "return": { "type": "int", "comment": " 0 on success or an error code" }, + "description": "

Signature of a function which creates a transport.

\n", "comments": "" }, "git_treebuilder_filter_cb": { "type": "callback", "file": "git2/tree.h", - "line": 349, - "lineto": 350, + "line": 353, + "lineto": 354, "args": [ - { "name": "entry", "type": "const git_tree_entry *", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "entry", + "type": "const git_tree_entry *", + "comment": "the tree entry for the callback to examine" + }, + { + "name": "payload", + "type": "void *", + "comment": "the payload from the caller" + } ], "argline": "const git_tree_entry *entry, void *payload", "sig": "const git_tree_entry *::void *", - "return": { "type": "int", "comment": null }, + "return": { + "type": "int", + "comment": " 0 to do nothing, non-zero to remove the entry" + }, "description": "

Callback for git_treebuilder_filter

\n", "comments": "

The return value is treated as a boolean, with zero indicating that the entry should be left alone and any non-zero value meaning that the entry should be removed from the treebuilder list (i.e. filtered out).

\n" }, "git_treewalk_cb": { "type": "callback", "file": "git2/tree.h", - "line": 383, - "lineto": 384, + "line": 394, + "lineto": 395, "args": [ - { "name": "root", "type": "const char *", "comment": null }, - { "name": "entry", "type": "const git_tree_entry *", "comment": null }, - { "name": "payload", "type": "void *", "comment": null } + { + "name": "root", + "type": "const char *", + "comment": "the current (relative) root to the entry" + }, + { + "name": "entry", + "type": "const git_tree_entry *", + "comment": "the tree entry" + }, + { + "name": "payload", + "type": "void *", + "comment": "the caller-provided callback payload" + } ], "argline": "const char *root, const git_tree_entry *entry, void *payload", "sig": "const char *::const git_tree_entry *::void *", - "return": { "type": "int", "comment": null }, - "description": "

Callback for the tree traversal method

\n", + "return": { + "type": "int", + "comment": " a positive value to skip the entry, a negative value to stop the walk" + }, + "description": "

Callback for the tree traversal method.

\n", "comments": "" } }, @@ -24529,11 +25046,11 @@ "type": "struct", "value": "git_annotated_commit", "file": "git2/types.h", - "line": 198, - "lineto": 198, + "line": 214, + "lineto": 214, "tdef": "typedef", - "description": " Annotated commits, the input to merge and rebase. ", - "comments": "", + "description": " Annotated commits are commits with additional metadata about how the\n commit was resolved, which can be used for maintaining the user's\n \"intent\" through commands like merge and rebase.", + "comments": "

For example, if a user wants to conceptually "merge HEAD", then the commit portion of an annotated commit will point to the HEAD commit, but the annotation will denote the ref HEAD. This allows git to perform the internal bookkeeping so that the system knows both the content of what is being merged but also how the content was looked up so that it can be recorded in the reflog appropriately.

\n", "used": { "returns": [], "needs": [ @@ -24561,12 +25078,12 @@ "decl": ["GIT_APPLY_CHECK"], "type": "enum", "file": "git2/apply.h", - "line": 61, - "lineto": 67, + "line": 72, + "lineto": 78, "block": "GIT_APPLY_CHECK", "tdef": "typedef", - "description": " Flags controlling the behavior of git_apply ", - "comments": "", + "description": " Flags controlling the behavior of `git_apply`.", + "comments": "

When the callback: - returns < 0, the apply process will be aborted. - returns > 0, the hunk will not be applied, but the apply process continues - returns 0, the hunk is applied, and the apply process continues.

\n", "fields": [ { "type": "int", @@ -24588,8 +25105,8 @@ ], "type": "enum", "file": "git2/apply.h", - "line": 127, - "lineto": 145, + "line": 148, + "lineto": 166, "block": "GIT_APPLY_LOCATION_WORKDIR\nGIT_APPLY_LOCATION_INDEX\nGIT_APPLY_LOCATION_BOTH", "tdef": "typedef", "description": " Possible application locations for git_apply ", @@ -24630,12 +25147,12 @@ "type": "struct", "value": "git_apply_options", "file": "git2/apply.h", - "line": 77, - "lineto": 91, + "line": 95, + "lineto": 109, "block": "unsigned int version\ngit_apply_delta_cb delta_cb\ngit_apply_hunk_cb hunk_cb\nvoid * payload\nunsigned int flags", "tdef": "typedef", - "description": " Apply options structure", - "comments": "

Initialize with GIT_APPLY_OPTIONS_INIT. Alternatively, you can use git_apply_options_init.

\n", + "description": " Apply options structure.", + "comments": "

When the callback: - returns < 0, the apply process will be aborted. - returns > 0, the hunk will not be applied, but the apply process continues - returns 0, the hunk is applied, and the apply process continues.

\n\n

Initialize with GIT_APPLY_OPTIONS_INIT. Alternatively, you can use git_apply_options_init.

\n", "fields": [ { "type": "unsigned int", @@ -24655,12 +25172,12 @@ { "type": "void *", "name": "payload", - "comments": " Payload passed to both delta_cb \n&\n hunk_cb. " + "comments": " Payload passed to both `delta_cb` \n&\n `hunk_cb`. " }, { "type": "unsigned int", "name": "flags", - "comments": " Bitmask of git_apply_flags_t " + "comments": " Bitmask of `git_apply_flags_t` " } ], "used": { @@ -24681,8 +25198,8 @@ "type": "struct", "value": "git_attr_options", "file": "git2/attr.h", - "line": 142, - "lineto": 159, + "line": 154, + "lineto": 171, "block": "unsigned int version\nunsigned int flags\ngit_oid * commit_id\ngit_oid attr_commit_id", "tdef": "typedef", "description": " An options structure for querying attributes.", @@ -24722,8 +25239,8 @@ ], "type": "enum", "file": "git2/attr.h", - "line": 82, - "lineto": 87, + "line": 86, + "lineto": 91, "block": "GIT_ATTR_VALUE_UNSPECIFIED\nGIT_ATTR_VALUE_TRUE\nGIT_ATTR_VALUE_FALSE\nGIT_ATTR_VALUE_STRING", "tdef": "typedef", "description": " Possible states for an attribute", @@ -24764,24 +25281,31 @@ "type": "struct", "value": "git_blame", "file": "git2/blame.h", - "line": 202, - "lineto": 202, + "line": 236, + "lineto": 236, "tdef": "typedef", "description": " Opaque structure to hold blame results ", "comments": "", "used": { "returns": [ "git_blame_get_hunk_byindex", - "git_blame_get_hunk_byline" + "git_blame_get_hunk_byline", + "git_blame_hunk_byindex", + "git_blame_hunk_byline", + "git_blame_line_byindex" ], "needs": [ "git_blame_buffer", - "git_blame_file", "git_blame_free", "git_blame_get_hunk_byindex", "git_blame_get_hunk_byline", "git_blame_get_hunk_count", + "git_blame_hunk_byindex", + "git_blame_hunk_byline", + "git_blame_hunkcount", "git_blame_init_options", + "git_blame_line_byindex", + "git_blame_linecount", "git_blame_options_init" ] } @@ -24802,8 +25326,8 @@ ], "type": "enum", "file": "git2/blame.h", - "line": 26, - "lineto": 77, + "line": 31, + "lineto": 82, "block": "GIT_BLAME_NORMAL\nGIT_BLAME_TRACK_COPIES_SAME_FILE\nGIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES\nGIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES\nGIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES\nGIT_BLAME_FIRST_PARENT\nGIT_BLAME_USE_MAILMAP\nGIT_BLAME_IGNORE_WHITESPACE", "tdef": "typedef", "description": " Flags for indicating option behavior for git_blame APIs.", @@ -24862,82 +25386,23 @@ } ], [ - "git_blame_hunk", + "git_blame_line", { - "decl": [ - "size_t lines_in_hunk", - "git_oid final_commit_id", - "size_t final_start_line_number", - "git_signature * final_signature", - "git_oid orig_commit_id", - "const char * orig_path", - "size_t orig_start_line_number", - "git_signature * orig_signature", - "char boundary" - ], + "decl": ["const char * ptr", "size_t len"], "type": "struct", - "value": "git_blame_hunk", + "value": "git_blame_line", "file": "git2/blame.h", - "line": 145, - "lineto": 198, - "block": "size_t lines_in_hunk\ngit_oid final_commit_id\nsize_t final_start_line_number\ngit_signature * final_signature\ngit_oid orig_commit_id\nconst char * orig_path\nsize_t orig_start_line_number\ngit_signature * orig_signature\nchar boundary", + "line": 230, + "lineto": 233, + "block": "const char * ptr\nsize_t len", "tdef": "typedef", - "description": " Structure that represents a blame hunk.", + "description": " Structure that represents a line in a blamed file.", "comments": "", "fields": [ - { - "type": "size_t", - "name": "lines_in_hunk", - "comments": " The number of lines in this hunk." - }, - { - "type": "git_oid", - "name": "final_commit_id", - "comments": " The OID of the commit where this line was last changed." - }, - { - "type": "size_t", - "name": "final_start_line_number", - "comments": " The 1-based line number where this hunk begins, in the final version\n of the file." - }, - { - "type": "git_signature *", - "name": "final_signature", - "comments": " The author of `final_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been\n specified, it will contain the canonical real name and email address." - }, - { - "type": "git_oid", - "name": "orig_commit_id", - "comments": " The OID of the commit where this hunk was found.\n This will usually be the same as `final_commit_id`, except when\n `GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES` has been specified." - }, - { - "type": "const char *", - "name": "orig_path", - "comments": " The path to the file where this hunk originated, as of the commit\n specified by `orig_commit_id`." - }, - { - "type": "size_t", - "name": "orig_start_line_number", - "comments": " The 1-based line number where this hunk begins in the file named by\n `orig_path` in the commit specified by `orig_commit_id`." - }, - { - "type": "git_signature *", - "name": "orig_signature", - "comments": " The author of `orig_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been\n specified, it will contain the canonical real name and email address." - }, - { - "type": "char", - "name": "boundary", - "comments": " The 1 iff the hunk has been tracked to a boundary commit (the root,\n or the commit specified in git_blame_options.oldest_commit)" - } + { "type": "const char *", "name": "ptr", "comments": "" }, + { "type": "size_t", "name": "len", "comments": "" } ], - "used": { - "returns": [ - "git_blame_get_hunk_byindex", - "git_blame_get_hunk_byline" - ], - "needs": [] - } + "used": { "returns": ["git_blame_line_byindex"], "needs": [] } } ], [ @@ -24945,7 +25410,7 @@ { "decl": [ "unsigned int version", - "uint32_t flags", + "unsigned int flags", "uint16_t min_match_characters", "git_oid newest_commit", "git_oid oldest_commit", @@ -24955,16 +25420,16 @@ "type": "struct", "value": "git_blame_options", "file": "git2/blame.h", - "line": 86, - "lineto": 123, - "block": "unsigned int version\nuint32_t flags\nuint16_t min_match_characters\ngit_oid newest_commit\ngit_oid oldest_commit\nsize_t min_line\nsize_t max_line", + "line": 91, + "lineto": 128, + "block": "unsigned int version\nunsigned int flags\nuint16_t min_match_characters\ngit_oid newest_commit\ngit_oid oldest_commit\nsize_t min_line\nsize_t max_line", "tdef": "typedef", "description": " Blame options structure", "comments": "

Initialize with GIT_BLAME_OPTIONS_INIT. Alternatively, you can use git_blame_options_init.

\n", "fields": [ { "type": "unsigned int", "name": "version", "comments": "" }, { - "type": "uint32_t", + "type": "unsigned int", "name": "flags", "comments": " A combination of `git_blame_flag_t` " }, @@ -24996,11 +25461,7 @@ ], "used": { "returns": [], - "needs": [ - "git_blame_file", - "git_blame_init_options", - "git_blame_options_init" - ] + "needs": ["git_blame_init_options", "git_blame_options_init"] } } ], @@ -25011,8 +25472,8 @@ "type": "struct", "value": "git_blob", "file": "git2/types.h", - "line": 133, - "lineto": 133, + "line": 138, + "lineto": 138, "tdef": "typedef", "description": " In-memory representation of a blob object. ", "comments": "", @@ -25054,8 +25515,8 @@ ], "type": "enum", "file": "git2/blob.h", - "line": 102, - "lineto": 123, + "line": 111, + "lineto": 132, "block": "GIT_BLOB_FILTER_CHECK_FOR_BINARY\nGIT_BLOB_FILTER_NO_SYSTEM_ATTRIBUTES\nGIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD\nGIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT", "tdef": "typedef", "description": " Flags to control the functionality of `git_blob_filter`.", @@ -25101,20 +25562,28 @@ "type": "struct", "value": "git_blob_filter_options", "file": "git2/blob.h", - "line": 132, - "lineto": 149, + "line": 144, + "lineto": 176, "block": "int version\nuint32_t flags\ngit_oid * commit_id\ngit_oid attr_commit_id", "tdef": "typedef", "description": " The options used when applying filter options to a file.", - "comments": "

Initialize with GIT_BLOB_FILTER_OPTIONS_INIT. Alternatively, you can use git_blob_filter_options_init.

\n", + "comments": "

Initialize with GIT_BLOB_FILTER_OPTIONS_INIT. Alternatively, you can use git_blob_filter_options_init.

\n\n

[version] GIT_BLOB_FILTER_OPTIONS_VERSION [init_macro] GIT_BLOB_FILTER_OPTIONS_INIT [init_function] git_blob_filter_options_init

\n", "fields": [ - { "type": "int", "name": "version", "comments": "" }, + { + "type": "int", + "name": "version", + "comments": " Version number of the options structure. " + }, { "type": "uint32_t", "name": "flags", - "comments": " Flags to control the filtering process, see `git_blob_filter_flag_t` above " + "comments": " Flags to control the filtering process, see `git_blob_filter_flag_t` above.\n\n \n\n[flags] git_blob_filter_flag_t" + }, + { + "type": "git_oid *", + "name": "commit_id", + "comments": " This value is unused and reserved for API compatibility.\n\n " }, - { "type": "git_oid *", "name": "commit_id", "comments": "" }, { "type": "git_oid", "name": "attr_commit_id", @@ -25134,8 +25603,8 @@ "type": "struct", "value": "git_branch_iterator", "file": "git2/branch.h", - "line": 90, - "lineto": 90, + "line": 97, + "lineto": 97, "tdef": "typedef", "description": " Iterator type for branches ", "comments": "", @@ -25155,8 +25624,8 @@ "decl": ["GIT_BRANCH_LOCAL", "GIT_BRANCH_REMOTE", "GIT_BRANCH_ALL"], "type": "enum", "file": "git2/types.h", - "line": 215, - "lineto": 219, + "line": 231, + "lineto": 235, "block": "GIT_BRANCH_LOCAL\nGIT_BRANCH_REMOTE\nGIT_BRANCH_ALL", "tdef": "typedef", "description": " Basic type of any Git branch. ", @@ -25198,8 +25667,8 @@ "type": "struct", "value": "git_buf", "file": "git2/buffer.h", - "line": 33, - "lineto": 52, + "line": 36, + "lineto": 55, "block": "char * ptr\nsize_t reserved\nsize_t size", "tdef": "typedef", "description": " A data buffer for exporting data from libgit2", @@ -25253,14 +25722,12 @@ "git_diff_stats_to_buf", "git_diff_to_buf", "git_email_create_from_commit", - "git_email_create_from_diff", "git_filter_list_apply_to_blob", "git_filter_list_apply_to_buffer", "git_filter_list_apply_to_data", "git_filter_list_apply_to_file", "git_filter_list_stream_data", "git_message_prettify", - "git_note_default_ref", "git_object_short_id", "git_packbuilder_write_buf", "git_patch_to_buf", @@ -25285,8 +25752,8 @@ "type": "struct", "value": "git_cert", "file": "git2/types.h", - "line": 262, - "lineto": 262, + "line": 278, + "lineto": 278, "block": "git_cert_t cert_type", "tdef": "typedef", "description": " Parent type for `git_cert_hostkey` and `git_cert_x509`.", @@ -25510,8 +25977,8 @@ ], "type": "enum", "file": "git2/checkout.h", - "line": 214, - "lineto": 245, + "line": 224, + "lineto": 255, "block": "GIT_CHECKOUT_NOTIFY_NONE\nGIT_CHECKOUT_NOTIFY_CONFLICT\nGIT_CHECKOUT_NOTIFY_DIRTY\nGIT_CHECKOUT_NOTIFY_UPDATED\nGIT_CHECKOUT_NOTIFY_UNTRACKED\nGIT_CHECKOUT_NOTIFY_IGNORED\nGIT_CHECKOUT_NOTIFY_ALL", "tdef": "typedef", "description": " Checkout notification flags", @@ -25591,12 +26058,12 @@ "type": "struct", "value": "git_checkout_options", "file": "git2/checkout.h", - "line": 282, - "lineto": 345, + "line": 317, + "lineto": 391, "block": "unsigned int version\nunsigned int checkout_strategy\nint disable_filters\nunsigned int dir_mode\nunsigned int file_mode\nint file_open_flags\nunsigned int notify_flags\ngit_checkout_notify_cb notify_cb\nvoid * notify_payload\ngit_checkout_progress_cb progress_cb\nvoid * progress_payload\ngit_strarray paths\ngit_tree * baseline\ngit_index * baseline_index\nconst char * target_directory\nconst char * ancestor_label\nconst char * our_label\nconst char * their_label\ngit_checkout_perfdata_cb perfdata_cb\nvoid * perfdata_payload", "tdef": "typedef", "description": " Checkout options structure", - "comments": "

Initialize with GIT_CHECKOUT_OPTIONS_INIT. Alternatively, you can use git_checkout_options_init.

\n", + "comments": "

Initialize with GIT_CHECKOUT_OPTIONS_INIT. Alternatively, you can use git_checkout_options_init.

\n\n

[version] GIT_CHECKOUT_OPTIONS_VERSION [init_macro] GIT_CHECKOUT_OPTIONS_INIT [init_function] git_checkout_options_init

\n", "fields": [ { "type": "unsigned int", @@ -25631,7 +26098,7 @@ { "type": "unsigned int", "name": "notify_flags", - "comments": " see `git_checkout_notify_t` above " + "comments": " Checkout notification flags specify what operations the notify\n callback is invoked for.\n\n \n\n[flags] git_checkout_notify_t" }, { "type": "git_checkout_notify_cb", @@ -25724,8 +26191,8 @@ "type": "struct", "value": "git_checkout_perfdata", "file": "git2/checkout.h", - "line": 248, - "lineto": 252, + "line": 258, + "lineto": 262, "block": "size_t mkdir_calls\nsize_t stat_calls\nsize_t chmod_calls", "tdef": "typedef", "description": " Checkout performance-reporting structure ", @@ -25742,7 +26209,6 @@ "git_checkout_strategy_t", { "decl": [ - "GIT_CHECKOUT_NONE", "GIT_CHECKOUT_SAFE", "GIT_CHECKOUT_FORCE", "GIT_CHECKOUT_RECREATE_MISSING", @@ -25764,34 +26230,29 @@ "GIT_CHECKOUT_DONT_WRITE_INDEX", "GIT_CHECKOUT_DRY_RUN", "GIT_CHECKOUT_CONFLICT_STYLE_ZDIFF3", + "GIT_CHECKOUT_NONE", "GIT_CHECKOUT_UPDATE_SUBMODULES", "GIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED" ], "type": "enum", "file": "git2/checkout.h", - "line": 106, - "lineto": 198, - "block": "GIT_CHECKOUT_NONE\nGIT_CHECKOUT_SAFE\nGIT_CHECKOUT_FORCE\nGIT_CHECKOUT_RECREATE_MISSING\nGIT_CHECKOUT_ALLOW_CONFLICTS\nGIT_CHECKOUT_REMOVE_UNTRACKED\nGIT_CHECKOUT_REMOVE_IGNORED\nGIT_CHECKOUT_UPDATE_ONLY\nGIT_CHECKOUT_DONT_UPDATE_INDEX\nGIT_CHECKOUT_NO_REFRESH\nGIT_CHECKOUT_SKIP_UNMERGED\nGIT_CHECKOUT_USE_OURS\nGIT_CHECKOUT_USE_THEIRS\nGIT_CHECKOUT_DISABLE_PATHSPEC_MATCH\nGIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES\nGIT_CHECKOUT_DONT_OVERWRITE_IGNORED\nGIT_CHECKOUT_CONFLICT_STYLE_MERGE\nGIT_CHECKOUT_CONFLICT_STYLE_DIFF3\nGIT_CHECKOUT_DONT_REMOVE_EXISTING\nGIT_CHECKOUT_DONT_WRITE_INDEX\nGIT_CHECKOUT_DRY_RUN\nGIT_CHECKOUT_CONFLICT_STYLE_ZDIFF3\nGIT_CHECKOUT_UPDATE_SUBMODULES\nGIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED", + "line": 113, + "lineto": 206, + "block": "GIT_CHECKOUT_SAFE\nGIT_CHECKOUT_FORCE\nGIT_CHECKOUT_RECREATE_MISSING\nGIT_CHECKOUT_ALLOW_CONFLICTS\nGIT_CHECKOUT_REMOVE_UNTRACKED\nGIT_CHECKOUT_REMOVE_IGNORED\nGIT_CHECKOUT_UPDATE_ONLY\nGIT_CHECKOUT_DONT_UPDATE_INDEX\nGIT_CHECKOUT_NO_REFRESH\nGIT_CHECKOUT_SKIP_UNMERGED\nGIT_CHECKOUT_USE_OURS\nGIT_CHECKOUT_USE_THEIRS\nGIT_CHECKOUT_DISABLE_PATHSPEC_MATCH\nGIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES\nGIT_CHECKOUT_DONT_OVERWRITE_IGNORED\nGIT_CHECKOUT_CONFLICT_STYLE_MERGE\nGIT_CHECKOUT_CONFLICT_STYLE_DIFF3\nGIT_CHECKOUT_DONT_REMOVE_EXISTING\nGIT_CHECKOUT_DONT_WRITE_INDEX\nGIT_CHECKOUT_DRY_RUN\nGIT_CHECKOUT_CONFLICT_STYLE_ZDIFF3\nGIT_CHECKOUT_NONE\nGIT_CHECKOUT_UPDATE_SUBMODULES\nGIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED", "tdef": "typedef", "description": " Checkout behavior flags", - "comments": "

In libgit2, checkout is used to update the working directory and index to match a target tree. Unlike git checkout, it does not move the HEAD commit for you - use git_repository_set_head or the like to do that.

\n\n

Checkout looks at (up to) four things: the "target" tree you want to check out, the "baseline" tree of what was checked out previously, the working directory for actual files, and the index for staged changes.

\n\n

You give checkout one of three strategies for update:

\n\n\n\n

To emulate git checkout, use GIT_CHECKOUT_SAFE with a checkout notification callback (see below) that displays information about dirty files. The default behavior will cancel checkout on conflicts.

\n\n

To emulate git checkout-index, use GIT_CHECKOUT_SAFE with a notification callback that cancels the operation if a dirty-but-existing file is found in the working directory. This core git command isn't quite "force" but is sensitive about some types of changes.

\n\n

To emulate git checkout -f, use GIT_CHECKOUT_FORCE.

\n\n

There are some additional flags to modify the behavior of checkout:

\n\n\n", + "comments": "

In libgit2, checkout is used to update the working directory and index to match a target tree. Unlike git checkout, it does not move the HEAD commit for you - use git_repository_set_head or the like to do that.

\n\n

Checkout looks at (up to) four things: the "target" tree you want to check out, the "baseline" tree of what was checked out previously, the working directory for actual files, and the index for staged changes.

\n\n

You give checkout one of two strategies for update:

\n\n\n\n

To emulate git checkout, use GIT_CHECKOUT_SAFE with a checkout notification callback (see below) that displays information about dirty files. The default behavior will cancel checkout on conflicts.

\n\n

To emulate git checkout-index, use GIT_CHECKOUT_SAFE with a notification callback that cancels the operation if a dirty-but-existing file is found in the working directory. This core git command isn't quite "force" but is sensitive about some types of changes.

\n\n

To emulate git checkout -f, use GIT_CHECKOUT_FORCE.

\n\n

There are some additional flags to modify the behavior of checkout:

\n\n\n", "fields": [ - { - "type": "int", - "name": "GIT_CHECKOUT_NONE", - "comments": "

default is a dry run, no actual updates

\n", - "value": 0 - }, { "type": "int", "name": "GIT_CHECKOUT_SAFE", - "comments": "

Allow safe updates that cannot overwrite uncommitted data.\n If the uncommitted changes don't conflict with the checked out files,\n the checkout will still proceed, leaving the changes intact.

\n\n

Mutually exclusive with GIT_CHECKOUT_FORCE.\n GIT_CHECKOUT_FORCE takes precedence over GIT_CHECKOUT_SAFE.

\n", - "value": 1 + "comments": "

Allow safe updates that cannot overwrite uncommitted data.\n If the uncommitted changes don't conflict with the checked\n out files, the checkout will still proceed, leaving the\n changes intact.

\n", + "value": 0 }, { "type": "int", "name": "GIT_CHECKOUT_FORCE", - "comments": "

Allow all updates to force working directory to look like index.

\n\n

Mutually exclusive with GIT_CHECKOUT_SAFE.\n GIT_CHECKOUT_FORCE takes precedence over GIT_CHECKOUT_SAFE.

\n", + "comments": "

Allow all updates to force working directory to look like\n the index, potentially losing data in the process.

\n", "value": 2 }, { @@ -25899,7 +26360,7 @@ { "type": "int", "name": "GIT_CHECKOUT_DRY_RUN", - "comments": "

Show what would be done by a checkout. Stop after sending\n notifications; don't update the working directory or index.

\n", + "comments": "

Perform a "dry run", reporting what would be done but\n without actually making changes in the working directory\n or the index.

\n", "value": 16777216 }, { @@ -25908,6 +26369,12 @@ "comments": "

Include common ancestor data in zdiff3 format for conflicts

\n", "value": 33554432 }, + { + "type": "int", + "name": "GIT_CHECKOUT_NONE", + "comments": "

Do not do a checkout and do not fire callbacks; this is primarily\n useful only for internal functions that will perform the\n checkout themselves but need to pass checkout options into\n another function, for example, git_clone.

\n", + "value": 1073741824 + }, { "type": "int", "name": "GIT_CHECKOUT_UPDATE_SUBMODULES", @@ -25936,8 +26403,8 @@ "type": "struct", "value": "git_cherrypick_options", "file": "git2/cherrypick.h", - "line": 26, - "lineto": 34, + "line": 29, + "lineto": 37, "block": "unsigned int version\nunsigned int mainline\ngit_merge_options merge_opts\ngit_checkout_options checkout_opts", "tdef": "typedef", "description": " Cherry-pick options", @@ -25977,8 +26444,8 @@ ], "type": "enum", "file": "git2/clone.h", - "line": 33, - "lineto": 53, + "line": 37, + "lineto": 57, "block": "GIT_CLONE_LOCAL_AUTO\nGIT_CLONE_LOCAL\nGIT_CLONE_NO_LOCAL\nGIT_CLONE_LOCAL_NO_LINKS", "tdef": "typedef", "description": " Options for bypassing the git-aware transport on clone. Bypassing\n it means that instead of a fetch, libgit2 will copy the object\n database directory instead of figuring out what it needs, which is\n faster. If possible, it will hardlink the files to save space.", @@ -26030,18 +26497,18 @@ "type": "struct", "value": "git_clone_options", "file": "git2/clone.h", - "line": 103, - "lineto": 164, + "line": 110, + "lineto": 171, "block": "unsigned int version\ngit_checkout_options checkout_opts\ngit_fetch_options fetch_opts\nint bare\ngit_clone_local_t local\nconst char * checkout_branch\ngit_repository_create_cb repository_cb\nvoid * repository_cb_payload\ngit_remote_create_cb remote_cb\nvoid * remote_cb_payload", "tdef": "typedef", "description": " Clone options structure", - "comments": "

Initialize with GIT_CLONE_OPTIONS_INIT. Alternatively, you can use git_clone_options_init.

\n", + "comments": "

Initialize with GIT_CLONE_OPTIONS_INIT. Alternatively, you can use git_clone_options_init.

\n\n

[version] GIT_CLONE_OPTIONS_VERSION [init_macro] GIT_CLONE_OPTIONS_INIT [init_function] git_clone_options_init

\n", "fields": [ { "type": "unsigned int", "name": "version", "comments": "" }, { "type": "git_checkout_options", "name": "checkout_opts", - "comments": " These options are passed to the checkout step. To disable\n checkout, set the `checkout_strategy` to\n `GIT_CHECKOUT_NONE`." + "comments": " These options are passed to the checkout step. To disable\n checkout, set the `checkout_strategy` to `GIT_CHECKOUT_NONE`\n or `GIT_CHECKOUT_DRY_RUN`." }, { "type": "git_fetch_options", @@ -26097,8 +26564,8 @@ "type": "struct", "value": "git_commit", "file": "git2/types.h", - "line": 136, - "lineto": 136, + "line": 141, + "lineto": 141, "tdef": "typedef", "description": " Parsed representation of a commit object. ", "comments": "", @@ -26142,10 +26609,6 @@ "git_diff_commit_as_email", "git_email_create_from_commit", "git_merge_commits", - "git_note_commit_create", - "git_note_commit_iterator_new", - "git_note_commit_read", - "git_note_commit_remove", "git_odb_set_commit_graph", "git_repository_commit_parents", "git_revert", @@ -26161,8 +26624,8 @@ "type": "struct", "value": "git_commit_graph", "file": "git2/types.h", - "line": 109, - "lineto": 109, + "line": 114, + "lineto": 114, "tdef": "typedef", "description": " A git commit-graph ", "comments": "", @@ -26175,8 +26638,8 @@ "decl": ["GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE"], "type": "enum", "file": "git2/sys/commit_graph.h", - "line": 102, - "lineto": 108, + "line": 93, + "lineto": 99, "block": "GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE", "tdef": "typedef", "description": " The strategy to use when adding a new set of commits to a pre-existing\n commit-graph chain.", @@ -26199,8 +26662,8 @@ "type": "struct", "value": "git_commit_graph_writer", "file": "git2/types.h", - "line": 112, - "lineto": 112, + "line": 117, + "lineto": 117, "tdef": "typedef", "description": " a writer for commit-graph files. ", "comments": "", @@ -26214,8 +26677,8 @@ "type": "struct", "value": "git_commitarray", "file": "git2/commit.h", - "line": 588, - "lineto": 591, + "line": 655, + "lineto": 658, "block": "git_commit *const * commits\nsize_t count", "tdef": "typedef", "description": " An array of commits returned from the library ", @@ -26237,8 +26700,8 @@ "type": "struct", "value": "git_config", "file": "git2/types.h", - "line": 157, - "lineto": 157, + "line": 162, + "lineto": 162, "tdef": "typedef", "description": " Memory representation of a set of config files ", "comments": "", @@ -26280,6 +26743,7 @@ "git_config_set_int64", "git_config_set_multivar", "git_config_set_string", + "git_config_set_writeorder", "git_config_snapshot", "git_repository_config", "git_repository_config_snapshot" @@ -26294,8 +26758,8 @@ "type": "struct", "value": "git_config_backend", "file": "git2/types.h", - "line": 160, - "lineto": 160, + "line": 165, + "lineto": 165, "tdef": "typedef", "description": " Interface to access a configuration file ", "comments": "", @@ -26313,8 +26777,8 @@ "type": "struct", "value": "git_config_backend_memory_options", "file": "git2/sys/config.h", - "line": 129, - "lineto": 143, + "line": 148, + "lineto": 162, "block": "unsigned int version\nconst char * backend_type\nconst char * origin_path", "tdef": "typedef", "description": " Options for in-memory configuration backends. ", @@ -26344,15 +26808,14 @@ "const char * backend_type", "const char * origin_path", "unsigned int include_depth", - "git_config_level_t level", - "void (*)(struct git_config_entry *) free" + "git_config_level_t level" ], "type": "struct", "value": "git_config_entry", "file": "git2/config.h", - "line": 79, - "lineto": 106, - "block": "const char * name\nconst char * value\nconst char * backend_type\nconst char * origin_path\nunsigned int include_depth\ngit_config_level_t level\nvoid (*)(struct git_config_entry *) free", + "line": 103, + "lineto": 124, + "block": "const char * name\nconst char * value\nconst char * backend_type\nconst char * origin_path\nunsigned int include_depth\ngit_config_level_t level", "tdef": "typedef", "description": " An entry in a configuration file", "comments": "", @@ -26360,17 +26823,17 @@ { "type": "const char *", "name": "name", - "comments": " Name of the configuration entry (normalized) " + "comments": " Name of the configuration entry (normalized). " }, { "type": "const char *", "name": "value", - "comments": " Literal (string) value of the entry " + "comments": " Literal (string) value of the entry. " }, { "type": "const char *", "name": "backend_type", - "comments": " The type of backend that this entry exists in (eg, \"file\") " + "comments": " The type of backend that this entry exists in (eg, \"file\"). " }, { "type": "const char *", @@ -26380,17 +26843,12 @@ { "type": "unsigned int", "name": "include_depth", - "comments": " Depth of includes where this variable was found " + "comments": " Depth of includes where this variable was found. " }, { "type": "git_config_level_t", "name": "level", - "comments": " Configuration level for the file this was found in " - }, - { - "type": "void (*)(struct git_config_entry *)", - "name": "free", - "comments": "" + "comments": " Configuration level for the file this was found in. " } ], "used": { @@ -26411,10 +26869,10 @@ "type": "struct", "value": "git_config_iterator", "file": "git2/config.h", - "line": 127, - "lineto": 127, + "line": 145, + "lineto": 145, "tdef": "typedef", - "description": " An opaque structure for a configuration iterator", + "description": " An opaque structure for a configuration iterator.", "comments": "", "used": { "returns": [], @@ -26443,8 +26901,8 @@ ], "type": "enum", "file": "git2/config.h", - "line": 42, - "lineto": 74, + "line": 49, + "lineto": 98, "block": "GIT_CONFIG_LEVEL_PROGRAMDATA\nGIT_CONFIG_LEVEL_SYSTEM\nGIT_CONFIG_LEVEL_XDG\nGIT_CONFIG_LEVEL_GLOBAL\nGIT_CONFIG_LEVEL_LOCAL\nGIT_CONFIG_LEVEL_WORKTREE\nGIT_CONFIG_LEVEL_APP\nGIT_CONFIG_HIGHEST_LEVEL", "tdef": "typedef", "description": " Priority level of a config file.", @@ -26453,55 +26911,59 @@ { "type": "int", "name": "GIT_CONFIG_LEVEL_PROGRAMDATA", - "comments": "

System-wide on Windows, for compatibility with portable git

\n", + "comments": "

System-wide on Windows, for compatibility with "Portable Git".

\n", "value": 1 }, { "type": "int", "name": "GIT_CONFIG_LEVEL_SYSTEM", - "comments": "

System-wide configuration file; /etc/gitconfig on Linux systems

\n", + "comments": "

System-wide configuration file; /etc/gitconfig on Linux.

\n", "value": 2 }, { "type": "int", "name": "GIT_CONFIG_LEVEL_XDG", - "comments": "

XDG compatible configuration file; typically ~/.config/git/config

\n", + "comments": "

XDG compatible configuration file; typically\n ~/.config/git/config.

\n", "value": 3 }, { "type": "int", "name": "GIT_CONFIG_LEVEL_GLOBAL", - "comments": "

User-specific configuration file (also called Global configuration\n file); typically ~/.gitconfig

\n", + "comments": "

Global configuration file is the user-specific configuration;\n typically ~/.gitconfig.

\n", "value": 4 }, { "type": "int", "name": "GIT_CONFIG_LEVEL_LOCAL", - "comments": "

Repository specific configuration file; $WORK_DIR/.git/config on\n non-bare repos

\n", + "comments": "

Local configuration, the repository-specific configuration file;\n typically $GIT_DIR/config.

\n", "value": 5 }, { "type": "int", "name": "GIT_CONFIG_LEVEL_WORKTREE", - "comments": "

Worktree specific configuration file; $GIT_DIR/config.worktree

\n", + "comments": "

Worktree-specific configuration; typically\n $GIT_DIR/config.worktree.

\n", "value": 6 }, { "type": "int", "name": "GIT_CONFIG_LEVEL_APP", - "comments": "

Application specific configuration file; freely defined by applications

\n", + "comments": "

Application-specific configuration file. Callers into libgit2\n can add their own configuration beginning at this level.

\n", "value": 7 }, { "type": "int", "name": "GIT_CONFIG_HIGHEST_LEVEL", - "comments": "

Represents the highest level available config file (i.e. the most\n specific config file available that actually is loaded)

\n", + "comments": "

Not a configuration level; callers can use this value when\n querying configuration levels to specify that they want to\n have data from the highest-level currently configuration.\n This can be used to indicate that callers want the most\n specific config file available that actually is loaded.

\n", "value": -1 } ], "used": { "returns": [], - "needs": ["git_config_add_file_ondisk", "git_config_open_level"] + "needs": [ + "git_config_add_file_ondisk", + "git_config_open_level", + "git_config_set_writeorder" + ] } } ], @@ -26516,8 +26978,8 @@ "type": "struct", "value": "git_configmap", "file": "git2/config.h", - "line": 142, - "lineto": 146, + "line": 160, + "lineto": 164, "block": "git_configmap_t type\nconst char * str_match\nint map_value", "tdef": "typedef", "description": " Mapping from config variables to values.", @@ -26544,8 +27006,8 @@ ], "type": "enum", "file": "git2/config.h", - "line": 132, - "lineto": 137, + "line": 150, + "lineto": 155, "block": "GIT_CONFIGMAP_FALSE\nGIT_CONFIGMAP_TRUE\nGIT_CONFIGMAP_INT32\nGIT_CONFIGMAP_STRING", "tdef": "typedef", "description": " Config var type", @@ -26586,8 +27048,8 @@ "type": "struct", "value": "git_credential", "file": "git2/credential.h", - "line": 84, - "lineto": 84, + "line": 87, + "lineto": 87, "tdef": "typedef", "description": " The base structure for all credential types", "comments": "", @@ -26618,8 +27080,8 @@ "type": "struct", "value": "git_credential_default", "file": "git2/credential.h", - "line": 92, - "lineto": 92, + "line": 95, + "lineto": 95, "tdef": "typedef", "description": " A key for NTLM/Kerberos \"default\" credentials ", "comments": "", @@ -26633,8 +27095,8 @@ "type": "struct", "value": "git_credential_ssh_custom", "file": "git2/credential.h", - "line": 107, - "lineto": 107, + "line": 110, + "lineto": 110, "tdef": "typedef", "description": " A key with a custom signature function", "comments": "", @@ -26648,8 +27110,8 @@ "type": "struct", "value": "git_credential_ssh_interactive", "file": "git2/credential.h", - "line": 102, - "lineto": 102, + "line": 105, + "lineto": 105, "tdef": "typedef", "description": " Keyboard-interactive based ssh authentication", "comments": "", @@ -26666,8 +27128,8 @@ "type": "struct", "value": "git_credential_ssh_key", "file": "git2/credential.h", - "line": 97, - "lineto": 97, + "line": 100, + "lineto": 100, "tdef": "typedef", "description": " A ssh key from disk", "comments": "", @@ -26688,8 +27150,8 @@ ], "type": "enum", "file": "git2/credential.h", - "line": 27, - "lineto": 79, + "line": 30, + "lineto": 82, "block": "GIT_CREDENTIAL_USERPASS_PLAINTEXT\nGIT_CREDENTIAL_SSH_KEY\nGIT_CREDENTIAL_SSH_CUSTOM\nGIT_CREDENTIAL_DEFAULT\nGIT_CREDENTIAL_SSH_INTERACTIVE\nGIT_CREDENTIAL_USERNAME\nGIT_CREDENTIAL_SSH_MEMORY", "tdef": "typedef", "description": " Supported credential types", @@ -26748,8 +27210,8 @@ "type": "struct", "value": "git_credential_username", "file": "git2/credential.h", - "line": 89, - "lineto": 89, + "line": 92, + "lineto": 92, "tdef": "typedef", "description": " Username-only credential information ", "comments": "", @@ -26886,8 +27348,8 @@ "type": "struct", "value": "git_describe_format_options", "file": "git2/describe.h", - "line": 91, - "lineto": 111, + "line": 100, + "lineto": 120, "block": "unsigned int version\nunsigned int abbreviated_size\nint always_use_long_format\nconst char * dirty_suffix", "tdef": "typedef", "description": " Describe format options structure", @@ -26930,8 +27392,8 @@ "type": "struct", "value": "git_describe_options", "file": "git2/describe.h", - "line": 43, - "lineto": 61, + "line": 47, + "lineto": 65, "block": "unsigned int version\nunsigned int max_candidates_tags\nunsigned int describe_strategy\nconst char * pattern\nint only_follow_first_parent\nint show_commit_oid_as_fallback", "tdef": "typedef", "description": " Describe options structure", @@ -26977,8 +27439,8 @@ "type": "struct", "value": "git_describe_result", "file": "git2/describe.h", - "line": 134, - "lineto": 134, + "line": 146, + "lineto": 146, "tdef": "typedef", "description": " A struct that stores the result of a describe operation.", "comments": "", @@ -27003,8 +27465,8 @@ ], "type": "enum", "file": "git2/describe.h", - "line": 30, - "lineto": 34, + "line": 34, + "lineto": 38, "block": "GIT_DESCRIBE_DEFAULT\nGIT_DESCRIBE_TAGS\nGIT_DESCRIBE_ALL", "tdef": "typedef", "description": " Reference lookup strategy", @@ -27095,7 +27557,6 @@ "git_diff_tree_to_tree", "git_diff_tree_to_workdir", "git_diff_tree_to_workdir_with_index", - "git_email_create_from_diff", "git_patch_from_blob_and_buffer", "git_patch_from_blobs", "git_patch_from_buffers", @@ -27119,8 +27580,8 @@ "type": "struct", "value": "git_diff_binary", "file": "git2/diff.h", - "line": 544, - "lineto": 556, + "line": 553, + "lineto": 565, "block": "unsigned int contains_data\ngit_diff_binary_file old_file\ngit_diff_binary_file new_file", "tdef": "typedef", "description": " Structure describing the binary contents of a diff.", @@ -27166,8 +27627,8 @@ "type": "struct", "value": "git_diff_binary_file", "file": "git2/diff.h", - "line": 521, - "lineto": 533, + "line": 530, + "lineto": 542, "block": "git_diff_binary_t type\nconst char * data\nsize_t datalen\nsize_t inflatedlen", "tdef": "typedef", "description": " The contents of one of the files in a binary diff. ", @@ -27207,8 +27668,8 @@ ], "type": "enum", "file": "git2/diff.h", - "line": 509, - "lineto": 518, + "line": 518, + "lineto": 527, "block": "GIT_DIFF_BINARY_NONE\nGIT_DIFF_BINARY_LITERAL\nGIT_DIFF_BINARY_DELTA", "tdef": "typedef", "description": " When producing a binary diff, the binary data returned will be\n either the deflated full (\"literal\") contents of the file, or\n the deflated binary delta between the two sides (whichever is\n smaller).", @@ -27373,8 +27834,8 @@ "type": "struct", "value": "git_diff_find_options", "file": "git2/diff.h", - "line": 749, - "lineto": 803, + "line": 774, + "lineto": 828, "block": "unsigned int version\nuint32_t flags\nuint16_t rename_threshold\nuint16_t rename_from_rewrite_threshold\nuint16_t copy_threshold\nuint16_t break_rewrite_threshold\nsize_t rename_limit\ngit_diff_similarity_metric * metric", "tdef": "typedef", "description": " Control behavior of rename and copy detection", @@ -27446,8 +27907,8 @@ ], "type": "enum", "file": "git2/diff.h", - "line": 658, - "lineto": 727, + "line": 683, + "lineto": 752, "block": "GIT_DIFF_FIND_BY_CONFIG\nGIT_DIFF_FIND_RENAMES\nGIT_DIFF_FIND_RENAMES_FROM_REWRITES\nGIT_DIFF_FIND_COPIES\nGIT_DIFF_FIND_COPIES_FROM_UNMODIFIED\nGIT_DIFF_FIND_REWRITES\nGIT_DIFF_BREAK_REWRITES\nGIT_DIFF_FIND_AND_BREAK_REWRITES\nGIT_DIFF_FIND_FOR_UNTRACKED\nGIT_DIFF_FIND_ALL\nGIT_DIFF_FIND_IGNORE_LEADING_WHITESPACE\nGIT_DIFF_FIND_IGNORE_WHITESPACE\nGIT_DIFF_FIND_DONT_IGNORE_WHITESPACE\nGIT_DIFF_FIND_EXACT_MATCH_ONLY\nGIT_DIFF_BREAK_REWRITES_FOR_RENAMES_ONLY\nGIT_DIFF_FIND_REMOVE_UNMODIFIED", "tdef": "typedef", "description": " Flags to control the behavior of diff rename/copy detection.", @@ -27615,8 +28076,8 @@ ], "type": "enum", "file": "git2/deprecated.h", - "line": 311, - "lineto": 318, + "line": 325, + "lineto": 331, "block": "GIT_DIFF_FORMAT_EMAIL_NONE\nGIT_DIFF_FORMAT_EMAIL_EXCLUDE_SUBJECT_PATCH_MARKER", "tdef": "typedef", "description": " Formatting options for diff e-mail generation", @@ -27654,8 +28115,8 @@ "type": "struct", "value": "git_diff_format_email_options", "file": "git2/deprecated.h", - "line": 323, - "lineto": 346, + "line": 338, + "lineto": 361, "block": "unsigned int version\nuint32_t flags\nsize_t patch_no\nsize_t total_patches\nconst git_oid * id\nconst char * summary\nconst char * body\nconst git_signature * author", "tdef": "typedef", "description": " Options for controlling the formatting of the generated e-mail.", @@ -27720,8 +28181,8 @@ ], "type": "enum", "file": "git2/diff.h", - "line": 1128, - "lineto": 1135, + "line": 1156, + "lineto": 1163, "block": "GIT_DIFF_FORMAT_PATCH\nGIT_DIFF_FORMAT_PATCH_HEADER\nGIT_DIFF_FORMAT_RAW\nGIT_DIFF_FORMAT_NAME_ONLY\nGIT_DIFF_FORMAT_NAME_STATUS\nGIT_DIFF_FORMAT_PATCH_ID", "tdef": "typedef", "description": " Possible output formats for diff data", @@ -27784,8 +28245,8 @@ "type": "struct", "value": "git_diff_hunk", "file": "git2/diff.h", - "line": 576, - "lineto": 583, + "line": 590, + "lineto": 597, "block": "int old_start\nint old_lines\nint new_start\nint new_lines\nsize_t header_len\nchar [128] header", "tdef": "typedef", "description": " Structure describing a hunk of a diff.", @@ -27852,8 +28313,8 @@ "type": "struct", "value": "git_diff_line", "file": "git2/diff.h", - "line": 631, - "lineto": 639, + "line": 650, + "lineto": 658, "block": "char origin\nint old_lineno\nint new_lineno\nint num_lines\nsize_t content_len\ngit_off_t content_offset\nconst char * content", "tdef": "typedef", "description": " Structure describing a line (or data span) of a diff.", @@ -27926,8 +28387,8 @@ ], "type": "enum", "file": "git2/diff.h", - "line": 602, - "lineto": 618, + "line": 621, + "lineto": 637, "block": "GIT_DIFF_LINE_CONTEXT\nGIT_DIFF_LINE_ADDITION\nGIT_DIFF_LINE_DELETION\nGIT_DIFF_LINE_CONTEXT_EOFNL\nGIT_DIFF_LINE_ADD_EOFNL\nGIT_DIFF_LINE_DEL_EOFNL\nGIT_DIFF_LINE_FILE_HDR\nGIT_DIFF_LINE_HUNK_HDR\nGIT_DIFF_LINE_BINARY", "tdef": "typedef", "description": " Line origin constants.", @@ -28248,8 +28709,8 @@ "type": "struct", "value": "git_diff_options", "file": "git2/diff.h", - "line": 376, - "lineto": 464, + "line": 383, + "lineto": 471, "block": "unsigned int version\nuint32_t flags\ngit_submodule_ignore_t ignore_submodules\ngit_strarray pathspec\ngit_diff_notify_cb notify_cb\ngit_diff_progress_cb progress_cb\nvoid * payload\nuint32_t context_lines\nuint32_t interhunk_lines\ngit_oid_t oid_type\nuint16_t id_abbrev\ngit_off_t max_size\nconst char * old_prefix\nconst char * new_prefix", "tdef": "typedef", "description": " Structure describing options about how the diff should be executed.", @@ -28354,8 +28815,8 @@ "type": "struct", "value": "git_diff_parse_options", "file": "git2/diff.h", - "line": 1294, - "lineto": 1297, + "line": 1322, + "lineto": 1325, "block": "unsigned int version\ngit_oid_t oid_type", "tdef": "typedef", "description": " Options for parsing a diff / patch file.", @@ -28374,8 +28835,8 @@ "type": "struct", "value": "git_diff_patchid_options", "file": "git2/diff.h", - "line": 1431, - "lineto": 1433, + "line": 1459, + "lineto": 1461, "block": "unsigned int version", "tdef": "typedef", "description": " Patch ID options structure", @@ -28402,8 +28863,8 @@ "type": "struct", "value": "git_diff_similarity_metric", "file": "git2/diff.h", - "line": 732, - "lineto": 742, + "line": 757, + "lineto": 767, "block": "int (*)(void **, const git_diff_file *, const char *, void *) file_signature\nint (*)(void **, const git_diff_file *, const char *, size_t, void *) buffer_signature\nvoid (*)(void *, void *) free_signature\nint (*)(int *, void *, void *, void *) similarity\nvoid * payload", "tdef": "typedef", "description": " Pluggable similarity metric", @@ -28441,8 +28902,8 @@ "type": "struct", "value": "git_diff_stats", "file": "git2/diff.h", - "line": 1341, - "lineto": 1341, + "line": 1369, + "lineto": 1369, "tdef": "typedef", "description": " This is an opaque structure which is allocated by `git_diff_get_stats`.\n You are responsible for releasing the object memory when done, using the\n `git_diff_stats_free()` function.", "comments": "", @@ -28471,8 +28932,8 @@ ], "type": "enum", "file": "git2/diff.h", - "line": 1346, - "lineto": 1361, + "line": 1374, + "lineto": 1389, "block": "GIT_DIFF_STATS_NONE\nGIT_DIFF_STATS_FULL\nGIT_DIFF_STATS_SHORT\nGIT_DIFF_STATS_NUMBER\nGIT_DIFF_STATS_INCLUDE_SUMMARY", "tdef": "typedef", "description": " Formatting options for diff stats", @@ -28518,8 +28979,8 @@ "decl": ["GIT_DIRECTION_FETCH", "GIT_DIRECTION_PUSH"], "type": "enum", "file": "git2/net.h", - "line": 31, - "lineto": 34, + "line": 32, + "lineto": 35, "block": "GIT_DIRECTION_FETCH\nGIT_DIRECTION_PUSH", "tdef": "typedef", "description": " Direction of the connection.", @@ -28644,13 +29105,7 @@ "comments": " The \"re-roll\" number. By default, there is no re-roll. " } ], - "used": { - "returns": [], - "needs": [ - "git_email_create_from_commit", - "git_email_create_from_diff" - ] - } + "used": { "returns": [], "needs": ["git_email_create_from_commit"] } } ], [ @@ -28660,15 +29115,23 @@ "type": "struct", "value": "git_error", "file": "git2/errors.h", - "line": 74, - "lineto": 77, + "line": 125, + "lineto": 128, "block": "char * message\nint klass", "tdef": "typedef", "description": " Structure to store extra details of the last error that occurred.", "comments": "

This is kept on a per-thread basis if GIT_THREADS was defined when the library was build, otherwise one is kept globally for the library

\n", "fields": [ - { "type": "char *", "name": "message", "comments": "" }, - { "type": "int", "name": "klass", "comments": "" } + { + "type": "char *", + "name": "message", + "comments": " The error message for the last error. " + }, + { + "type": "int", + "name": "klass", + "comments": " The category of the last error. \n\n git_error_t " + } ], "used": { "returns": ["git_error_last", "giterr_last"], "needs": [] } } @@ -28716,7 +29179,7 @@ "type": "enum", "file": "git2/errors.h", "line": 21, - "lineto": 66, + "lineto": 73, "block": "GIT_OK\nGIT_ERROR\nGIT_ENOTFOUND\nGIT_EEXISTS\nGIT_EAMBIGUOUS\nGIT_EBUFS\nGIT_EUSER\nGIT_EBAREREPO\nGIT_EUNBORNBRANCH\nGIT_EUNMERGED\nGIT_ENONFASTFORWARD\nGIT_EINVALIDSPEC\nGIT_ECONFLICT\nGIT_ELOCKED\nGIT_EMODIFIED\nGIT_EAUTH\nGIT_ECERTIFICATE\nGIT_EAPPLIED\nGIT_EPEEL\nGIT_EEOF\nGIT_EINVALID\nGIT_EUNCOMMITTED\nGIT_EDIRECTORY\nGIT_EMERGECONFLICT\nGIT_PASSTHROUGH\nGIT_ITEROVER\nGIT_RETRY\nGIT_EMISMATCH\nGIT_EINDEXDIRTY\nGIT_EAPPLYFAIL\nGIT_EOWNER\nGIT_TIMEOUT\nGIT_EUNCHANGED\nGIT_ENOTSUPPORTED\nGIT_EREADONLY", "tdef": "typedef", "description": " Generic return codes ", @@ -28725,37 +29188,37 @@ { "type": "int", "name": "GIT_OK", - "comments": "

No error

\n", + "comments": "

No error occurred; the call was successful.

\n", "value": 0 }, { "type": "int", "name": "GIT_ERROR", - "comments": "

Generic error

\n", + "comments": "

An error occurred; call git_error_last for more information.

\n", "value": -1 }, { "type": "int", "name": "GIT_ENOTFOUND", - "comments": "

Requested object could not be found

\n", + "comments": "

Requested object could not be found.

\n", "value": -3 }, { "type": "int", "name": "GIT_EEXISTS", - "comments": "

Object exists preventing operation

\n", + "comments": "

Object exists preventing operation.

\n", "value": -4 }, { "type": "int", "name": "GIT_EAMBIGUOUS", - "comments": "

More than one object matches

\n", + "comments": "

More than one object matches.

\n", "value": -5 }, { "type": "int", "name": "GIT_EBUFS", - "comments": "

Output buffer too short to hold data

\n", + "comments": "

Output buffer too short to hold data.

\n", "value": -6 }, { @@ -28767,13 +29230,13 @@ { "type": "int", "name": "GIT_EBAREREPO", - "comments": "

Operation not allowed on bare repository

\n", + "comments": "

Operation not allowed on bare repository.

\n", "value": -8 }, { "type": "int", "name": "GIT_EUNBORNBRANCH", - "comments": "

HEAD refers to branch with no commits

\n", + "comments": "

HEAD refers to branch with no commits.

\n", "value": -9 }, { @@ -28980,11 +29443,11 @@ ], "type": "enum", "file": "git2/errors.h", - "line": 80, - "lineto": 118, + "line": 79, + "lineto": 117, "block": "GIT_ERROR_NONE\nGIT_ERROR_NOMEMORY\nGIT_ERROR_OS\nGIT_ERROR_INVALID\nGIT_ERROR_REFERENCE\nGIT_ERROR_ZLIB\nGIT_ERROR_REPOSITORY\nGIT_ERROR_CONFIG\nGIT_ERROR_REGEX\nGIT_ERROR_ODB\nGIT_ERROR_INDEX\nGIT_ERROR_OBJECT\nGIT_ERROR_NET\nGIT_ERROR_TAG\nGIT_ERROR_TREE\nGIT_ERROR_INDEXER\nGIT_ERROR_SSL\nGIT_ERROR_SUBMODULE\nGIT_ERROR_THREAD\nGIT_ERROR_STASH\nGIT_ERROR_CHECKOUT\nGIT_ERROR_FETCHHEAD\nGIT_ERROR_MERGE\nGIT_ERROR_SSH\nGIT_ERROR_FILTER\nGIT_ERROR_REVERT\nGIT_ERROR_CALLBACK\nGIT_ERROR_CHERRYPICK\nGIT_ERROR_DESCRIBE\nGIT_ERROR_REBASE\nGIT_ERROR_FILESYSTEM\nGIT_ERROR_PATCH\nGIT_ERROR_WORKTREE\nGIT_ERROR_SHA\nGIT_ERROR_HTTP\nGIT_ERROR_INTERNAL\nGIT_ERROR_GRAFTS", "tdef": "typedef", - "description": " Error classes ", + "description": " Error classes are the category of error. They reflect the area of the\n code where an error occurred.", "comments": "", "fields": [ { @@ -29215,43 +29678,99 @@ "GIT_FEATURE_THREADS", "GIT_FEATURE_HTTPS", "GIT_FEATURE_SSH", - "GIT_FEATURE_NSEC" + "GIT_FEATURE_NSEC", + "GIT_FEATURE_HTTP_PARSER", + "GIT_FEATURE_REGEX", + "GIT_FEATURE_I18N", + "GIT_FEATURE_AUTH_NTLM", + "GIT_FEATURE_AUTH_NEGOTIATE", + "GIT_FEATURE_COMPRESSION", + "GIT_FEATURE_SHA1", + "GIT_FEATURE_SHA256" ], "type": "enum", "file": "git2/common.h", - "line": 134, - "lineto": 157, - "block": "GIT_FEATURE_THREADS\nGIT_FEATURE_HTTPS\nGIT_FEATURE_SSH\nGIT_FEATURE_NSEC", + "line": 138, + "lineto": 177, + "block": "GIT_FEATURE_THREADS\nGIT_FEATURE_HTTPS\nGIT_FEATURE_SSH\nGIT_FEATURE_NSEC\nGIT_FEATURE_HTTP_PARSER\nGIT_FEATURE_REGEX\nGIT_FEATURE_I18N\nGIT_FEATURE_AUTH_NTLM\nGIT_FEATURE_AUTH_NEGOTIATE\nGIT_FEATURE_COMPRESSION\nGIT_FEATURE_SHA1\nGIT_FEATURE_SHA256", "tdef": "typedef", - "description": " Combinations of these values describe the features with which libgit2\n was compiled", + "description": " Configurable features of libgit2; either optional settings (like\n threading), or features that can be enabled by one of a number of\n different backend \"providers\" (like HTTPS, which can be provided by\n OpenSSL, mbedTLS, or system libraries).", "comments": "", "fields": [ { "type": "int", "name": "GIT_FEATURE_THREADS", - "comments": "

If set, libgit2 was built thread-aware and can be safely used from multiple\n threads.

\n", + "comments": "

libgit2 is thread-aware and can be used from multiple threads\n (as described in the documentation).

\n", "value": 1 }, { "type": "int", "name": "GIT_FEATURE_HTTPS", - "comments": "

If set, libgit2 was built with and linked against a TLS implementation.\n Custom TLS streams may still be added by the user to support HTTPS\n regardless of this.

\n", + "comments": "

HTTPS remotes

\n", "value": 2 }, { "type": "int", "name": "GIT_FEATURE_SSH", - "comments": "

If set, libgit2 was built with and linked against libssh2. A custom\n transport may still be added by the user to support libssh2 regardless of\n this.

\n", + "comments": "

SSH remotes

\n", "value": 4 }, { "type": "int", "name": "GIT_FEATURE_NSEC", - "comments": "

If set, libgit2 was built with support for sub-second resolution in file\n modification times.

\n", + "comments": "

Sub-second resolution in index timestamps

\n", "value": 8 + }, + { + "type": "int", + "name": "GIT_FEATURE_HTTP_PARSER", + "comments": "

HTTP parsing; always available

\n", + "value": 16 + }, + { + "type": "int", + "name": "GIT_FEATURE_REGEX", + "comments": "

Regular expression support; always available

\n", + "value": 32 + }, + { + "type": "int", + "name": "GIT_FEATURE_I18N", + "comments": "

Internationalization support for filename translation

\n", + "value": 64 + }, + { + "type": "int", + "name": "GIT_FEATURE_AUTH_NTLM", + "comments": "

NTLM support over HTTPS

\n", + "value": 128 + }, + { + "type": "int", + "name": "GIT_FEATURE_AUTH_NEGOTIATE", + "comments": "

Kerberos (SPNEGO) authentication support over HTTPS

\n", + "value": 256 + }, + { + "type": "int", + "name": "GIT_FEATURE_COMPRESSION", + "comments": "

zlib support; always available

\n", + "value": 512 + }, + { + "type": "int", + "name": "GIT_FEATURE_SHA1", + "comments": "

SHA1 object support; always available

\n", + "value": 1024 + }, + { + "type": "int", + "name": "GIT_FEATURE_SHA256", + "comments": "

SHA256 object support

\n", + "value": 2048 } ], - "used": { "returns": [], "needs": [] } + "used": { "returns": [], "needs": ["git_libgit2_feature_backend"] } } ], [ @@ -29260,8 +29779,8 @@ "decl": ["GIT_FETCH_DEPTH_FULL", "GIT_FETCH_DEPTH_UNSHALLOW"], "type": "enum", "file": "git2/remote.h", - "line": 717, - "lineto": 723, + "line": 760, + "lineto": 766, "block": "GIT_FETCH_DEPTH_FULL\nGIT_FETCH_DEPTH_UNSHALLOW", "tdef": "typedef", "description": " Constants for fetch depth (shallowness of fetch). ", @@ -29300,8 +29819,8 @@ "type": "struct", "value": "git_fetch_options", "file": "git2/remote.h", - "line": 733, - "lineto": 785, + "line": 776, + "lineto": 828, "block": "int version\ngit_remote_callbacks callbacks\ngit_fetch_prune_t prune\nunsigned int update_fetchhead\ngit_remote_autotag_option_t download_tags\ngit_proxy_options proxy_opts\nint depth\ngit_remote_redirect_t follow_redirects\ngit_strarray custom_headers", "tdef": "typedef", "description": " Fetch options structure.", @@ -29369,8 +29888,8 @@ ], "type": "enum", "file": "git2/remote.h", - "line": 676, - "lineto": 689, + "line": 719, + "lineto": 732, "block": "GIT_FETCH_PRUNE_UNSPECIFIED\nGIT_FETCH_PRUNE\nGIT_FETCH_NO_PRUNE", "tdef": "typedef", "description": " Acceptable prune settings when fetching ", @@ -29411,8 +29930,8 @@ ], "type": "enum", "file": "git2/types.h", - "line": 222, - "lineto": 229, + "line": 238, + "lineto": 245, "block": "GIT_FILEMODE_UNREADABLE\nGIT_FILEMODE_TREE\nGIT_FILEMODE_BLOB\nGIT_FILEMODE_BLOB_EXECUTABLE\nGIT_FILEMODE_LINK\nGIT_FILEMODE_COMMIT", "tdef": "typedef", "description": " Valid modes for index and tree entries. ", @@ -29468,8 +29987,8 @@ "type": "struct", "value": "git_filter", "file": "git2/filter.h", - "line": 100, - "lineto": 100, + "line": 109, + "lineto": 109, "tdef": "typedef", "description": " A filter that can transform file data", "comments": "

This represents a filter that can be used to transform or even replace file data. Libgit2 includes one built in filter and it is possible to write your own (see git2/sys/filter.h for information on that).

\n\n

The two builtin filters are:

\n\n\n", @@ -29504,8 +30023,8 @@ ], "type": "enum", "file": "git2/filter.h", - "line": 41, - "lineto": 58, + "line": 47, + "lineto": 64, "block": "GIT_FILTER_DEFAULT\nGIT_FILTER_ALLOW_UNSAFE\nGIT_FILTER_NO_SYSTEM_ATTRIBUTES\nGIT_FILTER_ATTRIBUTES_FROM_HEAD\nGIT_FILTER_ATTRIBUTES_FROM_COMMIT", "tdef": "typedef", "description": " Filter option flags.", @@ -29552,8 +30071,8 @@ "type": "struct", "value": "git_filter_list", "file": "git2/filter.h", - "line": 112, - "lineto": 112, + "line": 121, + "lineto": 121, "tdef": "typedef", "description": " List of filters to be applied", "comments": "

This represents a list of filters to be applied to a file / blob. You can build the list with one call, apply it with another, and dispose it with a third. In typical usage, there are not many occasions where a git_filter_list is needed directly since the library will generally handle conversions for you, but it can be convenient to be able to build and apply the list sometimes.

\n", @@ -29587,8 +30106,8 @@ ], "type": "enum", "file": "git2/filter.h", - "line": 31, - "lineto": 36, + "line": 37, + "lineto": 42, "block": "GIT_FILTER_TO_WORKTREE\nGIT_FILTER_SMUDGE\nGIT_FILTER_TO_ODB\nGIT_FILTER_CLEAN", "tdef": "typedef", "description": " Filters are applied in one of two directions: smudging - which is\n exporting a file from the Git object database to the working directory,\n and cleaning - which is importing a file from the working directory to\n the Git object database. These values control which direction of\n change is being applied.", @@ -29637,8 +30156,8 @@ "type": "struct", "value": "git_filter_options", "file": "git2/filter.h", - "line": 63, - "lineto": 80, + "line": 69, + "lineto": 86, "block": "unsigned int version\nuint32_t flags\ngit_oid * commit_id\ngit_oid attr_commit_id", "tdef": "typedef", "description": " Filtering options", @@ -29667,8 +30186,8 @@ "type": "struct", "value": "git_filter_source", "file": "git2/sys/filter.h", - "line": 95, - "lineto": 95, + "line": 109, + "lineto": 109, "tdef": "typedef", "description": " A filter source represents a file/blob to be processed", "comments": "", @@ -29686,8 +30205,8 @@ ], "type": "enum", "file": "git2/sys/hashsig.h", - "line": 25, - "lineto": 45, + "line": 35, + "lineto": 55, "block": "GIT_HASHSIG_NORMAL\nGIT_HASHSIG_IGNORE_WHITESPACE\nGIT_HASHSIG_SMART_WHITESPACE\nGIT_HASHSIG_ALLOW_SMALL_FILES", "tdef": "typedef", "description": " Options for hashsig computation", @@ -29728,8 +30247,8 @@ "type": "struct", "value": "git_index", "file": "git2/types.h", - "line": 148, - "lineto": 148, + "line": 153, + "lineto": 153, "tdef": "typedef", "description": " Memory representation of an index file. ", "comments": "", @@ -29772,6 +30291,8 @@ "git_index_iterator_free", "git_index_iterator_new", "git_index_iterator_next", + "git_index_new", + "git_index_open", "git_index_owner", "git_index_path", "git_index_read", @@ -29819,8 +30340,8 @@ ], "type": "enum", "file": "git2/index.h", - "line": 139, - "lineto": 144, + "line": 162, + "lineto": 167, "block": "GIT_INDEX_ADD_DEFAULT\nGIT_INDEX_ADD_FORCE\nGIT_INDEX_ADD_DISABLE_PATHSPEC_MATCH\nGIT_INDEX_ADD_CHECK_PATHSPEC", "tdef": "typedef", "description": " Flags for APIs that add files matching pathspec ", @@ -29865,8 +30386,8 @@ ], "type": "enum", "file": "git2/index.h", - "line": 126, - "lineto": 131, + "line": 142, + "lineto": 147, "block": "GIT_INDEX_CAPABILITY_IGNORE_CASE\nGIT_INDEX_CAPABILITY_NO_FILEMODE\nGIT_INDEX_CAPABILITY_NO_SYMLINKS\nGIT_INDEX_CAPABILITY_FROM_OWNER", "tdef": "typedef", "description": " Capabilities of system that affect index actions. ", @@ -29907,8 +30428,8 @@ "type": "struct", "value": "git_index_conflict_iterator", "file": "git2/types.h", - "line": 154, - "lineto": 154, + "line": 159, + "lineto": 159, "tdef": "typedef", "description": " An iterator for conflicts in the index. ", "comments": "", @@ -29942,8 +30463,8 @@ "type": "struct", "value": "git_index_entry", "file": "git2/index.h", - "line": 53, - "lineto": 70, + "line": 58, + "lineto": 75, "block": "git_index_time ctime\ngit_index_time mtime\nuint32_t dev\nuint32_t ino\nuint32_t mode\nuint32_t uid\nuint32_t gid\nuint32_t file_size\ngit_oid id\nuint16_t flags\nuint16_t flags_extended\nconst char * path", "tdef": "typedef", "description": " In-memory representation of a file entry in the index.", @@ -29989,8 +30510,8 @@ ], "type": "enum", "file": "git2/index.h", - "line": 116, - "lineto": 123, + "line": 132, + "lineto": 139, "block": "GIT_INDEX_ENTRY_INTENT_TO_ADD\nGIT_INDEX_ENTRY_SKIP_WORKTREE\nGIT_INDEX_ENTRY_EXTENDED_FLAGS\nGIT_INDEX_ENTRY_UPTODATE", "tdef": "typedef", "description": " Bitmasks for on-disk fields of `git_index_entry`'s `flags_extended`", @@ -30030,8 +30551,8 @@ "decl": ["GIT_INDEX_ENTRY_EXTENDED", "GIT_INDEX_ENTRY_VALID"], "type": "enum", "file": "git2/index.h", - "line": 87, - "lineto": 90, + "line": 95, + "lineto": 98, "block": "GIT_INDEX_ENTRY_EXTENDED\nGIT_INDEX_ENTRY_VALID", "tdef": "typedef", "description": " Flags for index entries", @@ -30060,8 +30581,8 @@ "type": "struct", "value": "git_index_iterator", "file": "git2/types.h", - "line": 151, - "lineto": 151, + "line": 156, + "lineto": 156, "tdef": "typedef", "description": " An iterator for entries in the index. ", "comments": "", @@ -30087,8 +30608,8 @@ ], "type": "enum", "file": "git2/index.h", - "line": 147, - "lineto": 167, + "line": 170, + "lineto": 190, "block": "GIT_INDEX_STAGE_ANY\nGIT_INDEX_STAGE_NORMAL\nGIT_INDEX_STAGE_ANCESTOR\nGIT_INDEX_STAGE_OURS\nGIT_INDEX_STAGE_THEIRS", "tdef": "typedef", "description": " Git index stage states ", @@ -30135,8 +30656,8 @@ "type": "struct", "value": "git_index_time", "file": "git2/index.h", - "line": 26, - "lineto": 30, + "line": 31, + "lineto": 35, "block": "int32_t seconds\nuint32_t nanoseconds", "tdef": "typedef", "description": " Time structure used in a git index entry ", @@ -30155,8 +30676,8 @@ "type": "struct", "value": "git_indexer", "file": "git2/indexer.h", - "line": 17, - "lineto": 17, + "line": 27, + "lineto": 27, "tdef": "typedef", "description": " A git indexer object ", "comments": "", @@ -30189,8 +30710,8 @@ "type": "struct", "value": "git_indexer_options", "file": "git2/indexer.h", - "line": 62, - "lineto": 86, + "line": 73, + "lineto": 100, "block": "unsigned int version\ngit_indexer_progress_cb progress_cb\nvoid * progress_cb_payload\nunsigned char verify", "tdef": "typedef", "description": " Options for indexer configuration", @@ -30234,8 +30755,8 @@ "type": "struct", "value": "git_indexer_progress", "file": "git2/indexer.h", - "line": 24, - "lineto": 48, + "line": 34, + "lineto": 58, "block": "unsigned int total_objects\nunsigned int indexed_objects\nunsigned int received_objects\nunsigned int local_objects\nunsigned int total_deltas\nunsigned int indexed_deltas\nsize_t received_bytes", "tdef": "typedef", "description": " This structure is used to provide callers information about the\n progress of indexing a packfile, either directly or part of a\n fetch or clone that downloads a packfile.", @@ -30337,13 +30858,14 @@ "GIT_OPT_SET_SERVER_TIMEOUT", "GIT_OPT_GET_SERVER_TIMEOUT", "GIT_OPT_SET_USER_AGENT_PRODUCT", - "GIT_OPT_GET_USER_AGENT_PRODUCT" + "GIT_OPT_GET_USER_AGENT_PRODUCT", + "GIT_OPT_ADD_SSL_X509_CERT" ], "type": "enum", "file": "git2/common.h", - "line": 188, - "lineto": 234, - "block": "GIT_OPT_GET_MWINDOW_SIZE\nGIT_OPT_SET_MWINDOW_SIZE\nGIT_OPT_GET_MWINDOW_MAPPED_LIMIT\nGIT_OPT_SET_MWINDOW_MAPPED_LIMIT\nGIT_OPT_GET_SEARCH_PATH\nGIT_OPT_SET_SEARCH_PATH\nGIT_OPT_SET_CACHE_OBJECT_LIMIT\nGIT_OPT_SET_CACHE_MAX_SIZE\nGIT_OPT_ENABLE_CACHING\nGIT_OPT_GET_CACHED_MEMORY\nGIT_OPT_GET_TEMPLATE_PATH\nGIT_OPT_SET_TEMPLATE_PATH\nGIT_OPT_SET_SSL_CERT_LOCATIONS\nGIT_OPT_SET_USER_AGENT\nGIT_OPT_ENABLE_STRICT_OBJECT_CREATION\nGIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION\nGIT_OPT_SET_SSL_CIPHERS\nGIT_OPT_GET_USER_AGENT\nGIT_OPT_ENABLE_OFS_DELTA\nGIT_OPT_ENABLE_FSYNC_GITDIR\nGIT_OPT_GET_WINDOWS_SHAREMODE\nGIT_OPT_SET_WINDOWS_SHAREMODE\nGIT_OPT_ENABLE_STRICT_HASH_VERIFICATION\nGIT_OPT_SET_ALLOCATOR\nGIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY\nGIT_OPT_GET_PACK_MAX_OBJECTS\nGIT_OPT_SET_PACK_MAX_OBJECTS\nGIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS\nGIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE\nGIT_OPT_GET_MWINDOW_FILE_LIMIT\nGIT_OPT_SET_MWINDOW_FILE_LIMIT\nGIT_OPT_SET_ODB_PACKED_PRIORITY\nGIT_OPT_SET_ODB_LOOSE_PRIORITY\nGIT_OPT_GET_EXTENSIONS\nGIT_OPT_SET_EXTENSIONS\nGIT_OPT_GET_OWNER_VALIDATION\nGIT_OPT_SET_OWNER_VALIDATION\nGIT_OPT_GET_HOMEDIR\nGIT_OPT_SET_HOMEDIR\nGIT_OPT_SET_SERVER_CONNECT_TIMEOUT\nGIT_OPT_GET_SERVER_CONNECT_TIMEOUT\nGIT_OPT_SET_SERVER_TIMEOUT\nGIT_OPT_GET_SERVER_TIMEOUT\nGIT_OPT_SET_USER_AGENT_PRODUCT\nGIT_OPT_GET_USER_AGENT_PRODUCT", + "line": 214, + "lineto": 261, + "block": "GIT_OPT_GET_MWINDOW_SIZE\nGIT_OPT_SET_MWINDOW_SIZE\nGIT_OPT_GET_MWINDOW_MAPPED_LIMIT\nGIT_OPT_SET_MWINDOW_MAPPED_LIMIT\nGIT_OPT_GET_SEARCH_PATH\nGIT_OPT_SET_SEARCH_PATH\nGIT_OPT_SET_CACHE_OBJECT_LIMIT\nGIT_OPT_SET_CACHE_MAX_SIZE\nGIT_OPT_ENABLE_CACHING\nGIT_OPT_GET_CACHED_MEMORY\nGIT_OPT_GET_TEMPLATE_PATH\nGIT_OPT_SET_TEMPLATE_PATH\nGIT_OPT_SET_SSL_CERT_LOCATIONS\nGIT_OPT_SET_USER_AGENT\nGIT_OPT_ENABLE_STRICT_OBJECT_CREATION\nGIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION\nGIT_OPT_SET_SSL_CIPHERS\nGIT_OPT_GET_USER_AGENT\nGIT_OPT_ENABLE_OFS_DELTA\nGIT_OPT_ENABLE_FSYNC_GITDIR\nGIT_OPT_GET_WINDOWS_SHAREMODE\nGIT_OPT_SET_WINDOWS_SHAREMODE\nGIT_OPT_ENABLE_STRICT_HASH_VERIFICATION\nGIT_OPT_SET_ALLOCATOR\nGIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY\nGIT_OPT_GET_PACK_MAX_OBJECTS\nGIT_OPT_SET_PACK_MAX_OBJECTS\nGIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS\nGIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE\nGIT_OPT_GET_MWINDOW_FILE_LIMIT\nGIT_OPT_SET_MWINDOW_FILE_LIMIT\nGIT_OPT_SET_ODB_PACKED_PRIORITY\nGIT_OPT_SET_ODB_LOOSE_PRIORITY\nGIT_OPT_GET_EXTENSIONS\nGIT_OPT_SET_EXTENSIONS\nGIT_OPT_GET_OWNER_VALIDATION\nGIT_OPT_SET_OWNER_VALIDATION\nGIT_OPT_GET_HOMEDIR\nGIT_OPT_SET_HOMEDIR\nGIT_OPT_SET_SERVER_CONNECT_TIMEOUT\nGIT_OPT_GET_SERVER_CONNECT_TIMEOUT\nGIT_OPT_SET_SERVER_TIMEOUT\nGIT_OPT_GET_SERVER_TIMEOUT\nGIT_OPT_SET_USER_AGENT_PRODUCT\nGIT_OPT_GET_USER_AGENT_PRODUCT\nGIT_OPT_ADD_SSL_X509_CERT", "tdef": "typedef", "description": " Global library options", "comments": "

These are used to select which global option to set or get and are used in git_libgit2_opts().

\n", @@ -30617,6 +31139,12 @@ "name": "GIT_OPT_GET_USER_AGENT_PRODUCT", "comments": "", "value": 44 + }, + { + "type": "int", + "name": "GIT_OPT_ADD_SSL_X509_CERT", + "comments": "", + "value": 45 } ], "used": { "returns": [], "needs": [] } @@ -30629,8 +31157,8 @@ "type": "struct", "value": "git_mailmap", "file": "git2/types.h", - "line": 366, - "lineto": 366, + "line": 382, + "lineto": 382, "tdef": "typedef", "description": " Representation of .mailmap file state. ", "comments": "", @@ -30662,8 +31190,8 @@ ], "type": "enum", "file": "git2/merge.h", - "line": 334, - "lineto": 363, + "line": 347, + "lineto": 376, "block": "GIT_MERGE_ANALYSIS_NONE\nGIT_MERGE_ANALYSIS_NORMAL\nGIT_MERGE_ANALYSIS_UP_TO_DATE\nGIT_MERGE_ANALYSIS_FASTFORWARD\nGIT_MERGE_ANALYSIS_UNBORN", "tdef": "typedef", "description": " The results of `git_merge_analysis` indicate the merge opportunities.", @@ -30713,8 +31241,8 @@ "type": "struct", "value": "git_merge_driver_source", "file": "git2/sys/merge.h", - "line": 41, - "lineto": 41, + "line": 49, + "lineto": 49, "tdef": "typedef", "description": " A merge driver source represents the file to be merged", "comments": "", @@ -30732,8 +31260,8 @@ ], "type": "enum", "file": "git2/merge.h", - "line": 109, - "lineto": 139, + "line": 115, + "lineto": 145, "block": "GIT_MERGE_FILE_FAVOR_NORMAL\nGIT_MERGE_FILE_FAVOR_OURS\nGIT_MERGE_FILE_FAVOR_THEIRS\nGIT_MERGE_FILE_FAVOR_UNION", "tdef": "typedef", "description": " Merge file favor options for `git_merge_options` instruct the file-level\n merging functionality how to deal with conflicting regions of the files.", @@ -30785,8 +31313,8 @@ ], "type": "enum", "file": "git2/merge.h", - "line": 144, - "lineto": 181, + "line": 150, + "lineto": 187, "block": "GIT_MERGE_FILE_DEFAULT\nGIT_MERGE_FILE_STYLE_MERGE\nGIT_MERGE_FILE_STYLE_DIFF3\nGIT_MERGE_FILE_SIMPLIFY_ALNUM\nGIT_MERGE_FILE_IGNORE_WHITESPACE\nGIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE\nGIT_MERGE_FILE_IGNORE_WHITESPACE_EOL\nGIT_MERGE_FILE_DIFF_PATIENCE\nGIT_MERGE_FILE_DIFF_MINIMAL\nGIT_MERGE_FILE_STYLE_ZDIFF3\nGIT_MERGE_FILE_ACCEPT_CONFLICTS", "tdef": "typedef", "description": " File merging flags", @@ -30875,8 +31403,8 @@ "type": "struct", "value": "git_merge_file_input", "file": "git2/merge.h", - "line": 32, - "lineto": 46, + "line": 35, + "lineto": 49, "block": "unsigned int version\nconst char * ptr\nsize_t size\nconst char * path\nunsigned int mode", "tdef": "typedef", "description": " The file inputs to `git_merge_file`. Callers should populate the\n `git_merge_file_input` structure with descriptions of the files in\n each side of the conflict for use in producing the merge file.", @@ -30925,8 +31453,8 @@ "type": "struct", "value": "git_merge_file_options", "file": "git2/merge.h", - "line": 188, - "lineto": 218, + "line": 195, + "lineto": 225, "block": "unsigned int version\nconst char * ancestor_label\nconst char * our_label\nconst char * their_label\ngit_merge_file_favor_t favor\nuint32_t flags\nunsigned short marker_size", "tdef": "typedef", "description": " Options for merging a file", @@ -30987,8 +31515,8 @@ "type": "struct", "value": "git_merge_file_result", "file": "git2/merge.h", - "line": 238, - "lineto": 259, + "line": 248, + "lineto": 269, "block": "unsigned int automergeable\nconst char * path\nunsigned int mode\nconst char * ptr\nsize_t len", "tdef": "typedef", "description": " Information about file-level merging", @@ -31042,8 +31570,8 @@ ], "type": "enum", "file": "git2/merge.h", - "line": 68, - "lineto": 103, + "line": 74, + "lineto": 109, "block": "GIT_MERGE_FIND_RENAMES\nGIT_MERGE_FAIL_ON_CONFLICT\nGIT_MERGE_SKIP_REUC\nGIT_MERGE_NO_RECURSIVE\nGIT_MERGE_VIRTUAL_BASE", "tdef": "typedef", "description": " Flags for `git_merge` options. A combination of these flags can be\n passed in via the `flags` value in the `git_merge_options`.", @@ -31100,8 +31628,8 @@ "type": "struct", "value": "git_merge_options", "file": "git2/merge.h", - "line": 264, - "lineto": 313, + "line": 274, + "lineto": 323, "block": "unsigned int version\nuint32_t flags\nunsigned int rename_threshold\nunsigned int target_limit\ngit_diff_similarity_metric * metric\nunsigned int recursion_limit\nconst char * default_driver\ngit_merge_file_favor_t file_favor\nuint32_t file_flags", "tdef": "typedef", "description": " Merging options", @@ -31172,8 +31700,8 @@ ], "type": "enum", "file": "git2/merge.h", - "line": 368, - "lineto": 386, + "line": 381, + "lineto": 399, "block": "GIT_MERGE_PREFERENCE_NONE\nGIT_MERGE_PREFERENCE_NO_FASTFORWARD\nGIT_MERGE_PREFERENCE_FASTFORWARD_ONLY", "tdef": "typedef", "description": " The user's stated preference for merges.", @@ -31266,8 +31794,8 @@ "type": "struct", "value": "git_midx_writer", "file": "git2/types.h", - "line": 100, - "lineto": 100, + "line": 105, + "lineto": 105, "tdef": "typedef", "description": " a writer for multi-pack-index files. ", "comments": "", @@ -31281,27 +31809,14 @@ "type": "struct", "value": "git_note", "file": "git2/types.h", - "line": 169, - "lineto": 169, + "line": 174, + "lineto": 174, "tdef": "typedef", "description": " Representation of a git note ", "comments": "", "used": { "returns": [], - "needs": [ - "git_note_author", - "git_note_commit_iterator_new", - "git_note_commit_read", - "git_note_committer", - "git_note_foreach", - "git_note_free", - "git_note_id", - "git_note_iterator_free", - "git_note_iterator_new", - "git_note_message", - "git_note_next", - "git_note_read" - ] + "needs": ["git_note_iterator_free", "git_note_next"] } } ], @@ -31312,19 +31827,14 @@ "type": "struct", "value": "git_note_iterator", "file": "git2/notes.h", - "line": 35, - "lineto": 35, + "line": 37, + "lineto": 37, "tdef": "typedef", "description": " note iterator", "comments": "", "used": { "returns": [], - "needs": [ - "git_note_commit_iterator_new", - "git_note_iterator_free", - "git_note_iterator_new", - "git_note_next" - ] + "needs": ["git_note_iterator_free", "git_note_next"] } } ], @@ -31335,8 +31845,8 @@ "type": "struct", "value": "git_object", "file": "git2/types.h", - "line": 124, - "lineto": 124, + "line": 129, + "lineto": 129, "tdef": "typedef", "description": " Representation of a generic object in a repository ", "comments": "", @@ -31366,6 +31876,8 @@ "git_object_type", "git_object_type2string", "git_object_typeisloose", + "git_odb_hash", + "git_odb_hashfile", "git_odb_open_rstream", "git_odb_open_wstream", "git_odb_read_header", @@ -31474,6 +31986,8 @@ "git_object_rawcontent_is_valid", "git_object_type2string", "git_object_typeisloose", + "git_odb_hash", + "git_odb_hashfile", "git_odb_open_rstream", "git_odb_open_wstream", "git_odb_read_header", @@ -31491,10 +32005,10 @@ "type": "struct", "value": "git_odb", "file": "git2/types.h", - "line": 85, - "lineto": 85, + "line": 88, + "lineto": 88, "tdef": "typedef", - "description": " An open object database handle. ", + "description": " An object database stores the objects (commit, trees, blobs, tags,\n etc) for a repository.", "comments": "", "used": { "returns": [], @@ -31503,6 +32017,9 @@ "git_odb_add_alternate", "git_odb_add_backend", "git_odb_add_disk_alternate", + "git_odb_backend_loose", + "git_odb_backend_one_pack", + "git_odb_backend_pack", "git_odb_exists", "git_odb_exists_ext", "git_odb_exists_prefix", @@ -31510,6 +32027,7 @@ "git_odb_foreach", "git_odb_free", "git_odb_get_backend", + "git_odb_new", "git_odb_num_backends", "git_odb_object_data", "git_odb_object_dup", @@ -31517,6 +32035,7 @@ "git_odb_object_id", "git_odb_object_size", "git_odb_object_type", + "git_odb_open", "git_odb_open_rstream", "git_odb_open_wstream", "git_odb_read", @@ -31531,7 +32050,8 @@ "git_odb_write", "git_odb_write_multi_pack_index", "git_odb_write_pack", - "git_repository_odb" + "git_repository_odb", + "git_repository_wrap_odb" ] } } @@ -31543,8 +32063,8 @@ "type": "struct", "value": "git_odb_backend", "file": "git2/types.h", - "line": 88, - "lineto": 88, + "line": 91, + "lineto": 91, "tdef": "typedef", "description": " A custom backend in an ODB ", "comments": "", @@ -31553,6 +32073,9 @@ "needs": [ "git_odb_add_alternate", "git_odb_add_backend", + "git_odb_backend_loose", + "git_odb_backend_one_pack", + "git_odb_backend_pack", "git_odb_get_backend" ] } @@ -31572,8 +32095,8 @@ "type": "struct", "value": "git_odb_backend_loose_options", "file": "git2/odb_backend.h", - "line": 93, - "lineto": 119, + "line": 49, + "lineto": 75, "block": "unsigned int version\nuint32_t flags\nint compression_level\nunsigned int dir_mode\nunsigned int file_mode\ngit_oid_t oid_type", "tdef": "typedef", "description": " Options for configuring a loose object backend. ", @@ -31620,8 +32143,8 @@ "type": "struct", "value": "git_odb_backend_pack_options", "file": "git2/odb_backend.h", - "line": 28, - "lineto": 36, + "line": 24, + "lineto": 32, "block": "unsigned int version\ngit_oid_t oid_type", "tdef": "typedef", "description": " Options for configuring a packfile object backend. ", @@ -31648,8 +32171,8 @@ "type": "struct", "value": "git_odb_expand_id", "file": "git2/odb.h", - "line": 230, - "lineto": 245, + "line": 250, + "lineto": 265, "block": "git_oid id\nunsigned short length\ngit_object_t type", "tdef": "typedef", "description": " The information about object IDs to query in `git_odb_expand_ids`,\n which will be populated upon return.", @@ -31704,10 +32227,10 @@ "type": "struct", "value": "git_odb_object", "file": "git2/types.h", - "line": 91, - "lineto": 91, + "line": 96, + "lineto": 96, "tdef": "typedef", - "description": " An object read from the ODB ", + "description": " A \"raw\" object read from the object database.", "comments": "", "used": { "returns": [], @@ -31731,8 +32254,8 @@ "type": "struct", "value": "git_odb_options", "file": "git2/odb.h", - "line": 42, - "lineto": 50, + "line": 46, + "lineto": 54, "block": "unsigned int version\ngit_oid_t oid_type", "tdef": "typedef", "description": " Options for configuring a loose object backend. ", @@ -31759,8 +32282,8 @@ "type": "struct", "value": "git_odb_stream", "file": "git2/types.h", - "line": 94, - "lineto": 94, + "line": 99, + "lineto": 99, "block": "git_odb_backend * backend\nunsigned int mode\nvoid * hash_ctx\ngit_object_size_t declared_size\ngit_object_size_t received_bytes\nint (*)(git_odb_stream *, char *, size_t) read\nint (*)(git_odb_stream *, const char *, size_t) write\nint (*)(git_odb_stream *, const git_oid *) finalize_write\nvoid (*)(git_odb_stream *) free", "tdef": "typedef", "description": " A stream to read/write from the ODB ", @@ -31819,8 +32342,8 @@ "decl": ["GIT_STREAM_RDONLY", "GIT_STREAM_WRONLY", "GIT_STREAM_RW"], "type": "enum", "file": "git2/odb_backend.h", - "line": 155, - "lineto": 159, + "line": 182, + "lineto": 186, "block": "GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW", "tdef": "typedef", "description": " Streaming mode ", @@ -31850,8 +32373,8 @@ "type": "struct", "value": "git_odb_writepack", "file": "git2/types.h", - "line": 97, - "lineto": 97, + "line": 102, + "lineto": 102, "block": "git_odb_backend * backend\nint (*)(git_odb_writepack *, const void *, size_t, git_indexer_progress *) append\nint (*)(git_odb_writepack *, git_indexer_progress *) commit\nvoid (*)(git_odb_writepack *) free", "tdef": "typedef", "description": " A stream to write a packfile to the ODB ", @@ -31884,8 +32407,8 @@ "type": "struct", "value": "git_oid", "file": "git2/oid.h", - "line": 99, - "lineto": 108, + "line": 103, + "lineto": 112, "block": "unsigned char [20] id", "tdef": "typedef", "description": " Unique identity of any object (commit, tree, blob, tag). ", @@ -31906,7 +32429,6 @@ "git_commit_tree_id", "git_index_checksum", "git_indexer_hash", - "git_note_id", "git_object_id", "git_odb_object_id", "git_oid_shorten_new", @@ -31945,7 +32467,6 @@ "git_commit_lookup", "git_commit_lookup_prefix", "git_diff_patchid", - "git_email_create_from_diff", "git_graph_ahead_behind", "git_graph_descendant_of", "git_graph_reachable_from_any", @@ -31956,20 +32477,16 @@ "git_merge_base_octopus", "git_merge_bases", "git_merge_bases_many", - "git_note_commit_create", - "git_note_commit_read", - "git_note_commit_remove", - "git_note_create", "git_note_foreach_cb", "git_note_next", - "git_note_read", - "git_note_remove", "git_object_lookup", "git_object_lookup_prefix", "git_odb_exists", "git_odb_exists_ext", "git_odb_exists_prefix", "git_odb_foreach_cb", + "git_odb_hash", + "git_odb_hashfile", "git_odb_open_rstream", "git_odb_read", "git_odb_read_header", @@ -31980,6 +32497,10 @@ "git_oid_cpy", "git_oid_equal", "git_oid_fmt", + "git_oid_fromraw", + "git_oid_fromstr", + "git_oid_fromstrn", + "git_oid_fromstrp", "git_oid_is_zero", "git_oid_ncmp", "git_oid_nfmt", @@ -32039,8 +32560,8 @@ "type": "struct", "value": "git_oid_shorten", "file": "git2/oid.h", - "line": 320, - "lineto": 320, + "line": 317, + "lineto": 317, "tdef": "typedef", "description": " OID Shortener object", "comments": "", @@ -32056,8 +32577,8 @@ "decl": ["GIT_OID_SHA1"], "type": "enum", "file": "git2/oid.h", - "line": 24, - "lineto": 33, + "line": 23, + "lineto": 32, "block": "GIT_OID_SHA1", "tdef": "typedef", "description": " The type of object id. ", @@ -32080,8 +32601,8 @@ "type": "struct", "value": "git_oidarray", "file": "git2/oidarray.h", - "line": 16, - "lineto": 19, + "line": 23, + "lineto": 26, "block": "git_oid * ids\nsize_t count", "tdef": "typedef", "description": " Array of object ids ", @@ -32108,8 +32629,8 @@ "type": "struct", "value": "git_packbuilder", "file": "git2/types.h", - "line": 172, - "lineto": 172, + "line": 177, + "lineto": 177, "tdef": "typedef", "description": " Representation of a git packbuilder ", "comments": "", @@ -32208,8 +32729,8 @@ "decl": ["GIT_PATH_FS_GENERIC", "GIT_PATH_FS_NTFS", "GIT_PATH_FS_HFS"], "type": "enum", "file": "git2/sys/path.h", - "line": 34, - "lineto": 41, + "line": 44, + "lineto": 51, "block": "GIT_PATH_FS_GENERIC\nGIT_PATH_FS_NTFS\nGIT_PATH_FS_HFS", "tdef": "typedef", "description": " The kinds of checks to perform according to which filesystem we are trying to\n protect.", @@ -32244,8 +32765,8 @@ "type": "struct", "value": "git_pathspec", "file": "git2/pathspec.h", - "line": 20, - "lineto": 20, + "line": 27, + "lineto": 27, "tdef": "typedef", "description": " Compiled pathspec", "comments": "", @@ -32283,8 +32804,8 @@ ], "type": "enum", "file": "git2/pathspec.h", - "line": 30, - "lineto": 73, + "line": 37, + "lineto": 80, "block": "GIT_PATHSPEC_DEFAULT\nGIT_PATHSPEC_IGNORE_CASE\nGIT_PATHSPEC_USE_CASE\nGIT_PATHSPEC_NO_GLOB\nGIT_PATHSPEC_NO_MATCH_ERROR\nGIT_PATHSPEC_FIND_FAILURES\nGIT_PATHSPEC_FAILURES_ONLY", "tdef": "typedef", "description": " Options controlling how pathspec match should be executed", @@ -32343,8 +32864,8 @@ "type": "struct", "value": "git_pathspec_match_list", "file": "git2/pathspec.h", - "line": 25, - "lineto": 25, + "line": 32, + "lineto": 32, "tdef": "typedef", "description": " List of filenames matching a pathspec", "comments": "", @@ -32379,8 +32900,8 @@ "type": "struct", "value": "git_proxy_options", "file": "git2/proxy.h", - "line": 44, - "lineto": 79, + "line": 50, + "lineto": 85, "block": "unsigned int version\ngit_proxy_t type\nconst char * url\ngit_credential_acquire_cb credentials\ngit_transport_certificate_check_cb certificate_check\nvoid * payload", "tdef": "typedef", "description": " Options for connecting through a proxy", @@ -32425,8 +32946,8 @@ "decl": ["GIT_PROXY_NONE", "GIT_PROXY_AUTO", "GIT_PROXY_SPECIFIED"], "type": "enum", "file": "git2/proxy.h", - "line": 20, - "lineto": 36, + "line": 26, + "lineto": 42, "block": "GIT_PROXY_NONE\nGIT_PROXY_AUTO\nGIT_PROXY_SPECIFIED", "tdef": "typedef", "description": " The type of proxy to use.", @@ -32461,8 +32982,8 @@ "type": "struct", "value": "git_push", "file": "git2/types.h", - "line": 253, - "lineto": 253, + "line": 269, + "lineto": 269, "tdef": "typedef", "description": " Preparation for a push operation. Can be used to configure what to\n push and the level of parallelism of the packfile builder.", "comments": "", @@ -32492,8 +33013,8 @@ "type": "struct", "value": "git_push_options", "file": "git2/remote.h", - "line": 814, - "lineto": 853, + "line": 860, + "lineto": 899, "block": "unsigned int version\nunsigned int pb_parallelism\ngit_remote_callbacks callbacks\ngit_proxy_options proxy_opts\ngit_remote_redirect_t follow_redirects\ngit_strarray custom_headers\ngit_strarray remote_push_options", "tdef": "typedef", "description": " Controls the behavior of a git_push object.", @@ -32553,8 +33074,8 @@ "type": "struct", "value": "git_push_update", "file": "git2/remote.h", - "line": 479, - "lineto": 496, + "line": 490, + "lineto": 507, "block": "char * src_refname\nchar * dst_refname\ngit_oid src\ngit_oid dst", "tdef": "typedef", "description": " Represents an update which will be performed on the remote during push", @@ -32591,8 +33112,8 @@ "type": "struct", "value": "git_rebase", "file": "git2/types.h", - "line": 204, - "lineto": 204, + "line": 220, + "lineto": 220, "tdef": "typedef", "description": " Representation of a rebase ", "comments": "", @@ -32630,8 +33151,8 @@ "type": "struct", "value": "git_rebase_operation", "file": "git2/rebase.h", - "line": 172, - "lineto": 187, + "line": 174, + "lineto": 189, "block": "git_rebase_operation_t type\nconst git_oid id\nconst char * exec", "tdef": "typedef", "description": " A rebase operation", @@ -32672,8 +33193,8 @@ ], "type": "enum", "file": "git2/rebase.h", - "line": 120, - "lineto": 156, + "line": 119, + "lineto": 155, "block": "GIT_REBASE_OPERATION_PICK\nGIT_REBASE_OPERATION_REWORD\nGIT_REBASE_OPERATION_EDIT\nGIT_REBASE_OPERATION_SQUASH\nGIT_REBASE_OPERATION_FIXUP\nGIT_REBASE_OPERATION_EXEC", "tdef": "typedef", "description": " Type of rebase operation in-progress after calling `git_rebase_next`.", @@ -32737,7 +33258,7 @@ "value": "git_rebase_options", "file": "git2/rebase.h", "line": 32, - "lineto": 115, + "lineto": 114, "block": "unsigned int version\nint quiet\nint inmemory\nconst char * rewrite_notes_ref\ngit_merge_options merge_options\ngit_checkout_options checkout_options\ngit_commit_create_cb commit_create_cb\nint (*)(git_buf *, git_buf *, const char *, void *) signing_cb\nvoid * payload", "tdef": "typedef", "description": " Rebase options", @@ -32767,7 +33288,7 @@ { "type": "git_checkout_options", "name": "checkout_options", - "comments": " Options to control how files are written during `git_rebase_init`,\n `git_rebase_next` and `git_rebase_abort`. Note that a minimum\n strategy of `GIT_CHECKOUT_SAFE` is defaulted in `init` and `next`,\n and a minimum strategy of `GIT_CHECKOUT_FORCE` is defaulted in\n `abort` to match git semantics." + "comments": " Options to control how files are written during `git_rebase_init`,\n `git_rebase_next` and `git_rebase_abort`. Note that during\n `abort`, these options will add an implied `GIT_CHECKOUT_FORCE`\n to match git semantics." }, { "type": "git_commit_create_cb", @@ -32802,8 +33323,8 @@ "type": "struct", "value": "git_refdb", "file": "git2/types.h", - "line": 103, - "lineto": 103, + "line": 108, + "lineto": 108, "tdef": "typedef", "description": " An open refs database handle. ", "comments": "", @@ -32826,8 +33347,8 @@ "type": "struct", "value": "git_refdb_backend", "file": "git2/types.h", - "line": 106, - "lineto": 106, + "line": 111, + "lineto": 111, "tdef": "typedef", "description": " A custom backend for refs ", "comments": "", @@ -32841,8 +33362,8 @@ "type": "struct", "value": "git_reference", "file": "git2/types.h", - "line": 189, - "lineto": 189, + "line": 194, + "lineto": 194, "tdef": "typedef", "description": " In-memory representation of a reference. ", "comments": "", @@ -32915,8 +33436,8 @@ ], "type": "enum", "file": "git2/refs.h", - "line": 661, - "lineto": 690, + "line": 663, + "lineto": 692, "block": "GIT_REFERENCE_FORMAT_NORMAL\nGIT_REFERENCE_FORMAT_ALLOW_ONELEVEL\nGIT_REFERENCE_FORMAT_REFSPEC_PATTERN\nGIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND", "tdef": "typedef", "description": " Normalization options for reference lookup", @@ -32957,8 +33478,8 @@ "type": "struct", "value": "git_reference_iterator", "file": "git2/types.h", - "line": 192, - "lineto": 192, + "line": 197, + "lineto": 197, "tdef": "typedef", "description": " Iterator for references ", "comments": "", @@ -32985,8 +33506,8 @@ ], "type": "enum", "file": "git2/types.h", - "line": 207, - "lineto": 212, + "line": 223, + "lineto": 228, "block": "GIT_REFERENCE_INVALID\nGIT_REFERENCE_DIRECT\nGIT_REFERENCE_SYMBOLIC\nGIT_REFERENCE_ALL", "tdef": "typedef", "description": " Basic type of any Git reference. ", @@ -33027,8 +33548,8 @@ "type": "struct", "value": "git_reflog", "file": "git2/types.h", - "line": 166, - "lineto": 166, + "line": 171, + "lineto": 171, "tdef": "typedef", "description": " Representation of a reference log ", "comments": "", @@ -33058,8 +33579,8 @@ "type": "struct", "value": "git_reflog_entry", "file": "git2/types.h", - "line": 163, - "lineto": 163, + "line": 168, + "lineto": 168, "tdef": "typedef", "description": " Representation of a reference log entry ", "comments": "", @@ -33081,8 +33602,8 @@ "type": "struct", "value": "git_refspec", "file": "git2/types.h", - "line": 235, - "lineto": 235, + "line": 251, + "lineto": 251, "tdef": "typedef", "description": " A refspec specifies the mapping between remote and local reference\n names when fetch or pushing.", "comments": "", @@ -33098,6 +33619,7 @@ "git_refspec_rtransform", "git_refspec_src", "git_refspec_src_matches", + "git_refspec_src_matches_negative", "git_refspec_string", "git_refspec_transform" ] @@ -33111,8 +33633,8 @@ "type": "struct", "value": "git_remote", "file": "git2/types.h", - "line": 241, - "lineto": 241, + "line": 257, + "lineto": 257, "tdef": "typedef", "description": " Git's idea of a remote repository. A remote can be anonymous (in\n which case it does not have backing configuration entries).", "comments": "", @@ -33176,8 +33698,8 @@ ], "type": "enum", "file": "git2/remote.h", - "line": 696, - "lineto": 714, + "line": 739, + "lineto": 757, "block": "GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED\nGIT_REMOTE_DOWNLOAD_TAGS_AUTO\nGIT_REMOTE_DOWNLOAD_TAGS_NONE\nGIT_REMOTE_DOWNLOAD_TAGS_ALL", "tdef": "typedef", "description": " Automatic tag following option", @@ -33232,14 +33754,15 @@ "git_transport_cb transport", "git_remote_ready_cb remote_ready", "void * payload", - "git_url_resolve_cb resolve_url" + "git_url_resolve_cb resolve_url", + "int (*)(const char *, const git_oid *, const git_oid *, git_refspec *, void *) update_refs" ], "type": "struct", "value": "git_remote_callbacks", "file": "git2/remote.h", - "line": 557, - "lineto": 658, - "block": "unsigned int version\ngit_transport_message_cb sideband_progress\nint (*)(git_remote_completion_t, void *) completion\ngit_credential_acquire_cb credentials\ngit_transport_certificate_check_cb certificate_check\ngit_indexer_progress_cb transfer_progress\nint (*)(const char *, const git_oid *, const git_oid *, void *) update_tips\ngit_packbuilder_progress pack_progress\ngit_push_transfer_progress_cb push_transfer_progress\ngit_push_update_reference_cb push_update_reference\ngit_push_negotiation push_negotiation\ngit_transport_cb transport\ngit_remote_ready_cb remote_ready\nvoid * payload\ngit_url_resolve_cb resolve_url", + "line": 572, + "lineto": 698, + "block": "unsigned int version\ngit_transport_message_cb sideband_progress\nint (*)(git_remote_completion_t, void *) completion\ngit_credential_acquire_cb credentials\ngit_transport_certificate_check_cb certificate_check\ngit_indexer_progress_cb transfer_progress\nint (*)(const char *, const git_oid *, const git_oid *, void *) update_tips\ngit_packbuilder_progress pack_progress\ngit_push_transfer_progress_cb push_transfer_progress\ngit_push_update_reference_cb push_update_reference\ngit_push_negotiation push_negotiation\ngit_transport_cb transport\ngit_remote_ready_cb remote_ready\nvoid * payload\ngit_url_resolve_cb resolve_url\nint (*)(const char *, const git_oid *, const git_oid *, git_refspec *, void *) update_refs", "tdef": null, "description": " The callback settings structure", "comments": "

Set the callbacks to be called by the remote when informing the user about the progress of the network operations.

\n", @@ -33318,6 +33841,11 @@ "type": "git_url_resolve_cb", "name": "resolve_url", "comments": " Resolve URL before connecting to remote.\n The returned URL will be used to connect to the remote instead.\n\n This callback is deprecated; users should use\n git_remote_ready_cb and configure the instance URL instead." + }, + { + "type": "int (*)(const char *, const git_oid *, const git_oid *, git_refspec *, void *)", + "name": "update_refs", + "comments": "" } ], "used": { @@ -33341,8 +33869,8 @@ ], "type": "enum", "file": "git2/remote.h", - "line": 463, - "lineto": 467, + "line": 466, + "lineto": 470, "block": "GIT_REMOTE_COMPLETION_DOWNLOAD\nGIT_REMOTE_COMPLETION_INDEXING\nGIT_REMOTE_COMPLETION_ERROR\nGIT_REMOTE_COMPLETION_DOWNLOAD\nGIT_REMOTE_COMPLETION_INDEXING\nGIT_REMOTE_COMPLETION_ERROR", "tdef": "typedef", "description": " Argument to the completion callback which tells it which operation\n finished.", @@ -33383,8 +33911,8 @@ "type": "struct", "value": "git_remote_connect_options", "file": "git2/remote.h", - "line": 879, - "lineto": 897, + "line": 928, + "lineto": 946, "block": "unsigned int version\ngit_remote_callbacks callbacks\ngit_proxy_options proxy_opts\ngit_remote_redirect_t follow_redirects\ngit_strarray custom_headers", "tdef": "typedef", "description": " Remote creation options structure", @@ -33514,8 +34042,8 @@ "type": "struct", "value": "git_remote_head", "file": "git2/net.h", - "line": 40, - "lineto": 50, + "line": 41, + "lineto": 51, "block": "int local\ngit_oid oid\ngit_oid loid\nchar * name\nchar * symref_target", "tdef": null, "description": " Description of a reference advertised by a remote server, given out\n on `ls` calls.", @@ -33612,8 +34140,8 @@ "type": "struct", "value": "git_repository", "file": "git2/types.h", - "line": 118, - "lineto": 118, + "line": 123, + "lineto": 123, "tdef": "typedef", "description": " Representation of an existing git repository,\n including all its object contents", "comments": "", @@ -33646,7 +34174,6 @@ "git_attr_get_ext", "git_attr_get_many", "git_attr_get_many_ext", - "git_blame_file", "git_blob_create_from_buffer", "git_blob_create_from_disk", "git_blob_create_from_stream", @@ -33707,15 +34234,6 @@ "git_merge_commits", "git_merge_file_from_index", "git_merge_trees", - "git_note_commit_create", - "git_note_commit_read", - "git_note_commit_remove", - "git_note_create", - "git_note_default_ref", - "git_note_foreach", - "git_note_iterator_new", - "git_note_read", - "git_note_remove", "git_object_lookup", "git_object_lookup_prefix", "git_packbuilder_new", @@ -33801,6 +34319,7 @@ "git_repository_state", "git_repository_state_cleanup", "git_repository_workdir", + "git_repository_wrap_odb", "git_reset", "git_reset_default", "git_reset_from_annotated", @@ -33811,6 +34330,7 @@ "git_revparse_single", "git_revwalk_new", "git_signature_default", + "git_signature_default_from_env", "git_stash_apply", "git_stash_drop", "git_stash_foreach", @@ -33873,8 +34393,8 @@ ], "type": "enum", "file": "git2/repository.h", - "line": 236, - "lineto": 282, + "line": 249, + "lineto": 295, "block": "GIT_REPOSITORY_INIT_BARE\nGIT_REPOSITORY_INIT_NO_REINIT\nGIT_REPOSITORY_INIT_NO_DOTGIT_DIR\nGIT_REPOSITORY_INIT_MKDIR\nGIT_REPOSITORY_INIT_MKPATH\nGIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE\nGIT_REPOSITORY_INIT_RELATIVE_GITLINK", "tdef": "typedef", "description": " Option flags for `git_repository_init_ext`.", @@ -33936,8 +34456,8 @@ ], "type": "enum", "file": "git2/repository.h", - "line": 291, - "lineto": 307, + "line": 304, + "lineto": 320, "block": "GIT_REPOSITORY_INIT_SHARED_UMASK\nGIT_REPOSITORY_INIT_SHARED_GROUP\nGIT_REPOSITORY_INIT_SHARED_ALL", "tdef": "typedef", "description": " Mode options for `git_repository_init_ext`.", @@ -33981,8 +34501,8 @@ "type": "struct", "value": "git_repository_init_options", "file": "git2/repository.h", - "line": 315, - "lineto": 374, + "line": 328, + "lineto": 387, "block": "unsigned int version\nuint32_t flags\nuint32_t mode\nconst char * workdir_path\nconst char * description\nconst char * template_path\nconst char * initial_head\nconst char * origin_url", "tdef": "typedef", "description": " Extended options structure for `git_repository_init_ext`.", @@ -34057,8 +34577,8 @@ ], "type": "enum", "file": "git2/repository.h", - "line": 492, - "lineto": 509, + "line": 512, + "lineto": 529, "block": "GIT_REPOSITORY_ITEM_GITDIR\nGIT_REPOSITORY_ITEM_WORKDIR\nGIT_REPOSITORY_ITEM_COMMONDIR\nGIT_REPOSITORY_ITEM_INDEX\nGIT_REPOSITORY_ITEM_OBJECTS\nGIT_REPOSITORY_ITEM_REFS\nGIT_REPOSITORY_ITEM_PACKED_REFS\nGIT_REPOSITORY_ITEM_REMOTES\nGIT_REPOSITORY_ITEM_CONFIG\nGIT_REPOSITORY_ITEM_INFO\nGIT_REPOSITORY_ITEM_HOOKS\nGIT_REPOSITORY_ITEM_LOGS\nGIT_REPOSITORY_ITEM_MODULES\nGIT_REPOSITORY_ITEM_WORKTREES\nGIT_REPOSITORY_ITEM_WORKTREE_CONFIG\nGIT_REPOSITORY_ITEM__LAST", "tdef": "typedef", "description": " List of items which belong to the git repository layout", @@ -34176,8 +34696,8 @@ ], "type": "enum", "file": "git2/repository.h", - "line": 109, - "lineto": 156, + "line": 110, + "lineto": 157, "block": "GIT_REPOSITORY_OPEN_NO_SEARCH\nGIT_REPOSITORY_OPEN_CROSS_FS\nGIT_REPOSITORY_OPEN_BARE\nGIT_REPOSITORY_OPEN_NO_DOTGIT\nGIT_REPOSITORY_OPEN_FROM_ENV", "tdef": "typedef", "description": " Option flags for `git_repository_open_ext`.", @@ -34236,8 +34756,8 @@ ], "type": "enum", "file": "git2/repository.h", - "line": 893, - "lineto": 906, + "line": 915, + "lineto": 928, "block": "GIT_REPOSITORY_STATE_NONE\nGIT_REPOSITORY_STATE_MERGE\nGIT_REPOSITORY_STATE_REVERT\nGIT_REPOSITORY_STATE_REVERT_SEQUENCE\nGIT_REPOSITORY_STATE_CHERRYPICK\nGIT_REPOSITORY_STATE_CHERRYPICK_SEQUENCE\nGIT_REPOSITORY_STATE_BISECT\nGIT_REPOSITORY_STATE_REBASE\nGIT_REPOSITORY_STATE_REBASE_INTERACTIVE\nGIT_REPOSITORY_STATE_REBASE_MERGE\nGIT_REPOSITORY_STATE_APPLY_MAILBOX\nGIT_REPOSITORY_STATE_APPLY_MAILBOX_OR_REBASE", "tdef": "typedef", "description": " Repository state", @@ -34478,8 +34998,8 @@ "type": "struct", "value": "git_revwalk", "file": "git2/types.h", - "line": 127, - "lineto": 127, + "line": 132, + "lineto": 132, "tdef": "typedef", "description": " Representation of an in-progress walk through the commits in a repo ", "comments": "", @@ -34515,8 +35035,8 @@ "type": "struct", "value": "git_signature", "file": "git2/types.h", - "line": 182, - "lineto": 186, + "line": 187, + "lineto": 191, "block": "char * name\nchar * email\ngit_time when", "tdef": "typedef", "description": " An action signature (e.g. for committers, taggers, etc) ", @@ -34542,8 +35062,6 @@ "returns": [ "git_commit_author", "git_commit_committer", - "git_note_author", - "git_note_committer", "git_reflog_entry_committer", "git_tag_tagger" ], @@ -34555,16 +35073,12 @@ "git_commit_create_buffer", "git_commit_create_cb", "git_commit_create_v", - "git_email_create_from_diff", "git_mailmap_resolve_signature", - "git_note_commit_create", - "git_note_commit_remove", - "git_note_create", - "git_note_remove", "git_rebase_commit", "git_rebase_finish", "git_reflog_append", "git_signature_default", + "git_signature_default_from_env", "git_signature_dup", "git_signature_free", "git_signature_from_buffer", @@ -34590,8 +35104,8 @@ ], "type": "enum", "file": "git2/sys/transport.h", - "line": 313, - "lineto": 318, + "line": 323, + "lineto": 328, "block": "GIT_SERVICE_UPLOADPACK_LS\nGIT_SERVICE_UPLOADPACK\nGIT_SERVICE_RECEIVEPACK_LS\nGIT_SERVICE_RECEIVEPACK", "tdef": "typedef", "description": " Actions that the smart transport can ask a subtransport to perform ", @@ -34677,8 +35191,8 @@ "decl": ["GIT_STASH_APPLY_DEFAULT", "GIT_STASH_APPLY_REINSTATE_INDEX"], "type": "enum", "file": "git2/stash.h", - "line": 129, - "lineto": 136, + "line": 137, + "lineto": 144, "block": "GIT_STASH_APPLY_DEFAULT\nGIT_STASH_APPLY_REINSTATE_INDEX", "tdef": "typedef", "description": " Stash application flags. ", @@ -34713,8 +35227,8 @@ "type": "struct", "value": "git_stash_apply_options", "file": "git2/stash.h", - "line": 180, - "lineto": 192, + "line": 192, + "lineto": 204, "block": "unsigned int version\nuint32_t flags\ngit_checkout_options checkout_options\ngit_stash_apply_progress_cb progress_cb\nvoid * progress_payload", "tdef": "typedef", "description": " Stash application options structure", @@ -34763,8 +35277,8 @@ ], "type": "enum", "file": "git2/stash.h", - "line": 139, - "lineto": 162, + "line": 147, + "lineto": 170, "block": "GIT_STASH_APPLY_PROGRESS_NONE\nGIT_STASH_APPLY_PROGRESS_LOADING_STASH\nGIT_STASH_APPLY_PROGRESS_ANALYZE_INDEX\nGIT_STASH_APPLY_PROGRESS_ANALYZE_MODIFIED\nGIT_STASH_APPLY_PROGRESS_ANALYZE_UNTRACKED\nGIT_STASH_APPLY_PROGRESS_CHECKOUT_UNTRACKED\nGIT_STASH_APPLY_PROGRESS_CHECKOUT_MODIFIED\nGIT_STASH_APPLY_PROGRESS_DONE", "tdef": "typedef", "description": " Stash apply progression states ", @@ -34834,8 +35348,8 @@ ], "type": "enum", "file": "git2/stash.h", - "line": 25, - "lineto": 53, + "line": 30, + "lineto": 58, "block": "GIT_STASH_DEFAULT\nGIT_STASH_KEEP_INDEX\nGIT_STASH_INCLUDE_UNTRACKED\nGIT_STASH_INCLUDE_IGNORED\nGIT_STASH_KEEP_ALL", "tdef": "typedef", "description": " Stash flags", @@ -34888,8 +35402,8 @@ "type": "struct", "value": "git_stash_save_options", "file": "git2/stash.h", - "line": 81, - "lineto": 95, + "line": 86, + "lineto": 100, "block": "unsigned int version\nuint32_t flags\nconst git_signature * stasher\nconst char * message\ngit_strarray paths", "tdef": "typedef", "description": " Stash save options structure", @@ -34934,8 +35448,8 @@ "type": "struct", "value": "git_status_entry", "file": "git2/status.h", - "line": 295, - "lineto": 299, + "line": 298, + "lineto": 302, "block": "git_status_t status\ngit_diff_delta * head_to_index\ngit_diff_delta * index_to_workdir", "tdef": "typedef", "description": " A status entry, providing the differences between the file as it exists\n in HEAD and the index, and providing the differences between the index\n and the working directory.", @@ -34963,8 +35477,8 @@ "type": "struct", "value": "git_status_list", "file": "git2/types.h", - "line": 201, - "lineto": 201, + "line": 217, + "lineto": 217, "tdef": "typedef", "description": " Representation of a status collection ", "comments": "", @@ -35002,8 +35516,8 @@ ], "type": "enum", "file": "git2/status.h", - "line": 101, - "lineto": 208, + "line": 100, + "lineto": 207, "block": "GIT_STATUS_OPT_INCLUDE_UNTRACKED\nGIT_STATUS_OPT_INCLUDE_IGNORED\nGIT_STATUS_OPT_INCLUDE_UNMODIFIED\nGIT_STATUS_OPT_EXCLUDE_SUBMODULES\nGIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS\nGIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH\nGIT_STATUS_OPT_RECURSE_IGNORED_DIRS\nGIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX\nGIT_STATUS_OPT_RENAMES_INDEX_TO_WORKDIR\nGIT_STATUS_OPT_SORT_CASE_SENSITIVELY\nGIT_STATUS_OPT_SORT_CASE_INSENSITIVELY\nGIT_STATUS_OPT_RENAMES_FROM_REWRITES\nGIT_STATUS_OPT_NO_REFRESH\nGIT_STATUS_OPT_UPDATE_INDEX\nGIT_STATUS_OPT_INCLUDE_UNREADABLE\nGIT_STATUS_OPT_INCLUDE_UNREADABLE_AS_UNTRACKED", "tdef": "typedef", "description": " Flags to control status callbacks", @@ -35181,8 +35695,8 @@ ], "type": "enum", "file": "git2/status.h", - "line": 73, - "lineto": 91, + "line": 72, + "lineto": 90, "block": "GIT_STATUS_SHOW_INDEX_AND_WORKDIR\nGIT_STATUS_SHOW_INDEX_ONLY\nGIT_STATUS_SHOW_WORKDIR_ONLY", "tdef": "typedef", "description": " Select the files on which to report status.", @@ -35377,8 +35891,8 @@ "decl": ["GIT_STREAM_STANDARD", "GIT_STREAM_TLS"], "type": "enum", "file": "git2/sys/stream.h", - "line": 91, - "lineto": 97, + "line": 99, + "lineto": 105, "block": "GIT_STREAM_STANDARD\nGIT_STREAM_TLS", "tdef": "typedef", "description": " The type of stream to register.", @@ -35407,8 +35921,8 @@ "type": "struct", "value": "git_submodule", "file": "git2/types.h", - "line": 267, - "lineto": 267, + "line": 283, + "lineto": 283, "tdef": "typedef", "description": " Opaque structure representing a submodule.", "comments": "", @@ -35467,8 +35981,8 @@ ], "type": "enum", "file": "git2/types.h", - "line": 331, - "lineto": 338, + "line": 347, + "lineto": 354, "block": "GIT_SUBMODULE_IGNORE_UNSPECIFIED\nGIT_SUBMODULE_IGNORE_NONE\nGIT_SUBMODULE_IGNORE_UNTRACKED\nGIT_SUBMODULE_IGNORE_DIRTY\nGIT_SUBMODULE_IGNORE_ALL", "tdef": "typedef", "description": " Submodule ignore values", @@ -35521,8 +36035,8 @@ ], "type": "enum", "file": "git2/types.h", - "line": 350, - "lineto": 354, + "line": 366, + "lineto": 370, "block": "GIT_SUBMODULE_RECURSE_NO\nGIT_SUBMODULE_RECURSE_YES\nGIT_SUBMODULE_RECURSE_ONDEMAND", "tdef": "typedef", "description": " Options for submodule recurse.", @@ -35681,8 +36195,8 @@ "type": "struct", "value": "git_submodule_update_options", "file": "git2/submodule.h", - "line": 128, - "lineto": 153, + "line": 135, + "lineto": 158, "block": "unsigned int version\ngit_checkout_options checkout_opts\ngit_fetch_options fetch_opts\nint allow_fetch", "tdef": "typedef", "description": " Submodule update options structure", @@ -35692,7 +36206,7 @@ { "type": "git_checkout_options", "name": "checkout_opts", - "comments": " These options are passed to the checkout step. To disable\n checkout, set the `checkout_strategy` to\n `GIT_CHECKOUT_NONE`. Generally you will want the use\n GIT_CHECKOUT_SAFE to update files in the working\n directory." + "comments": " These options are passed to the checkout step. To disable\n checkout, set the `checkout_strategy` to `GIT_CHECKOUT_NONE`\n or `GIT_CHECKOUT_DRY_RUN`." }, { "type": "git_fetch_options", @@ -35727,8 +36241,8 @@ ], "type": "enum", "file": "git2/types.h", - "line": 295, - "lineto": 302, + "line": 311, + "lineto": 318, "block": "GIT_SUBMODULE_UPDATE_CHECKOUT\nGIT_SUBMODULE_UPDATE_REBASE\nGIT_SUBMODULE_UPDATE_MERGE\nGIT_SUBMODULE_UPDATE_NONE\nGIT_SUBMODULE_UPDATE_DEFAULT", "tdef": "typedef", "description": " Submodule update values", @@ -35778,8 +36292,8 @@ "type": "struct", "value": "git_tag", "file": "git2/types.h", - "line": 130, - "lineto": 130, + "line": 135, + "lineto": 135, "tdef": "typedef", "description": " Parsed representation of a tag object. ", "comments": "", @@ -35811,8 +36325,8 @@ "type": "struct", "value": "git_time", "file": "git2/types.h", - "line": 175, - "lineto": 179, + "line": 180, + "lineto": 184, "block": "git_time_t time\nint offset\nchar sign", "tdef": "typedef", "description": " Time in a signature ", @@ -35914,8 +36428,8 @@ "type": "struct", "value": "git_transaction", "file": "git2/types.h", - "line": 195, - "lineto": 195, + "line": 200, + "lineto": 200, "tdef": "typedef", "description": " Transactional interface to references ", "comments": "", @@ -35942,8 +36456,8 @@ "type": "struct", "value": "git_transport", "file": "git2/types.h", - "line": 247, - "lineto": 247, + "line": 263, + "lineto": 263, "tdef": "typedef", "description": " Interface which represents a transport to communicate with a\n remote.", "comments": "", @@ -35957,8 +36471,8 @@ "type": "struct", "value": "git_tree", "file": "git2/types.h", - "line": 142, - "lineto": 142, + "line": 147, + "lineto": 147, "tdef": "typedef", "description": " Representation of a tree object. ", "comments": "", @@ -36029,8 +36543,8 @@ "type": "struct", "value": "git_tree_entry", "file": "git2/types.h", - "line": 139, - "lineto": 139, + "line": 144, + "lineto": 144, "tdef": "typedef", "description": " Representation of each one of the entries in a tree object. ", "comments": "", @@ -36071,8 +36585,8 @@ "type": "struct", "value": "git_tree_update", "file": "git2/tree.h", - "line": 438, - "lineto": 447, + "line": 449, + "lineto": 458, "block": "git_tree_update_t action\ngit_oid id\ngit_filemode_t filemode\nconst char * path", "tdef": "typedef", "description": " An action to perform during the update of a tree", @@ -36104,8 +36618,8 @@ "decl": ["GIT_TREE_UPDATE_UPSERT", "GIT_TREE_UPDATE_REMOVE"], "type": "enum", "file": "git2/tree.h", - "line": 428, - "lineto": 433, + "line": 439, + "lineto": 444, "block": "GIT_TREE_UPDATE_UPSERT\nGIT_TREE_UPDATE_REMOVE", "tdef": "typedef", "description": " The kind of update to perform", @@ -36134,8 +36648,8 @@ "type": "struct", "value": "git_treebuilder", "file": "git2/types.h", - "line": 145, - "lineto": 145, + "line": 150, + "lineto": 150, "tdef": "typedef", "description": " Constructor for in-memory trees ", "comments": "", @@ -36162,8 +36676,8 @@ "decl": ["GIT_TREEWALK_PRE", "GIT_TREEWALK_POST"], "type": "enum", "file": "git2/tree.h", - "line": 387, - "lineto": 390, + "line": 398, + "lineto": 401, "block": "GIT_TREEWALK_PRE\nGIT_TREEWALK_POST", "tdef": "typedef", "description": " Tree traversal modes ", @@ -36192,8 +36706,8 @@ "type": "struct", "value": "git_worktree", "file": "git2/types.h", - "line": 121, - "lineto": 121, + "line": 126, + "lineto": 126, "tdef": "typedef", "description": " Representation of a working tree ", "comments": "", @@ -36274,8 +36788,8 @@ "type": "struct", "value": "git_worktree_prune_options", "file": "git2/worktree.h", - "line": 207, - "lineto": 212, + "line": 210, + "lineto": 215, "block": "unsigned int version\nuint32_t flags", "tdef": "typedef", "description": " Worktree prune options structure", @@ -36308,8 +36822,8 @@ ], "type": "enum", "file": "git2/worktree.h", - "line": 191, - "lineto": 198, + "line": 194, + "lineto": 201, "block": "GIT_WORKTREE_PRUNE_VALID\nGIT_WORKTREE_PRUNE_LOCKED\nGIT_WORKTREE_PRUNE_WORKING_TREE", "tdef": "typedef", "description": " Flags which can be passed to git_worktree_prune to alter its\n behavior.", @@ -36348,8 +36862,8 @@ "type": "struct", "value": "git_writestream", "file": "git2/types.h", - "line": 359, - "lineto": 363, + "line": 375, + "lineto": 379, "tdef": null, "description": " A type to write in a streaming fashion, for example, for filters. ", "comments": "", @@ -36418,12 +36932,16 @@ "blame", [ "git_blame_buffer", - "git_blame_file", "git_blame_free", "git_blame_get_hunk_byindex", "git_blame_get_hunk_byline", "git_blame_get_hunk_count", + "git_blame_hunk_byindex", + "git_blame_hunk_byline", + "git_blame_hunkcount", "git_blame_init_options", + "git_blame_line_byindex", + "git_blame_linecount", "git_blame_options_init" ] ], @@ -36581,6 +37099,7 @@ "git_config_set_int64", "git_config_set_multivar", "git_config_set_string", + "git_config_set_writeorder", "git_config_snapshot" ] ], @@ -36651,7 +37170,7 @@ "git_diff_tree_to_workdir_with_index" ] ], - ["email", ["git_email_create_from_commit", "git_email_create_from_diff"]], + ["email", ["git_email_create_from_commit"]], ["error", ["git_error_last"]], ["fetch", ["git_fetch_options_init"]], [ @@ -36720,6 +37239,8 @@ "git_index_iterator_free", "git_index_iterator_new", "git_index_iterator_next", + "git_index_new", + "git_index_open", "git_index_owner", "git_index_path", "git_index_read", @@ -36752,6 +37273,7 @@ [ "libgit2", [ + "git_libgit2_feature_backend", "git_libgit2_features", "git_libgit2_init", "git_libgit2_opts", @@ -36801,28 +37323,7 @@ "git_message_trailers" ] ], - [ - "note", - [ - "git_note_author", - "git_note_commit_create", - "git_note_commit_iterator_new", - "git_note_commit_read", - "git_note_commit_remove", - "git_note_committer", - "git_note_create", - "git_note_default_ref", - "git_note_foreach", - "git_note_free", - "git_note_id", - "git_note_iterator_free", - "git_note_iterator_new", - "git_note_message", - "git_note_next", - "git_note_read", - "git_note_remove" - ] - ], + ["note", ["git_note_iterator_free", "git_note_next"]], [ "object", [ @@ -36849,6 +37350,9 @@ "git_odb_add_alternate", "git_odb_add_backend", "git_odb_add_disk_alternate", + "git_odb_backend_loose", + "git_odb_backend_one_pack", + "git_odb_backend_pack", "git_odb_exists", "git_odb_exists_ext", "git_odb_exists_prefix", @@ -36856,6 +37360,9 @@ "git_odb_foreach", "git_odb_free", "git_odb_get_backend", + "git_odb_hash", + "git_odb_hashfile", + "git_odb_new", "git_odb_num_backends", "git_odb_object_data", "git_odb_object_dup", @@ -36863,6 +37370,7 @@ "git_odb_object_id", "git_odb_object_size", "git_odb_object_type", + "git_odb_open", "git_odb_open_rstream", "git_odb_open_wstream", "git_odb_read", @@ -36886,6 +37394,10 @@ "git_oid_cpy", "git_oid_equal", "git_oid_fmt", + "git_oid_fromraw", + "git_oid_fromstr", + "git_oid_fromstrn", + "git_oid_fromstrp", "git_oid_is_zero", "git_oid_ncmp", "git_oid_nfmt", @@ -37068,6 +37580,7 @@ "git_refspec_rtransform", "git_refspec_src", "git_refspec_src_matches", + "git_refspec_src_matches_negative", "git_refspec_string", "git_refspec_transform" ] @@ -37171,7 +37684,8 @@ "git_repository_set_workdir", "git_repository_state", "git_repository_state_cleanup", - "git_repository_workdir" + "git_repository_workdir", + "git_repository_wrap_odb" ] ], ["reset", ["git_reset", "git_reset_default", "git_reset_from_annotated"]], @@ -37203,6 +37717,7 @@ "signature", [ "git_signature_default", + "git_signature_default_from_env", "git_signature_dup", "git_signature_free", "git_signature_from_buffer", @@ -37385,34 +37900,34 @@ ] ], "examples": [ - ["add.c", "ex/v1.8.4/add.html"], - ["args.c", "ex/v1.8.4/args.html"], - ["blame.c", "ex/v1.8.4/blame.html"], - ["cat-file.c", "ex/v1.8.4/cat-file.html"], - ["checkout.c", "ex/v1.8.4/checkout.html"], - ["clone.c", "ex/v1.8.4/clone.html"], - ["commit.c", "ex/v1.8.4/commit.html"], - ["common.c", "ex/v1.8.4/common.html"], - ["config.c", "ex/v1.8.4/config.html"], - ["describe.c", "ex/v1.8.4/describe.html"], - ["diff.c", "ex/v1.8.4/diff.html"], - ["fetch.c", "ex/v1.8.4/fetch.html"], - ["for-each-ref.c", "ex/v1.8.4/for-each-ref.html"], - ["general.c", "ex/v1.8.4/general.html"], - ["index-pack.c", "ex/v1.8.4/index-pack.html"], - ["init.c", "ex/v1.8.4/init.html"], - ["lg2.c", "ex/v1.8.4/lg2.html"], - ["log.c", "ex/v1.8.4/log.html"], - ["ls-files.c", "ex/v1.8.4/ls-files.html"], - ["ls-remote.c", "ex/v1.8.4/ls-remote.html"], - ["merge.c", "ex/v1.8.4/merge.html"], - ["push.c", "ex/v1.8.4/push.html"], - ["remote.c", "ex/v1.8.4/remote.html"], - ["rev-list.c", "ex/v1.8.4/rev-list.html"], - ["rev-parse.c", "ex/v1.8.4/rev-parse.html"], - ["show-index.c", "ex/v1.8.4/show-index.html"], - ["stash.c", "ex/v1.8.4/stash.html"], - ["status.c", "ex/v1.8.4/status.html"], - ["tag.c", "ex/v1.8.4/tag.html"] + ["add.c", "ex/v1.9.1/add.html"], + ["args.c", "ex/v1.9.1/args.html"], + ["blame.c", "ex/v1.9.1/blame.html"], + ["cat-file.c", "ex/v1.9.1/cat-file.html"], + ["checkout.c", "ex/v1.9.1/checkout.html"], + ["clone.c", "ex/v1.9.1/clone.html"], + ["commit.c", "ex/v1.9.1/commit.html"], + ["common.c", "ex/v1.9.1/common.html"], + ["config.c", "ex/v1.9.1/config.html"], + ["describe.c", "ex/v1.9.1/describe.html"], + ["diff.c", "ex/v1.9.1/diff.html"], + ["fetch.c", "ex/v1.9.1/fetch.html"], + ["for-each-ref.c", "ex/v1.9.1/for-each-ref.html"], + ["general.c", "ex/v1.9.1/general.html"], + ["index-pack.c", "ex/v1.9.1/index-pack.html"], + ["init.c", "ex/v1.9.1/init.html"], + ["lg2.c", "ex/v1.9.1/lg2.html"], + ["log.c", "ex/v1.9.1/log.html"], + ["ls-files.c", "ex/v1.9.1/ls-files.html"], + ["ls-remote.c", "ex/v1.9.1/ls-remote.html"], + ["merge.c", "ex/v1.9.1/merge.html"], + ["push.c", "ex/v1.9.1/push.html"], + ["remote.c", "ex/v1.9.1/remote.html"], + ["rev-list.c", "ex/v1.9.1/rev-list.html"], + ["rev-parse.c", "ex/v1.9.1/rev-parse.html"], + ["show-index.c", "ex/v1.9.1/show-index.html"], + ["stash.c", "ex/v1.9.1/stash.html"], + ["status.c", "ex/v1.9.1/status.html"], + ["tag.c", "ex/v1.9.1/tag.html"] ] } diff --git a/generate/input/libgit2-supplement.json b/generate/input/libgit2-supplement.json index d94be9ba03..12ee8945b6 100644 --- a/generate/input/libgit2-supplement.json +++ b/generate/input/libgit2-supplement.json @@ -216,7 +216,7 @@ ] } }, - "new" : { + "new": { "functions": { "git_libgit2_opts": { "type": "function", @@ -226,6 +226,33 @@ "isPrototypeMethod": false, "group": "libgit2" }, + "git_blame_file": { + "type": "function", + "file": "blame.h", + "args": [ + { + "name": "out", + "type": "git_blame **" + }, + { + "name": "repo", + "type": "git_repository *" + }, + { + "name": "path", + "type": "const char *" + }, + { + "name": "options", + "type": "git_blame_options *" + } + ], + "group": "blame", + "return": { + "type": "int", + "isErrorCode": true + } + }, "git_clone": { "isManual": true, "cFile": "generate/templates/manual/clone/clone.cc", @@ -267,6 +294,54 @@ "isErrorCode": true } }, + "git_email_create_from_diff": { + "file": "sys/email.h", + "type": "function", + "isAsync": true, + "group": "email", + "args": [ + { + "name": "out", + "type": "git_buf *" + }, + { + "name": "diff", + "type": "git_diff *" + }, + { + "name": "patch_idx", + "type": "size_t" + }, + { + "name": "patch_count", + "type": "size_t" + }, + { + "name": "commit_id", + "type": "const git_oid *" + }, + { + "name": "summary", + "type": "const char *" + }, + { + "name": "body", + "type": "const char *" + }, + { + "name": "author", + "type": "const git_signature *" + }, + { + "name": "opts", + "type": "git_email_create_options *" + } + ], + "return": { + "type": "int", + "isErrorCode": true + } + }, "git_diff_get_perfdata": { "file": "sys/diff.h", "args": [ @@ -667,24 +742,399 @@ }, "group": "index_reuc_entry" }, - "git_oid_fromstrp": { + "git_note_author": { "type": "function", - "file": "oid.h", + "file": "note.h", + "args": [ + { + "name": "note", + "type": "const git_note *" + } + ], + "return": { + "type": "const git_signature *" + }, + "group": "note" + }, + "git_note_commit_create": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "notes_commit_out", + "type": "git_oid *" + }, + { + "name": "notes_blob_out", + "type": "git_oid *" + }, + { + "name": "repo", + "type": "git_repository *" + }, + { + "name": "parent", + "type": "git_commit *" + }, + { + "name": "author", + "type": "const git_signature *" + }, + { + "name": "committer", + "type": "const git_signature *" + }, + { + "name": "oid", + "type": "const git_oid *" + }, + { + "name": "note", + "type": "const char *" + }, + { + "name": "allow_note_overwrite", + "type": "int" + } + ], + "return": { + "type": "int" + }, + "group": "note" + }, + "git_note_commit_iterator_new": { + "type": "function", + "file": "note.h", "args": [ { "name": "out", + "type": "git_note_iterator **" + }, + { + "name": "notes_commit", + "type": "git_commit *" + } + ], + "return": { + "type": "int" + }, + "group": "note" + }, + "git_note_commit_read": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "out", + "type": "git_note **" + }, + { + "name": "repo", + "type": "git_repository *" + }, + { + "name": "notes_commit", + "type": "git_commit *" + }, + { + "name": "oid", + "type": "const git_oid *" + } + ], + "return": { + "type": "int" + }, + "group": "note" + }, + "git_note_commit_remove": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "notes_commit_out", "type": "git_oid *" }, { - "name": "str", + "name": "repo", + "type": "git_repository *" + }, + { + "name": "notes_commit", + "type": "git_commit *" + }, + { + "name": "author", + "type": "const git_signature *" + }, + { + "name": "committer", + "type": "const git_signature *" + }, + { + "name": "oid", + "type": "const git_oid *" + } + ], + "return": { + "type": "int" + }, + "group": "note" + }, + "git_note_committer": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "note", + "type": "const git_note *" + } + ], + "return": { + "type": "const git_signature *" + }, + "group": "note" + }, + "git_note_create": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "out", + "type": "git_oid *" + }, + { + "name": "repo", + "type": "git_repository *" + }, + { + "name": "notes_ref", + "type": "const char *" + }, + { + "name": "author", + "type": "const git_signature *" + }, + { + "name": "committer", + "type": "const git_signature *" + }, + { + "name": "oid", + "type": "const git_oid *" + }, + { + "name": "note", "type": "const char *" + }, + { + "name": "force", + "type": "int" } ], "return": { "type": "int" }, - "isAsync": false, - "group": "oid" + "group": "note" + }, + "git_note_default_ref": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "out", + "type": "git_buf *" + }, + { + "name": "repo", + "type": "git_repository *" + } + ], + "return": { + "type": "int" + }, + "group": "note" + }, + "git_note_foreach": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "repo", + "type": "git_repository *" + }, + { + "name": "notes_ref", + "type": "const char *" + }, + { + "name": "note_cb", + "type": "git_note_foreach_cb" + }, + { + "name": "payload", + "type": "void *" + } + ], + "return": { + "type": "int" + }, + "group": "note" + }, + "git_note_free": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "note", + "type": "git_note *" + } + ], + "return": { + "type": "void" + }, + "group": "note" + }, + "git_note_id": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "note", + "type": "const git_note *" + } + ], + "return": { + "type": "const git_oid *" + }, + "group": "note" + }, + "git_note_iterator_free": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "it", + "type": "git_note_iterator *" + } + ], + "return": { + "type": "void" + }, + "group": "note" + }, + "git_note_iterator_new": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "out", + "type": "git_note_iterator **" + }, + { + "name": "repo", + "type": "git_repository *" + }, + { + "name": "notes_ref", + "type": "const char *" + } + ], + "return": { + "type": "int" + }, + "group": "note" + }, + "git_note_message": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "note", + "type": "const git_note *" + } + ], + "return": { + "type": "const char *" + }, + "group": "note" + }, + "git_note_next": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "note_id", + "type": "git_oid *" + }, + { + "name": "annotated_id", + "type": "git_oid *" + }, + { + "name": "it", + "type": "git_note_iterator *" + } + ], + "return": { + "type": "int" + }, + "group": "note" + }, + "git_note_read": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "out", + "type": "git_note **" + }, + { + "name": "repo", + "type": "git_repository *" + }, + { + "name": "notes_ref", + "type": "const char *" + }, + { + "name": "oid", + "type": "const git_oid *" + } + ], + "return": { + "type": "int" + }, + "group": "note" + }, + "git_note_remove": { + "type": "function", + "file": "note.h", + "args": [ + { + "name": "repo", + "type": "git_repository *" + }, + { + "name": "notes_ref", + "type": "const char *" + }, + { + "name": "author", + "type": "const git_signature *" + }, + { + "name": "committer", + "type": "const git_signature *" + }, + { + "name": "oid", + "type": "const git_oid *" + } + ], + "return": { + "type": "int" + }, + "group": "note" }, "git_patch_convenient_from_diff": { "args": [ @@ -1171,12 +1621,6 @@ "git_merge_file_result_free" ] ], - [ - "oid", - [ - "git_oid_fromstrp" - ] - ], [ "odb_object", [ @@ -1323,6 +1767,62 @@ } } ], + [ + "git_blame_hunk", + { + "type": "struct", + "fields": [ + { + "name": "lines_in_hunk", + "type": "int" + }, + { + "name": "final_commit_id", + "type": "git_oid" + }, + { + "name": "final_start_line_number", + "type": "size_t" + }, + { + "name": "final_signature", + "type": "git_signature *" + }, + { + "name": "final_committer", + "type": "git_signature *" + }, + { + "name": "orig_commit_id", + "type": "git_oid" + }, + { + "name": "orig_path", + "type": "const char *" + }, + { + "name": "orig_start_line_number", + "type": "size_t" + }, + { + "name": "orig_signature", + "type": "git_signature *" + }, + { + "name": "orig_committer", + "type": "git_signature *" + }, + { + "name": "summary", + "type": "const char *" + }, + { + "name": "boundary", + "type": "char" + } + ] + } + ], [ "git_blob_filter_options", { @@ -1408,7 +1908,7 @@ ], [ "git_commit_create_options", - { + { "decl": [ "unsigned int version", "unsigned int allow_empty_commit : 1", @@ -1944,12 +2444,6 @@ } } ], - [ - "git_time_t", - { - "type": "enum" - } - ], [ "git_trace_level_t", { @@ -2163,5 +2657,31 @@ ] } }, - "groups": {} -} + "groups": { + "blame": [ + "git_blame_file" + ], + "email": [ + "git_email_create_from_diff" + ], + "note": [ + "git_note_author", + "git_note_commit_create", + "git_note_commit_iterator_new", + "git_note_commit_read", + "git_note_commit_remove", + "git_note_committer", + "git_note_create", + "git_note_default_ref", + "git_note_foreach", + "git_note_free", + "git_note_id", + "git_note_iterator_free", + "git_note_iterator_new", + "git_note_message", + "git_note_next", + "git_note_read", + "git_note_remove" + ] + } +} \ No newline at end of file diff --git a/generate/scripts/helpers.js b/generate/scripts/helpers.js index 15790983ff..e278e1cc05 100644 --- a/generate/scripts/helpers.js +++ b/generate/scripts/helpers.js @@ -25,7 +25,8 @@ var cTypeMappings = { "uint32_t": "Number", "uint64_t": "Number", "double": "Number", - "git_object_size_t": "Number" + "git_object_size_t": "Number", + "git_time_t": "Number", } var collisionMappings = { diff --git a/generate/templates/manual/include/configurable_class_wrapper.h b/generate/templates/manual/include/configurable_class_wrapper.h index 283eb7e44f..ff83a3176d 100644 --- a/generate/templates/manual/include/configurable_class_wrapper.h +++ b/generate/templates/manual/include/configurable_class_wrapper.h @@ -40,7 +40,7 @@ namespace nodegit { virtual ~ConfigurableClassWrapper() { if (raw != nullptr) { - delete raw; + free(raw); raw = nullptr; } } diff --git a/generate/templates/manual/repository/refresh_references.cc b/generate/templates/manual/repository/refresh_references.cc index 5ddaec57fa..5194f1c48c 100644 --- a/generate/templates/manual/repository/refresh_references.cc +++ b/generate/templates/manual/repository/refresh_references.cc @@ -244,10 +244,10 @@ class RefreshedRefModel { } ~RefreshedRefModel() { - if (fullName != NULL) { delete[] fullName; } - if (message != NULL) { delete[] message; } + if (fullName != NULL) { free(fullName); } + if (message != NULL) { free(message); } delete[] sha; - if (shorthand != NULL) { delete[] shorthand; } + if (shorthand != NULL) { free(shorthand); } if (tagOdbBuffer != NULL) { delete[] tagOdbBuffer; } } @@ -344,8 +344,8 @@ class UpstreamModel { } ~UpstreamModel() { - if (downstreamFullName != NULL) { delete[] downstreamFullName; } - if (upstreamFullName != NULL) { delete[] upstreamFullName; } + if (downstreamFullName != NULL) { free(downstreamFullName); } + if (upstreamFullName != NULL) { free(upstreamFullName); } } char *downstreamFullName; @@ -375,7 +375,7 @@ class RefreshReferencesData { delete upstreamInfo.back(); upstreamInfo.pop_back(); } - if (headRefFullName != NULL) { delete[] headRefFullName; } + if (headRefFullName != NULL) { free(headRefFullName); } if (cherrypick != NULL) { delete cherrypick; } if (merge != NULL) { delete merge; } } @@ -573,7 +573,7 @@ void GitRepository::RefreshReferencesWorker::Execute() if (isRemote) { char *remoteNameOfRef = getRemoteNameOfReference(reference); bool isFromExistingRemote = gitStrArrayContains(&remoteNames, remoteNameOfRef); - delete[] remoteNameOfRef; + free(remoteNameOfRef); if (!isFromExistingRemote) { git_reference_free(reference); continue; diff --git a/generate/templates/manual/revwalk/file_history_walk.cc b/generate/templates/manual/revwalk/file_history_walk.cc index 714d6f5db3..569bb022dc 100644 --- a/generate/templates/manual/revwalk/file_history_walk.cc +++ b/generate/templates/manual/revwalk/file_history_walk.cc @@ -31,6 +31,14 @@ class FileHistoryEvent { if (commit != NULL) { git_commit_free(commit); } + + if(from != NULL) { + free((void *)from); + } + + if(to != NULL) { + free((void *)to); + } } v8::Local toJavascript() { diff --git a/generate/templates/manual/src/str_array_converter.cc b/generate/templates/manual/src/str_array_converter.cc index 732f16cf26..5d04c65622 100644 --- a/generate/templates/manual/src/str_array_converter.cc +++ b/generate/templates/manual/src/str_array_converter.cc @@ -65,7 +65,7 @@ git_strarray *StrArrayConverter::ConstructStrArray(int argc, char** argv) { void StrArrayConverter::ConvertInto(git_strarray *out, v8::Local val) { out->count = val->Length(); - out->strings = new char *[out->count]; + out->strings = (char**) malloc(out->count * sizeof(char*)); for (uint32_t i = 0; i < out->count; ++i) { Nan::Utf8String utf8String(Nan::Get(val, i).ToLocalChecked().As()); out->strings[i] = strdup(*utf8String); @@ -75,6 +75,6 @@ void StrArrayConverter::ConvertInto(git_strarray *out, v8::Local val) void StrArrayConverter::ConvertInto(git_strarray *out, v8::Local val) { Nan::Utf8String utf8String(val); out->count = 1; - out->strings = new char *[1]; + out->strings = (char**) malloc(out->count * sizeof(char*)); out->strings[0] = strdup(*utf8String); } diff --git a/generate/templates/partials/async_function.cc b/generate/templates/partials/async_function.cc index a294043fab..d23ec7f609 100644 --- a/generate/templates/partials/async_function.cc +++ b/generate/templates/partials/async_function.cc @@ -56,7 +56,7 @@ NAN_METHOD({{ cppClassName }}::{{ cppFunctionName }}) { {% if arg.cppClassName == 'Array' %} { v8::Local tempArray = v8::Local::Cast(info[{{ arg.jsArg }}]); - baton->{{ arg.name }} = new {{ arg.cType|unPointer }}[tempArray->Length()]; + baton->{{ arg.name }} = ({{ arg.cType|unPointer }}*)malloc(sizeof({{ arg.cType|unPointer }}) * tempArray->Length()); for (uint32_t i = 0; i < tempArray->Length(); ++i) { auto conversionResult = Configurable{{ arg.arrayElementCppClassName }}::fromJavascript( nodegitContext, @@ -64,12 +64,13 @@ NAN_METHOD({{ cppClassName }}::{{ cppFunctionName }}) { ); if (!conversionResult.result) { - delete[] baton->{{ arg.name }}; + // TODO free previously allocated memory + free(baton->{{ arg.name }}); return Nan::ThrowError(Nan::New(conversionResult.error).ToLocalChecked()); } auto convertedObject = conversionResult.result; - cleanupHandles["{{ arg.name }}"] = convertedObject; + cleanupHandles[std::string("{{ arg.name }}") + std::to_string(i)] = convertedObject; baton->{{ arg.name }}[i] = *convertedObject->GetValue(); } } diff --git a/generate/templates/templates/binding.gyp b/generate/templates/templates/binding.gyp index 61cad0cb5e..4476c9236d 100644 --- a/generate/templates/templates/binding.gyp +++ b/generate/templates/templates/binding.gyp @@ -56,7 +56,7 @@ "include_dirs": [ "vendor/libv8-convert", "vendor/libssh2/include", - "(nodegitContext) { {% if ignoreInit == true %} - this->raw = new {{ cType }}; + this->raw = ({{ cType }}*) malloc(sizeof({{ cType }})); {% else %} {{ cType }}{% if isExtendedStruct %}_extended{% endif %} wrappedValue = {{ cType|upper }}_INIT; this->raw = ({{ cType }}*) malloc(sizeof({{ cType }}{% if isExtendedStruct %}_extended{% endif %})); @@ -132,12 +132,12 @@ Configurable{{ cppClassName }}::~Configurable{{ cppClassName }}() { {% if field.cppClassName == 'GitStrarray' %} if (this->raw->{{ field.name }}.count) { for (size_t i = 0; i < this->raw->{{ field.name }}.count; ++i) { - delete this->raw->{{ field.name }}.strings[i]; + free(this->raw->{{ field.name }}.strings[i]); } - delete[] this->raw->{{ field.name }}.strings; + free(this->raw->{{ field.name }}.strings); } {% elsif field.cppClassName == 'String' %} - delete this->raw->{{ field.name }}; + free((void*)this->raw->{{ field.name }}); {% endif %} {% endif %} {% endeach %} diff --git a/guides/install/from-source/README.md b/guides/install/from-source/README.md index eadd8306d8..64bfce18b3 100644 --- a/guides/install/from-source/README.md +++ b/guides/install/from-source/README.md @@ -65,7 +65,7 @@ npm install nodegit --msvs_version=2013 ``` ### Electron and OpenSSL ### -A local version of OpenSSL is required when building for Electron on Windows and macOS. This is due to Electron using BoringSSL, as we are not able to link to it like we are OpenSSL in Node. Additionally, OpenSSL can be statically linked on Linux by setting the `NODEGIT_OPENSSL_STATIC_LINK` environment variable to `1`. +A local version of OpenSSL is required when building for Electron. This is due to Electron using BoringSSL, as we are not able to link to it like we are OpenSSL in Node. `acquireOpenSSL.js` will attempt to download OpenSSL prebuilts from S3. If preferred, it can also be built locally by setting the environment variable `npm_config_openssl_bin_url=skip`. On macOS, this should Just Work(tm). On Windows, things are a little trickier. diff --git a/lib/credential.js b/lib/credential.js index db1f82a788..af1a59125e 100644 --- a/lib/credential.js +++ b/lib/credential.js @@ -16,6 +16,7 @@ NodeGit.Cred = { defaultNew: deprecatedFn("defaultNew"), sshKeyFromAgent: deprecatedFn("sshKeyFromAgent"), sshKeyNew: deprecatedFn("sshKeyNew"), + sshKeyMemoryNew: deprecatedFn("sshKeyMemoryNew"), usernameNew: deprecatedFn("usernameNew"), userpassPlaintextNew: deprecatedFn("userpassPlaintextNew"), TYPE: Object.keys(Credential.TYPE).reduce( diff --git a/lifecycleScripts/install.js b/lifecycleScripts/install.js index ddbb90e9c8..96e47afbe5 100755 --- a/lifecycleScripts/install.js +++ b/lifecycleScripts/install.js @@ -2,6 +2,8 @@ var buildFlags = require("../utils/buildFlags"); var spawn = require("child_process").spawn; var path = require("path"); +const nodePreGypModulePath = require.resolve("@mapbox/node-pre-gyp"); + module.exports = function install() { console.log("[nodegit] Running install script"); @@ -30,7 +32,10 @@ module.exports = function install() { return new Promise(function(resolve, reject) { const gypPath = path.join(__dirname, "..", "node_modules", "node-gyp", "bin", "node-gyp.js"); - var spawnedNodePreGyp = spawn(nodePreGyp, args, { + + const nodePreGypPath = path.resolve(path.dirname(nodePreGypModulePath), path.join("..", "bin", nodePreGyp)); + console.log("node-pre-gyp path", nodePreGypPath); + var spawnedNodePreGyp = spawn(nodePreGypPath, args, { env: { ...process.env, npm_config_node_gyp: gypPath diff --git a/package-lock.json b/package-lock.json index 25edeaf617..93f2f440d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,21 +1,21 @@ { "name": "nodegit", - "version": "0.28.0-alpha.34", + "version": "0.28.0-alpha.36", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "nodegit", - "version": "0.28.0-alpha.34", + "version": "0.28.0-alpha.36", "hasInstallScript": true, "license": "MIT", "dependencies": { - "@axosoft/nan": "^2.22.0-gk.1", "@mapbox/node-pre-gyp": "^2.0.0", "fs-extra": "^7.0.0", "got": "^14.4.7", "json5": "^2.1.0", "lodash": "^4.17.14", + "nan": "^2.23.1", "node-gyp": "^11.2.0", "tar-fs": "^3.0.9" }, @@ -48,12 +48,6 @@ "node": ">=6.0.0" } }, - "node_modules/@axosoft/nan": { - "version": "2.22.0-gk.1", - "resolved": "https://registry.npmjs.org/@axosoft/nan/-/nan-2.22.0-gk.1.tgz", - "integrity": "sha512-C4xrZ5HQoWwoq/WZnKDhf/Jd/czIaa0gsjHV792qUp7b7H+4Xtw1Um10BiiU/zrgmGhQuA92dedU2/rGvKErNg==", - "license": "MIT" - }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -85,6 +79,7 @@ "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", @@ -899,6 +894,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -1759,15 +1755,6 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -3985,6 +3972,12 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/nan": { + "version": "2.23.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.23.1.tgz", + "integrity": "sha512-r7bBUGKzlqk8oPBDYxt6Z0aEdF1G1rwlMcLk8LCOMbOzf0mG+JUfUzG4fIMWwHWP0iyaLWEQZJmtB7nOHEm/qw==", + "license": "MIT" + }, "node_modules/negotiator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", @@ -4522,6 +4515,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -5195,10 +5189,9 @@ } }, "node_modules/tar-fs": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz", - "integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==", - "license": "MIT", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz", + "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==", "dependencies": { "pump": "^3.0.0", "tar-stream": "^3.1.5" @@ -5969,11 +5962,6 @@ "@jridgewell/trace-mapping": "^0.3.24" } }, - "@axosoft/nan": { - "version": "2.22.0-gk.1", - "resolved": "https://registry.npmjs.org/@axosoft/nan/-/nan-2.22.0-gk.1.tgz", - "integrity": "sha512-C4xrZ5HQoWwoq/WZnKDhf/Jd/czIaa0gsjHV792qUp7b7H+4Xtw1Um10BiiU/zrgmGhQuA92dedU2/rGvKErNg==" - }, "@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -5996,6 +5984,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz", "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", "dev": true, + "peer": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", @@ -6545,6 +6534,7 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "dev": true, + "peer": true, "requires": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -7198,15 +7188,6 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - } - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -7726,8 +7707,7 @@ } }, "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "optional": true, "requires": { @@ -8811,6 +8791,11 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, + "nan": { + "version": "2.23.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.23.1.tgz", + "integrity": "sha512-r7bBUGKzlqk8oPBDYxt6Z0aEdF1G1rwlMcLk8LCOMbOzf0mG+JUfUzG4fIMWwHWP0iyaLWEQZJmtB7nOHEm/qw==" + }, "negotiator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", @@ -9198,7 +9183,8 @@ "picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==" + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "peer": true }, "pkg-dir": { "version": "4.2.0", @@ -9686,9 +9672,9 @@ } }, "tar-fs": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz", - "integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz", + "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==", "requires": { "bare-fs": "^4.0.1", "bare-path": "^3.0.0", diff --git a/package.json b/package.json index e8bcaa4f26..41ccc32dc4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "nodegit", "description": "Node.js libgit2 asynchronous native bindings", - "version": "0.28.0-alpha.34", + "version": "0.28.0-alpha.36", "homepage": "http://nodegit.org", "keywords": [ "libgit2", @@ -38,12 +38,12 @@ "node": ">= 20" }, "dependencies": { - "@axosoft/nan": "^2.22.0-gk.1", "@mapbox/node-pre-gyp": "^2.0.0", "fs-extra": "^7.0.0", "got": "^14.4.7", "json5": "^2.1.0", "lodash": "^4.17.14", + "nan": "^2.23.1", "node-gyp": "^11.2.0", "tar-fs": "^3.0.9" }, @@ -59,6 +59,7 @@ "walk": "^2.3.9" }, "binary": { + "bucket_name": "axonodegit", "module_name": "nodegit", "module_path": "./build/Release/", "host": "https://axonodegit.s3.amazonaws.com/nodegit/nodegit/" diff --git a/test/README.md b/test/README.md index e96c792177..e6bdccbc4d 100644 --- a/test/README.md +++ b/test/README.md @@ -17,5 +17,20 @@ Unit tests for NodeGit. Test utilities with garbage collector, index, and repository setup, that can be used in tests. -## Note -\*.enc are encrypted in base64 and unencrypted before the test suite runs as \*. +## Keys + +Note: all files are encoded in base64 in `\*.enc` and decoded before the test suite runs. + +### encrypted_rsa + - passphrase "test-password" + - registered as deploy key on [nodegit/test](https://github.com/nodegit/test) repo named "Encrypted test key" + +### id_rsa + - registered as deploy key on [nodegit/test](https://github.com/nodegit/test) repo named "Unencrypted Test Key" + +### private.ppk + - same key as id_rsa + - ppk format is used by putty/pageant and converted/generated by puttygen + +### nodegit-test-rsa + - registered as deploy key on [nodegit/private](https://github.com/nodegit/private) repo named "Tests" diff --git a/test/index.js b/test/index.js index b138525e15..abd2fc2174 100644 --- a/test/index.js +++ b/test/index.js @@ -40,6 +40,8 @@ function unencryptKey(fileName) { .toString('ascii'); fs.writeFileSync(path.join(__dirname, fileName), asciiContents, 'utf8'); } + +unencryptKey('private.ppk'); unencryptKey('id_rsa'); unencryptKey('nodegit-test-rsa'); diff --git a/test/private.ppk.enc b/test/private.ppk.enc new file mode 100644 index 0000000000..c388d98d86 --- /dev/null +++ b/test/private.ppk.enc @@ -0,0 +1,47 @@ +UHVUVFktVXNlci1LZXktRmlsZS0zOiBzc2gtcnNhCkVuY3J5cHRpb246IG5vbmUKQ29tbWVudDog +bm9uYW1lClB1YmxpYy1MaW5lczogMTIKQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQ0FRQ3dP +Y0VONis1Vkx2VXBQSGp3WnNiMHZIUEJBRzcxUmV5YwovQzAyMkhDWENJV05mOUwxSWduR25nSWU0 +OXdxdGUvWXFyYm5xMHVqOXlrSjE4Nm1GZHdoeUtBNUR2dm5SM1FmClQ5OG12VE94bnpDTUJ1QlU3 +M002UEpDYTZVekpoeXhtTjNVTU1uanEvU25oN3hycVdkYW1YQ2ROS3hRL0QxUlkKVXEzVGdLbnBI +bGxhSEI0dnoydHZvRXpBY0dzZ014aFZ4NWdoZ1YxT1Y1NzNYNFVDRXA1UVJNNHJ2WE9KMDRDLwpn +Mzl5KzFNQnladUpveno4OHBaUFg4UFVISGJOemFWd2JCeDFVRnVJdFVGeGo3WkRGK3hubDdTTDBl +RW0vc0dxClh3akhVenJlSmgwQXpZQUNYRVYwd3czZ0xSQ1pmSDEwa3RLMVlTcTFhQ0Vld1Z3MHNu +TUl3cjNSMkFjZkR5K0QKM1dhMXd0WGxNb3lDaTFhRUhwdmd1OFVOQWhteDdJVy9pcEdEZHcyaGQ0 +OVh1ZUh2MjVwaHI4S1ROdVRnWmdMNgpXYkVQckFSM3dieHp6QXJ5dmJEbWJ4N1RSbUNRQVJxZlA5 +MTlDQmF5MmwyUGgvNDFDNFJZV3pPeUxHS1F3bzFXCnRwbk9FVnBPRTRLYmRNK3g5dzBxQndEdTVa +TnRqcGd6WlBrbVBSSzhZU2NtUkRkSDRmNU1lT1dPd3Y3YTVoTUgKZHg2Q0JheGF3bUt1VFZLL2Q3 +VU9wRmRQRnhLbjJzU0l1RzZwWUlyOHJFTHF0ZU1EUnRVa2ZYUUtBWFl4NlJRVAphYmgvSlZ3ODB2 +OFJkaEs1YVRQTld3dlZ6RFpHek9VcTBjQkV2dmdjbG5PQzFqYnE4bEFyMzJlZzQvWXkyRWJpCjV2 +MkoydVBlNlE9PQpQcml2YXRlLUxpbmVzOiAyOApBQUFDQUYvalRSU1NKK0RaNkRSRDMxcVAwZm9o +QUtzbjNUaEFqL3Jyakg2blRyd2Z1dXUvZmI0OGd5MDdsTlBTCkVGNTlHTURBUXozVGl4and4N2Uv +WVlZbHB0NExHSU56ajhYTXIzYktNeFlWSlNlbEF2bHVWR3BpMEVRRDZIc2kKTHRJSlp6TkhRYjBk +U1lZenNySnBOREFJS2kvalBNOVVmWFBDbDVabmhvWHJJSWprSnFKTlltK0pZV0FmelNONQpDQkZC +UENDUXRrcWs1V3hYYVB3WlVYcExQekZWL3dqMTBRUlJ2V0IzNE1WajAwckp0SVF6K2w5NGNDbEla +bm5uCjh3MFF0TkJ6UXhqaVhLd0tWRTNDY040WkNsMWp3cTNCeWMwNkdZN21ueFEyU1hYUEwwRGNr +S2E0Sm1MZUw1S24KY3J6UmJFSWVFZUQzdWhGelUzSTByRU5RUmg2NjlJcHJhamZSekxjRnhuQzcz +QlMxUlR5Y2ZwZFNHRk9QWFQvMgpOZDM2MlhTZXA2Vk54U3Q1YTZ3a1dnSEpoMkg4ZFBjbmlESDFE +bXJBZFA5N0FrZWkxbG1YcWJ6Q0lWOXBpZDNtCmZNQUpiSm00UmhRcFREdmV1RThOaUJnSTYyVGt3 +dWNvVzJ5M0xkU3YxMzdpSkJuSlNjMTFHOUE1YkcyeVFYRTIKYWlYUXhIeW9UMlF0VmY1WklYUmFW +THViUW5jU2dMQmpnQ2QxQ2xqQjVqbFJZTXRTYzhiRmEvVEo1b1hPVk10QwpYNHhhcVo3Z3JHS05C +cUJsRFRXblRnWk1tdndQVnVjbGU3MjgzNk9KUFhvMUxqM0sza21yeEMxdU5HMDc2My96CmJLOWl2 +QWF1SFRMMnQ0cHkra0k0NC9ZcERvR2sybnhsV01kRDNMM0pVeDNRejlMeEFBQUJBUURiVG94anFO +UHIKRk9aYlg5M3g2TjU1SVdOQ1VLdXFMMVZLNjFESGFLWGZpaXdIRHlRYjEzUnhPREk2RlNXMElI +eVpqMDh5ZjBTVApJRjlzWU1BcDcvRktRTkRJalVWcjFSNmdERWdBdytjeS9naXlqMFVscUhNc2dU +UnNnSmEvSjJQYnViRDRWMzdZClJEOHpwdmtLZjhTSjBiUWpRMGlMdGFDVWJvQVA1ZmFhWGxJS3Zl +Mnh6S3VYM09Jdk0zTyt1UTBJMDZqZGtMc2IKQUcxL2dBOXpiZmltcEx3SUJCZFVJenY3aEUyajhi +aGpPR201U0lOa3M0WWVUTlRWV2R4ZnI3Yi8wVlFPSXJDdwpEUCsrQmhjOTdkK1g3WVVVZFFIM1Bw +U1dyVm9KTnNITXB1VFpoaXdDZ0ZNTU9UWEhHVmxqRThyZ2RlU2xQc2dCCjFzUWh4clJTTUIrZkFB +QUJBUUROdGU0KzFubFlLVjZFUVl4cnlKVUFLT3RNS0pmQTVYUlRzc1hoc0V5UjAwcS8KV2N3dHJm +ZjM1dzdmQVhCVndlTnplZWl5cGV2SnNZZ1JwQXU5T01ZdHdYRUJWNUYreUlCUWtpRzE3YlNlei9z +YgpueW9pV1U2QkFYR2JkQ2pmYTRlVUVURnpiY2xqdEtsZ0FCUkdqV0Q3UEZPNldmcEFqUXBjamFR +cElUNlh6WGZ1CmZXZ3RsbkZrV3lQZFd6Skw0MldZQ3pjYVNySlNGS2Z6TkR2bVIzc25ZTmRwdWxN +WlBLZUZ2bWUyVFpqdVRSUkUKN3U4S1pGeFBqUGQrQThHYW5Cck5QaWpQY0lxNUphQ1p6TDM1ZGhp +WHBiQkMyUzJYeXJLcG1jK1hKUTgycWVPdwpkNmU5b0pWMTNQN0pTc1lhRWp2UVR5TnI2QTZuNDgy +L3FtUmR1MVIzQUFBQkFRQ1c4emFSOU9lTzFwM1hpMTRYCjkwM245Y2NjUlVwZEw4RlJQNnkxaStU +WmY3ZFJaZWt5bVg2Rm1Pam0wL25vVzNIcGVaMmJiRGlBUERadVc0ZlEKbWdaMGd6bG9kRENlSnZQ +cXZTUXNRZUhKNGMyR3NUbjFUczMzWFNUVnhVS3d3amxGdkxqbzJCQXZpQWhmd2FDdwpSbFRoaWtH +L0J0LzBtWE5tMXpwcVlucUFzWldvcmo5VVZBNjJPVzgxQ1VYMS9kVTFrY1JBaWNjbFFsak5TRFhi +CnppYlU3am91enNDM0VVRURwbUdkbVRRWHhYc0I1MVVOaHl5VmgyZ0FWcUMwMDJtSndnRVVzanBx +c2FMNk03M2EKejgzODhvRHBYYnAxQ0tMRHloOHZKcElOSDBqTk5kRDF3V29BUlFlSHMvTmJRRktR +OElOSXZQc1p6MFpHZkc3Lwp1UytKClByaXZhdGUtTUFDOiBmMjY3ZTM0MzYwOTViZDc5OWYwNzQw +NDExZmJhMDM0YzZjOWNiN2VhYzk1ZDg4NDk3ZGVlYmMxNGZjZWQ0ZDU2Cg== diff --git a/test/tests/clone.js b/test/tests/clone.js index 4f2b58d275..f256e85f51 100644 --- a/test/tests/clone.js +++ b/test/tests/clone.js @@ -3,8 +3,6 @@ var assert = require("assert"); var fse = require("fs-extra"); var local = path.join.bind(path, __dirname); var _ = require("lodash"); -const util = require("util"); -const exec = util.promisify(require("child_process").exec); const generatePathWithLength = (base, length) => { @@ -237,62 +235,6 @@ describe("Clone", function() { }); }); - if (process.platform === "win32") { - it("can clone with ssh using old agent with sha1 signing support only", - async function () { - var pageant = local("../../vendor/pageant.exe"); - var old_pageant = local("../../vendor/pageant_sha1.exe"); - var privateKey = local("../../vendor/private.ppk"); - var test = this; - var url = "git@github.com:nodegit/test.git"; - var opts = { - fetchOpts: { - callbacks: { - certificateCheck: () => 0, - credentials: function(url, userName) { - return NodeGit.Credential.sshKeyFromAgent(userName); - } - } - } - }; - - try { - await exec("taskkill /im pageant.exe /f /t"); - } catch (e) { - try { - await exec("taskkill /im pageant_sha1.exe /f /t"); - } catch(e) {} - } - try { - await exec(`powershell -command "Start-Process ${old_pageant} ${privateKey}`); - } catch (e) { - try { - await exec(`powershell -command "Start-Process ${pageant} ${privateKey}`); - } catch (e) {} - return assert.fail("Cannot run old pageant"); - } - - try { - const repo = await Clone(url, clonePath, opts); - test.repository = repo; - } catch(e) { - return assert.fail("Clone error: " + e.message); - } - - try { - await exec("taskkill /im pageant_sha1.exe /f /t"); - } catch(e) {} - - try { - await exec(`powershell -command "Start-Process ${pageant} ${privateKey}`); - } catch (e) { - return assert.fail("Cannot run pageant"); - } - - return assert.ok(test.repository instanceof Repository); - }); - } - it("can clone with ssh", function() { var test = this; var url = "git@github.com:nodegit/test.git"; diff --git a/test/tests/commit.js b/test/tests/commit.js index 69868333cf..8ff9b8ea78 100644 --- a/test/tests/commit.js +++ b/test/tests/commit.js @@ -286,7 +286,7 @@ describe("Commit", function() { it("can amend commit", function(){ var commitToAmendId = "315e77328ef596f3bc065d8ac6dd2c72c09de8a5"; - var expectedAmendedCommitId = "57836e96555243666ea74ea888310cc7c41d4613"; + var expectedAmendedCommitId = "a41de0d1c3dc169c873dd03bd9240d9f88e60ffc"; var fileName = "newfile.txt"; var fileContent = "hello world"; var newFileName = "newerfile.txt"; diff --git a/utils/acquireOpenSSL.mjs b/utils/acquireOpenSSL.mjs index 1d83f540ba..930b5ab33c 100644 --- a/utils/acquireOpenSSL.mjs +++ b/utils/acquireOpenSSL.mjs @@ -1,4 +1,5 @@ import crypto from "crypto"; +import { spawn } from "child_process"; import execPromise from "./execPromise.js"; import got from "got"; import path from "path"; @@ -7,19 +8,22 @@ import tar from "tar-fs"; import zlib from "zlib"; import { createWriteStream, promises as fs } from "fs"; import { performance } from "perf_hooks"; -import { fileURLToPath } from 'url'; import { promisify } from "util"; +import { hostArch, targetArch } from "./buildFlags.js"; + const pipeline = promisify(stream.pipeline); import packageJson from '../package.json' with { type: "json" }; -const OPENSSL_VERSION = "1.1.1t"; +const OPENSSL_VERSION = "3.0.18"; const win32BatPath = path.join(import.meta.dirname, "build-openssl.bat"); const vendorPath = path.resolve(import.meta.dirname, "..", "vendor"); const opensslPatchPath = path.join(vendorPath, "patches", "openssl"); const extractPath = path.join(vendorPath, "openssl"); +const exists = (filePath) => fs.stat(filePath).then(() => true).catch(() => false); + const pathsToIncludeForPackage = [ "include", "lib" ]; @@ -56,6 +60,8 @@ const makeHashVerifyOnFinal = (expected) => (digest) => { // currently this only needs to be done on linux const applyOpenSSLPatches = async (buildCwd, operatingSystem) => { try { + await fs.access(opensslPatchPath); + for (const patchFilename of await fs.readdir(opensslPatchPath)) { const patchTarget = patchFilename.split("-")[1]; if (patchFilename.split(".").pop() === "patch" && (patchTarget === operatingSystem || patchTarget === "all")) { @@ -66,6 +72,11 @@ const applyOpenSSLPatches = async (buildCwd, operatingSystem) => { } } } catch(e) { + if (e.code === "ENOENT") { + // no patches to apply + return; + } + console.log("Patch application failed: ", e); throw e; } @@ -76,8 +87,10 @@ const buildDarwin = async (buildCwd, macOsDeploymentTarget) => { throw new Error("Expected macOsDeploymentTarget to be specified"); } + const buildConfig = targetArch === "x64" ? "darwin64-x86_64-cc" : "darwin64-arm64-cc"; + const configureArgs = [ - process.arch === "x64" ? "darwin64-x86_64-cc" : "darwin64-arm64-cc", + buildConfig, // speed up ecdh on little-endian platforms with 128bit int support "enable-ec_nistp_64_gcc_128", // compile static libraries @@ -86,6 +99,8 @@ const buildDarwin = async (buildCwd, macOsDeploymentTarget) => { "no-ssl2", "no-ssl3", "no-comp", + // disable tty ui since it fails a bunch of tests on GHA runners and we're just gonna link anyways + "no-ui-console", // set install directory `--prefix="${extractPath}"`, `--openssldir="${extractPath}"`, @@ -99,7 +114,7 @@ const buildDarwin = async (buildCwd, macOsDeploymentTarget) => { await applyOpenSSLPatches(buildCwd, "darwin"); - // only build the libraries, not the tests/fuzzer or apps + // only build the libraries, not the fuzzer or apps await execPromise("make build_libs", { cwd: buildCwd }, { pipeOutput: true }); @@ -115,22 +130,17 @@ const buildDarwin = async (buildCwd, macOsDeploymentTarget) => { }; const buildLinux = async (buildCwd) => { + const buildConfig = targetArch === "x64" ? "linux-x86_64" : "linux-aarch64"; + const configureArgs = [ - "linux-x86_64", - // Electron(at least on centos7) imports the libcups library at runtime, which has a - // dependency on the system libssl/libcrypto which causes symbol conflicts and segfaults. - // To fix this we need to hide all the openssl symbols to prevent them from being overridden - // by the runtime linker. - "-fvisibility=hidden", - // compile static libraries - "no-shared", - // disable ssl2, ssl3, and compression - "no-ssl2", + buildConfig, + // disable ssl3, and compression "no-ssl3", "no-comp", // set install directory `--prefix="${extractPath}"`, - `--openssldir="${extractPath}"` + `--openssldir="${extractPath}"`, + "--libdir=lib", ]; await execPromise(`./Configure ${configureArgs.join(" ")}`, { cwd: buildCwd @@ -138,14 +148,18 @@ const buildLinux = async (buildCwd) => { await applyOpenSSLPatches(buildCwd, "linux"); - // only build the libraries, not the tests/fuzzer or apps + // only build the libraries, not the fuzzer or apps await execPromise("make build_libs", { - cwd: buildCwd + cwd: buildCwd, + maxBuffer: 10 * 1024 * 1024 }, { pipeOutput: true }); - await execPromise("make test", { - cwd: buildCwd - }, { pipeOutput: true }); + if (hostArch === targetArch) { + await execPromise("make test", { + cwd: buildCwd, + maxBuffer: 10 * 1024 * 1024 + }, { pipeOutput: true }); + } // only install software, not the docs await execPromise("make install_sw", { @@ -154,44 +168,108 @@ const buildLinux = async (buildCwd) => { }, { pipeOutput: true }); }; -const buildWin32 = async (buildCwd, vsBuildArch) => { - if (!vsBuildArch) { - throw new Error("Expected vsBuildArch to be specified"); - } +const buildWin32 = async (buildCwd) => { + let vcvarsallPath = undefined; - const programFilesPath = (process.arch === "x64" - ? process.env["ProgramFiles(x86)"] - : process.env.ProgramFiles) || "C:\\Program Files"; - const vcvarsallPath = process.env.npm_config_vcvarsall_path || `${ - programFilesPath - }\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Auxiliary\\Build\\vcvarsall.bat`; - try { - await fs.stat(vcvarsallPath); - } catch { - throw new Error(`vcvarsall.bat not found at ${vcvarsallPath}`); + if (process.env.npm_config_vcvarsall_path && await exists(process.env.npm_config_vcvarsall_path)) { + vcvarsallPath = process.env.npm_config_vcvarsall_path; + } else { + const potentialMsvsPaths = []; + + // GYP_MSVS_OVERRIDE_PATH is set by node-gyp so this should cover most cases + if (process.env.GYP_MSVS_OVERRIDE_PATH) { + potentialMsvsPaths.push(process.env.GYP_MSVS_OVERRIDE_PATH); + } + + const packageTypes = ["BuildTools", "Community", "Professional", "Enterprise"]; + const versions = ["2022", "2019"] + + const computePossiblePaths = (parentPath) => { + let possiblePaths = [] + for (const packageType of packageTypes) { + for (const version of versions) { + possiblePaths.push(path.join(parentPath, version, packageType)); + } + } + + return possiblePaths; + } + + if (process.env["ProgramFiles(x86)"]) { + const parentPath = path.join(process.env["ProgramFiles(x86)"], 'Microsoft Visual Studio'); + potentialMsvsPaths.push(...computePossiblePaths(parentPath)); + } + + if (process.env.ProgramFiles) { + const parentPath = path.join(process.env.ProgramFiles, 'Microsoft Visual Studio'); + potentialMsvsPaths.push(...computePossiblePaths(parentPath)); + } + + for (const potentialPath of potentialMsvsPaths) { + const wholePath = path.join(potentialPath, 'VC', 'Auxiliary', 'Build', 'vcvarsall.bat'); + console.log("checking", wholePath); + if (await exists(wholePath)) { + vcvarsallPath = wholePath; + break; + } + } + + if (!vcvarsallPath) { + throw new Error(`vcvarsall.bat not found`); + } } let vcTarget; - switch (vsBuildArch) { - case "x64": { + switch (targetArch) { + case "x64": vcTarget = "VC-WIN64A"; break; - } - case "x86": { + case "x86": vcTarget = "VC-WIN32"; break; - } - - default: { - throw new Error(`Unknown vsBuildArch: ${vsBuildArch}`); - } + + case "arm64": + vcTarget = "VC-WIN64-ARM"; + break; } - await execPromise(`"${win32BatPath}" "${vcvarsallPath}" ${vsBuildArch} ${vcTarget}`, { - cwd: buildCwd, - maxBuffer: 10 * 1024 * 1024 // we should really just use spawn - }, { pipeOutput: true }); + let vsBuildArch = hostArch === targetArch + ? hostArch + : `${hostArch}_${targetArch}`; + + console.log("Using vcvarsall.bat at: ", vcvarsallPath); + console.log("Using vsBuildArch: ", vsBuildArch); + console.log("Using vcTarget: ", vcTarget); + + await new Promise((resolve, reject) => { + const buildProcess = spawn(`"${win32BatPath}" "${vcvarsallPath}" ${vsBuildArch} ${vcTarget}`, { + cwd: buildCwd, + shell: process.platform === "win32", + env: { + ...process.env, + NODEGIT_SKIP_TESTS: targetArch !== hostArch ? "1" : undefined + } + }); + + buildProcess.stdout.on("data", function(data) { + console.info(data.toString().trim()); + }); + + buildProcess.stderr.on("data", function(data) { + console.error(data.toString().trim()); + }); + + buildProcess.on("close", function(code) { + if (!code) { + resolve(); + } else { + reject(code); + } + }); + }); + + }; const removeOpenSSLIfOudated = async (openSSLVersion) => { @@ -235,19 +313,13 @@ const makeOnStreamDownloadProgress = () => { const buildOpenSSLIfNecessary = async ({ macOsDeploymentTarget, - openSSLVersion, - vsBuildArch + openSSLVersion }) => { if (process.platform !== "darwin" && process.platform !== "win32" && process.platform !== "linux") { console.log(`Skipping OpenSSL build, not required on ${process.platform}`); return; } - if (process.platform === "linux" && process.env.NODEGIT_OPENSSL_STATIC_LINK !== "1") { - console.log(`Skipping OpenSSL build, NODEGIT_OPENSSL_STATIC_LINK !== 1`); - return; - } - await removeOpenSSLIfOudated(openSSLVersion); try { @@ -259,7 +331,7 @@ const buildOpenSSLIfNecessary = async ({ const openSSLUrl = getOpenSSLSourceUrl(openSSLVersion); const openSSLSha256Url = getOpenSSLSourceSha256Url(openSSLVersion); - const openSSLSha256 = (await got(openSSLSha256Url)).body.trim(); + const openSSLSha256 = (await got(openSSLSha256Url)).body.trim().split(' ')[0]; const downloadStream = got.stream(openSSLUrl); downloadStream.on("downloadProgress", makeOnStreamDownloadProgress()); @@ -280,7 +352,7 @@ const buildOpenSSLIfNecessary = async ({ } else if (process.platform === "linux") { await buildLinux(buildCwd); } else if (process.platform === "win32") { - await buildWin32(buildCwd, vsBuildArch); + await buildWin32(buildCwd); } else { throw new Error(`Unknown platform: ${process.platform}`); } @@ -298,11 +370,6 @@ const downloadOpenSSLIfNecessary = async ({ return; } - if (process.platform === "linux" && process.env.NODEGIT_OPENSSL_STATIC_LINK !== "1") { - console.log(`Skipping OpenSSL download, NODEGIT_OPENSSL_STATIC_LINK !== 1`); - return; - } - try { await fs.stat(extractPath); console.log("Skipping OpenSSL download, dir exists"); @@ -332,18 +399,17 @@ const downloadOpenSSLIfNecessary = async ({ console.log("Download finished."); } -const getOpenSSLPackageName = () => { - let arch = process.arch; - if (process.platform === "win32" && ( - process.arch === "ia32" || process.env.NODEGIT_VS_BUILD_ARCH === "x86" - )) { - arch = "x86"; - } - - return `openssl-${OPENSSL_VERSION}-${process.platform}-${arch}.tar.gz`; +export const getOpenSSLPackageName = () => { + return `openssl-${OPENSSL_VERSION}-${process.platform}-${targetArch}.tar.gz`; } -const getOpenSSLPackageUrl = () => `${packageJson.binary.host}${getOpenSSLPackageName()}`; +export const getOpenSSLPackagePath = () => path.join(import.meta.dirname, getOpenSSLPackageName()); + +const getOpenSSLPackageUrl = () => { + const hostUrl = new URL(packageJson.binary.host); + hostUrl.pathname = getOpenSSLPackageName(); + return hostUrl.toString(); +}; const buildPackage = async () => { let resolve, reject; @@ -366,10 +432,10 @@ const buildPackage = async () => { new HashVerify("sha256", (digest) => { resolve(digest); }), - createWriteStream(getOpenSSLPackageName()) + createWriteStream(getOpenSSLPackagePath()) ); const digest = await promise; - await fs.writeFile(`${getOpenSSLPackageName()}.sha256`, digest); + await fs.writeFile(`${getOpenSSLPackagePath()}.sha256`, digest); }; const acquireOpenSSL = async () => { @@ -392,24 +458,15 @@ const acquireOpenSSL = async () => { let macOsDeploymentTarget; if (process.platform === "darwin") { - macOsDeploymentTarget = process.argv[2]; + macOsDeploymentTarget = process.argv[2] ?? process.env.OPENSSL_MACOS_DEPLOYMENT_TARGET if (!macOsDeploymentTarget || !macOsDeploymentTarget.match(/\d+\.\d+/)) { throw new Error(`Invalid macOsDeploymentTarget: ${macOsDeploymentTarget}`); } } - let vsBuildArch; - if (process.platform === "win32") { - vsBuildArch = process.env.NODEGIT_VS_BUILD_ARCH || (process.arch === "x64" ? "x64" : "x86"); - if (!["x64", "x86"].includes(vsBuildArch)) { - throw new Error(`Invalid vsBuildArch: ${vsBuildArch}`); - } - } - await buildOpenSSLIfNecessary({ openSSLVersion: OPENSSL_VERSION, - macOsDeploymentTarget, - vsBuildArch + macOsDeploymentTarget }); if (process.env.NODEGIT_OPENSSL_BUILD_PACKAGE) { await buildPackage(); @@ -427,5 +484,5 @@ if (process.argv[1] === import.meta.filename) { catch(error) { console.error("Acquire OpenSSL failed: ", error); process.exit(1); - }; + } } diff --git a/utils/build-openssl.bat b/utils/build-openssl.bat index 6e146cf891..af8063d7c4 100644 --- a/utils/build-openssl.bat +++ b/utils/build-openssl.bat @@ -1,9 +1,18 @@ +rem Build OpenSSL for Windows +rem %1 - path to vcvarsall.bat +rem %2 - architecture argument for vcvarsall.bat +rem %3 - OpenSSL Configure target + @call %1 %2 perl .\Configure %3 no-shared no-ssl2 no-ssl3 no-comp --prefix="%cd%\.." --openssldir="%cd%\.." || goto :error nmake || goto :error -nmake test || goto :error + +if "%NODEGIT_SKIP_TESTS%" NEQ "1" ( + nmake test || goto :error +) + nmake install || goto :error goto :EOF diff --git a/utils/buildFlags.js b/utils/buildFlags.js index 3c3d9d9b21..7ea87428ba 100644 --- a/utils/buildFlags.js +++ b/utils/buildFlags.js @@ -10,7 +10,29 @@ try { isGitRepo = false; } +const convertArch = (archStr) => { + const convertedArch = { + 'ia32': 'x86', + 'x86': 'x86', + 'x64': 'x64', + 'arm64': 'arm64' + }[archStr]; + + if (!convertedArch) { + throw new Error('unsupported architecture'); + } + + return convertedArch; +} + +const hostArch = convertArch(process.arch); +const targetArch = process.env.npm_config_arch + ? convertArch(process.env.npm_config_arch) + : hostArch; + module.exports = { + hostArch, + targetArch, debugBuild: !!process.env.BUILD_DEBUG, isElectron: process.env.npm_config_runtime === "electron", isGitRepo: isGitRepo, diff --git a/utils/configureLibssh2.js b/utils/configureLibssh2.js index 95328ebdb2..95fd5d3649 100644 --- a/utils/configureLibssh2.js +++ b/utils/configureLibssh2.js @@ -2,6 +2,8 @@ var cp = require("child_process"); var fse = require("fs-extra"); var path = require("path"); +const { hostArch, targetArch } = require("./buildFlags"); + const opensslVendorDirectory = path.resolve(__dirname, "..", "vendor", "openssl"); const libssh2VendorDirectory = path.resolve(__dirname, "..", "vendor", "libssh2"); const libssh2ConfigureScript = path.join(libssh2VendorDirectory, "configure"); @@ -19,20 +21,21 @@ module.exports = function retrieveExternalDependencies() { } // Run the `configure` script on Linux + let cpArgs = ` --with-libssl-prefix=${opensslVendorDirectory}`; + + const archConfigMap = { + 'x64': 'x86_64-linux-gnu', + 'arm64': 'aarch64-linux-gnu' + }; + + cpArgs += ` --build=${archConfigMap[hostArch]}`; + cpArgs += ` --host=${archConfigMap[targetArch]}`; + return new Promise(function(resolve, reject) { - var newEnv = {}; - Object.keys(process.env).forEach(function(key) { - newEnv[key] = process.env[key]; - }); - - let cpArgs = process.env.NODEGIT_OPENSSL_STATIC_LINK === '1' - ? ` --with-libssl-prefix=${opensslVendorDirectory}` - : ''; cp.exec( `${libssh2ConfigureScript}${cpArgs}`, { - cwd: libssh2VendorDirectory, - env: newEnv + cwd: libssh2VendorDirectory }, function(err, stdout, stderr) { if (err) { diff --git a/utils/uploadOpenSSL.mjs b/utils/uploadOpenSSL.mjs new file mode 100644 index 0000000000..5de760462e --- /dev/null +++ b/utils/uploadOpenSSL.mjs @@ -0,0 +1,32 @@ +import aws from 'aws-sdk'; +import fs from "fs"; +import path from "path"; + +import pkgJson from '../package.json' with { type: "json" }; +import { getOpenSSLPackagePath, getOpenSSLPackageName } from './acquireOpenSSL.mjs'; + +const s3 = new aws.S3(); + +const uploadBinaryToS3 = (fileName, bucketName, pathToFile) => + s3.upload({ + Body: fs.createReadStream(pathToFile), + Bucket: bucketName, + Key: fileName, + ACL: "public-read" + }).promise(); + +export const uploadOpenSSL = async () => { + const packageName = path.basename(getOpenSSLPackageName()); + const packagePath = getOpenSSLPackagePath(); + console.log(`Uploading ${packagePath} to s3://${pkgJson.binary.bucket_name}/${packageName}`); + await uploadBinaryToS3(packageName, pkgJson.binary.bucket_name, packagePath); + const sha256PackageName = `${packageName}.sha256`; + await uploadBinaryToS3(sha256PackageName, pkgJson.binary.bucket_name, `${packagePath}.sha256`); +}; + +if (process.argv[1] === import.meta.filename) { + uploadOpenSSL().catch((error) => { + console.error('Push to S3 failed: ', error); + process.exit(1); + }); +} diff --git a/vendor/libgit2 b/vendor/libgit2 index 6bfd2b9011..2644628edb 160000 --- a/vendor/libgit2 +++ b/vendor/libgit2 @@ -1 +1 @@ -Subproject commit 6bfd2b9011897a30494451e75a95cff5b88b93b9 +Subproject commit 2644628edb8742338a952d40f5e9549b17480e3a diff --git a/vendor/libgit2.gyp b/vendor/libgit2.gyp index 36dc305e54..aff29d76a2 100644 --- a/vendor/libgit2.gyp +++ b/vendor/libgit2.gyp @@ -11,7 +11,6 @@ "is_clang%": 0, "is_IBMi%": "= 2.25 which is a problem if we want -to support platforms like centos7 which ships with glibc 2.17. Attempting to -load this code on centos7 causes a runtime "undefined symbol error since glibc -doesn't provide it. -luckily openssl provides a backup lookup method in form of a dlopen call but -theres no way to configure for it, hence this patch. -Note further that centos7 doesn't have this function or the syscall it wraps -so the symbol lookup will fail and it will fallback to reading from /dev/random. -hence this patch just fixes compilation. -author: JZA ---- crypto/rand/rand_unix.c -+++ crypto/rand/rand_unix.c -@@ -372,7 +372,7 @@ static ssize_t syscall_random(void *buf, size_t buflen) - * Note: Sometimes getentropy() can be provided but not implemented - * internally. So we need to check errno for ENOSYS - */ --# if defined(__GNUC__) && __GNUC__>=2 && defined(__ELF__) && !defined(__hpux) -+# if defined(__GNUC__) && __GNUC__>=2 && defined(__ELF__) && !defined(__hpux) && 0 - extern int getentropy(void *buffer, size_t length) __attribute__((weak)); - - if (getentropy != NULL) { diff --git a/vendor/private.ppk b/vendor/private.ppk deleted file mode 100644 index e69837aaa9..0000000000 --- a/vendor/private.ppk +++ /dev/null @@ -1,26 +0,0 @@ -PuTTY-User-Key-File-2: ssh-rsa -Encryption: none -Comment: rsa-key-20141021 -Public-Lines: 6 -AAAAB3NzaC1yc2EAAAABJQAAAQEAkr6tlPb0QODfJJRhwsSsN88TSB6pgk/6x1KM -yVuDE6SeKz5sB4iaQfPleLSaWxuQEKkoa4sLAROy18lSk0PMioQHM6tgXbOcpTbS -Yf6uf1wtAMeFTO7vP0ZuIXbYmBmsK4DK1GWQq3Db5+Q/xbDp20dlCvCPMdokhYFr -N2B9G0C4AKgXRMS+loEXwOeQiupfYcUXfZiCOoviArCcLgRsUNZTeTbP03skLBDr -2xMdpaGx8QgSylz+yGeXRNjXaxE2mnwwVkBnNYsInZhw4/OdxddyilDealpcwp7x -enAwWsoLd9NlpskNCEQsznPMAe66/PKvRGl22+8tpNBzDbnZsw== -Private-Lines: 14 -AAABABPUk/9fpHd4VYF71dwMvVOmXI00k3J5gsD9UUuklSwrAJ4PWrTo8kBDjbZd -mFGAQ+aTZlO41/k6A2lEuCG9Dc2HdphHl2abuzjru5CztrdDzrrqh6Kc1Dj7rgSF -rpEYOdxdgzF1gkCuYuf8P/ge035/RQF6dDcrUQsfU62JlF2gwQpVbQZ97DC9uGtt -ktYY0pSVU36xty4uQ148mOC8TXWFOxaGPOFq14sxmBUFVhHsmHnytQULIkibRCze -bfkpJNAizNKTNCfupd3aub205kzG48blZ3eWxYtK3mreiSDvhdWNWiyVhTajkXGQ -r3a+AqE/8e5Qks7ekzbpKk388a0AAACBAOftyBzFLENp3ccimF7ctlS44H2hfas4 -2PQVbDpCKrY1u0XC+vn/GqgAVq/hcHeK6DrkaEK23Q30phNN7+8BDzR1VxO27TLg -UdwFE0z/0jnTuwkJcusO7bCb3dGGUX4ENSyRpNJVyu4X4iKuz03+ccPD3utkTIMI -zCskK5VQT0MBAAAAgQCh+ZsG6SfakMD76b3zF3xaw8bJmPe+q/YumlDDbM6sG9q+ -3Fp5trBBJbGjXhTCyUkOuWiUh8cmVBFYRHrtz9GLVCOXVd6yYOzHlTKSNRnu7Slt -jdX1s0QphmPlQ6/uyUIAhrIrOkVFKNrV10Kex/7jwwdfL8i1cecng+dxfE4AswAA -AIEAiWClSrfWJTIKa3CZtIxlbHFHNLAVEuDjGeyKIMZ96qDEM7jDQ4vUzAagw60D -qUsJQMyx9RFfSLDYE3TZaXGrGdSXcFBz9f9xLcWLe/2LH7NUmjpUf5GnlMSs7+Br -ET2wiPd6NDf1kka+4+zMOgFqJF44xgDuNLnM3ty4EFlfzlY= -Private-MAC: 6e0ff7c94a3253c5e45b3e06951e04d2b06e6262