From 3af84cb67facacd6ea456c7df0a3cf38c29e77aa Mon Sep 17 00:00:00 2001 From: Lucas Derraugh Date: Tue, 9 Jun 2026 22:53:12 -0400 Subject: [PATCH] Move back to CMake for libgit2 compilation At some point we tried to re-engineer the build process of libgit2 but this comes with lots of sharp edges with the only benefit being automatic building of dependencies through SPM. Ultimately, I don't think this is worth it given the complexity of managing the various parameters for compilation. This PR reaches a middle ground where we will pre-compile the libgit2 project using cmake into xcframework. Also fixes #2773 by using a flag we used previously -DUSE_SSH=libssh2. Ultimately this will use libssh2 rather than the external ssh option (ssh_exec). Looking into it, there was a bug in the libgit2 implementation that would never wait on the process on close. I think there is a patch that could be made but I believe this is inline with the behavior of 1.4.3. --- GitUp/GitUp.xcodeproj/project.pbxproj | 33 +- GitUpKit/GitUpKit.xcodeproj/project.pbxproj | 64 +- GitUpKit/Third-Party/Package.swift | 286 ---- GitUpKit/Third-Party/common.sh | 4 +- GitUpKit/Third-Party/libgit2 | 2 +- .../libgit2.xcframework/Info.plist | 65 + .../ios-arm64/Headers/git2.h | 74 + .../ios-arm64/Headers/git2/annotated_commit.h | 132 ++ .../ios-arm64/Headers/git2/apply.h | 186 ++ .../ios-arm64/Headers/git2/attr.h | 383 +++++ .../ios-arm64/Headers/git2/blame.h | 390 +++++ .../ios-arm64/Headers/git2/blob.h | 354 ++++ .../ios-arm64/Headers/git2/branch.h | 343 ++++ .../ios-arm64/Headers/git2/buffer.h | 76 + .../ios-arm64/Headers/git2/cert.h | 173 ++ .../ios-arm64/Headers/git2/checkout.h | 468 +++++ .../ios-arm64/Headers/git2/cherrypick.h | 99 ++ .../ios-arm64/Headers/git2/clone.h | 225 +++ .../ios-arm64/Headers/git2/commit.h | 675 ++++++++ .../ios-arm64/Headers/git2/common.h | 574 +++++++ .../ios-arm64/Headers/git2/config.h | 852 ++++++++++ .../ios-arm64/Headers/git2/cred_helpers.h | 15 + .../ios-arm64/Headers/git2/credential.h | 343 ++++ .../Headers/git2/credential_helpers.h | 54 + .../ios-arm64/Headers/git2/deprecated.h | 1069 ++++++++++++ .../ios-arm64/Headers/git2/describe.h | 206 +++ .../ios-arm64/Headers/git2/diff.h | 1512 +++++++++++++++++ .../ios-arm64/Headers/git2/email.h | 107 ++ .../ios-arm64/Headers/git2/errors.h | 154 ++ .../ios-arm64/Headers/git2/experimental.h | 13 + .../ios-arm64/Headers/git2/filter.h | 283 +++ .../ios-arm64/Headers/git2/gitup_branch.h | 24 + .../ios-arm64/Headers/git2/gitup_clone.h | 24 + .../ios-arm64/Headers/git2/gitup_config.h | 19 + .../ios-arm64/Headers/git2/gitup_refs.h | 35 + .../ios-arm64/Headers/git2/gitup_repository.h | 35 + .../ios-arm64/Headers/git2/gitup_submodule.h | 12 + .../ios-arm64/Headers/git2/global.h | 51 + .../ios-arm64/Headers/git2/graph.h | 78 + .../ios-arm64/Headers/git2/ignore.h | 88 + .../ios-arm64/Headers/git2/index.h | 933 ++++++++++ .../ios-arm64/Headers/git2/indexer.h | 212 +++ .../ios-arm64/Headers/git2/mailmap.h | 121 ++ .../ios-arm64/Headers/git2/merge.h | 671 ++++++++ .../ios-arm64/Headers/git2/message.h | 86 + .../ios-arm64/Headers/git2/net.h | 56 + .../ios-arm64/Headers/git2/notes.h | 309 ++++ .../ios-arm64/Headers/git2/object.h | 280 +++ .../ios-arm64/Headers/git2/odb.h | 696 ++++++++ .../ios-arm64/Headers/git2/odb_backend.h | 251 +++ .../ios-arm64/Headers/git2/oid.h | 372 ++++ .../ios-arm64/Headers/git2/oidarray.h | 43 + .../ios-arm64/Headers/git2/pack.h | 279 +++ .../ios-arm64/Headers/git2/patch.h | 289 ++++ .../ios-arm64/Headers/git2/pathspec.h | 289 ++++ .../ios-arm64/Headers/git2/proxy.h | 108 ++ .../ios-arm64/Headers/git2/rebase.h | 402 +++++ .../ios-arm64/Headers/git2/refdb.h | 71 + .../ios-arm64/Headers/git2/reflog.h | 171 ++ .../ios-arm64/Headers/git2/refs.h | 774 +++++++++ .../ios-arm64/Headers/git2/refspec.h | 131 ++ .../ios-arm64/Headers/git2/remote.h | 1251 ++++++++++++++ .../ios-arm64/Headers/git2/repository.h | 1019 +++++++++++ .../ios-arm64/Headers/git2/reset.h | 124 ++ .../ios-arm64/Headers/git2/revert.h | 96 ++ .../ios-arm64/Headers/git2/revparse.h | 113 ++ .../ios-arm64/Headers/git2/revwalk.h | 303 ++++ .../ios-arm64/Headers/git2/signature.h | 148 ++ .../ios-arm64/Headers/git2/stash.h | 328 ++++ .../ios-arm64/Headers/git2/status.h | 456 +++++ .../ios-arm64/Headers/git2/stdint.h | 249 +++ .../ios-arm64/Headers/git2/strarray.h | 42 + .../ios-arm64/Headers/git2/submodule.h | 679 ++++++++ .../ios-arm64/Headers/git2/sys/alloc.h | 79 + .../ios-arm64/Headers/git2/sys/commit.h | 154 ++ .../ios-arm64/Headers/git2/sys/commit_graph.h | 225 +++ .../ios-arm64/Headers/git2/sys/config.h | 206 +++ .../ios-arm64/Headers/git2/sys/cred.h | 15 + .../ios-arm64/Headers/git2/sys/credential.h | 91 + .../ios-arm64/Headers/git2/sys/diff.h | 114 ++ .../ios-arm64/Headers/git2/sys/email.h | 52 + .../ios-arm64/Headers/git2/sys/errors.h | 76 + .../ios-arm64/Headers/git2/sys/features.h | 50 + .../ios-arm64/Headers/git2/sys/filter.h | 416 +++++ .../ios-arm64/Headers/git2/sys/hashsig.h | 117 ++ .../ios-arm64/Headers/git2/sys/index.h | 183 ++ .../ios-arm64/Headers/git2/sys/mempack.h | 117 ++ .../ios-arm64/Headers/git2/sys/merge.h | 230 +++ .../ios-arm64/Headers/git2/sys/midx.h | 117 ++ .../ios-arm64/Headers/git2/sys/odb_backend.h | 176 ++ .../ios-arm64/Headers/git2/sys/openssl.h | 45 + .../ios-arm64/Headers/git2/sys/path.h | 75 + .../Headers/git2/sys/refdb_backend.h | 365 ++++ .../ios-arm64/Headers/git2/sys/refs.h | 50 + .../ios-arm64/Headers/git2/sys/remote.h | 53 + .../ios-arm64/Headers/git2/sys/repository.h | 240 +++ .../ios-arm64/Headers/git2/sys/stream.h | 161 ++ .../ios-arm64/Headers/git2/sys/transport.h | 486 ++++++ .../ios-arm64/Headers/git2/tag.h | 385 +++++ .../ios-arm64/Headers/git2/trace.h | 73 + .../ios-arm64/Headers/git2/transaction.h | 122 ++ .../ios-arm64/Headers/git2/transport.h | 50 + .../ios-arm64/Headers/git2/tree.h | 486 ++++++ .../ios-arm64/Headers/git2/types.h | 387 +++++ .../ios-arm64/Headers/git2/version.h | 75 + .../ios-arm64/Headers/git2/worktree.h | 278 +++ .../ios-arm64/Headers/gitup_extensions.h | 8 + .../libgit2.xcframework/ios-arm64/libgit2.a | Bin 0 -> 2282376 bytes .../ios-arm64_x86_64-simulator/Headers/git2.h | 74 + .../Headers/git2/annotated_commit.h | 132 ++ .../Headers/git2/apply.h | 186 ++ .../Headers/git2/attr.h | 383 +++++ .../Headers/git2/blame.h | 390 +++++ .../Headers/git2/blob.h | 354 ++++ .../Headers/git2/branch.h | 343 ++++ .../Headers/git2/buffer.h | 76 + .../Headers/git2/cert.h | 173 ++ .../Headers/git2/checkout.h | 468 +++++ .../Headers/git2/cherrypick.h | 99 ++ .../Headers/git2/clone.h | 225 +++ .../Headers/git2/commit.h | 675 ++++++++ .../Headers/git2/common.h | 574 +++++++ .../Headers/git2/config.h | 852 ++++++++++ .../Headers/git2/cred_helpers.h | 15 + .../Headers/git2/credential.h | 343 ++++ .../Headers/git2/credential_helpers.h | 54 + .../Headers/git2/deprecated.h | 1069 ++++++++++++ .../Headers/git2/describe.h | 206 +++ .../Headers/git2/diff.h | 1512 +++++++++++++++++ .../Headers/git2/email.h | 107 ++ .../Headers/git2/errors.h | 154 ++ .../Headers/git2/experimental.h | 13 + .../Headers/git2/filter.h | 283 +++ .../Headers/git2/gitup_branch.h | 24 + .../Headers/git2/gitup_clone.h | 24 + .../Headers/git2/gitup_config.h | 19 + .../Headers/git2/gitup_refs.h | 35 + .../Headers/git2/gitup_repository.h | 35 + .../Headers/git2/gitup_submodule.h | 12 + .../Headers/git2/global.h | 51 + .../Headers/git2/graph.h | 78 + .../Headers/git2/ignore.h | 88 + .../Headers/git2/index.h | 933 ++++++++++ .../Headers/git2/indexer.h | 212 +++ .../Headers/git2/mailmap.h | 121 ++ .../Headers/git2/merge.h | 671 ++++++++ .../Headers/git2/message.h | 86 + .../Headers/git2/net.h | 56 + .../Headers/git2/notes.h | 309 ++++ .../Headers/git2/object.h | 280 +++ .../Headers/git2/odb.h | 696 ++++++++ .../Headers/git2/odb_backend.h | 251 +++ .../Headers/git2/oid.h | 372 ++++ .../Headers/git2/oidarray.h | 43 + .../Headers/git2/pack.h | 279 +++ .../Headers/git2/patch.h | 289 ++++ .../Headers/git2/pathspec.h | 289 ++++ .../Headers/git2/proxy.h | 108 ++ .../Headers/git2/rebase.h | 402 +++++ .../Headers/git2/refdb.h | 71 + .../Headers/git2/reflog.h | 171 ++ .../Headers/git2/refs.h | 774 +++++++++ .../Headers/git2/refspec.h | 131 ++ .../Headers/git2/remote.h | 1251 ++++++++++++++ .../Headers/git2/repository.h | 1019 +++++++++++ .../Headers/git2/reset.h | 124 ++ .../Headers/git2/revert.h | 96 ++ .../Headers/git2/revparse.h | 113 ++ .../Headers/git2/revwalk.h | 303 ++++ .../Headers/git2/signature.h | 148 ++ .../Headers/git2/stash.h | 328 ++++ .../Headers/git2/status.h | 456 +++++ .../Headers/git2/stdint.h | 249 +++ .../Headers/git2/strarray.h | 42 + .../Headers/git2/submodule.h | 679 ++++++++ .../Headers/git2/sys/alloc.h | 79 + .../Headers/git2/sys/commit.h | 154 ++ .../Headers/git2/sys/commit_graph.h | 225 +++ .../Headers/git2/sys/config.h | 206 +++ .../Headers/git2/sys/cred.h | 15 + .../Headers/git2/sys/credential.h | 91 + .../Headers/git2/sys/diff.h | 114 ++ .../Headers/git2/sys/email.h | 52 + .../Headers/git2/sys/errors.h | 76 + .../Headers/git2/sys/features.h | 50 + .../Headers/git2/sys/filter.h | 416 +++++ .../Headers/git2/sys/hashsig.h | 117 ++ .../Headers/git2/sys/index.h | 183 ++ .../Headers/git2/sys/mempack.h | 117 ++ .../Headers/git2/sys/merge.h | 230 +++ .../Headers/git2/sys/midx.h | 117 ++ .../Headers/git2/sys/odb_backend.h | 176 ++ .../Headers/git2/sys/openssl.h | 45 + .../Headers/git2/sys/path.h | 75 + .../Headers/git2/sys/refdb_backend.h | 365 ++++ .../Headers/git2/sys/refs.h | 50 + .../Headers/git2/sys/remote.h | 53 + .../Headers/git2/sys/repository.h | 240 +++ .../Headers/git2/sys/stream.h | 161 ++ .../Headers/git2/sys/transport.h | 486 ++++++ .../Headers/git2/tag.h | 385 +++++ .../Headers/git2/trace.h | 73 + .../Headers/git2/transaction.h | 122 ++ .../Headers/git2/transport.h | 50 + .../Headers/git2/tree.h | 486 ++++++ .../Headers/git2/types.h | 387 +++++ .../Headers/git2/version.h | 75 + .../Headers/git2/worktree.h | 278 +++ .../Headers/gitup_extensions.h | 8 + .../ios-arm64_x86_64-simulator/libgit2.a | Bin 0 -> 4366904 bytes .../macos-arm64_x86_64/Headers/git2.h | 74 + .../Headers/git2/annotated_commit.h | 132 ++ .../macos-arm64_x86_64/Headers/git2/apply.h | 186 ++ .../macos-arm64_x86_64/Headers/git2/attr.h | 383 +++++ .../macos-arm64_x86_64/Headers/git2/blame.h | 390 +++++ .../macos-arm64_x86_64/Headers/git2/blob.h | 354 ++++ .../macos-arm64_x86_64/Headers/git2/branch.h | 343 ++++ .../macos-arm64_x86_64/Headers/git2/buffer.h | 76 + .../macos-arm64_x86_64/Headers/git2/cert.h | 173 ++ .../Headers/git2/checkout.h | 468 +++++ .../Headers/git2/cherrypick.h | 99 ++ .../macos-arm64_x86_64/Headers/git2/clone.h | 225 +++ .../macos-arm64_x86_64/Headers/git2/commit.h | 675 ++++++++ .../macos-arm64_x86_64/Headers/git2/common.h | 574 +++++++ .../macos-arm64_x86_64/Headers/git2/config.h | 852 ++++++++++ .../Headers/git2/cred_helpers.h | 15 + .../Headers/git2/credential.h | 343 ++++ .../Headers/git2/credential_helpers.h | 54 + .../Headers/git2/deprecated.h | 1069 ++++++++++++ .../Headers/git2/describe.h | 206 +++ .../macos-arm64_x86_64/Headers/git2/diff.h | 1512 +++++++++++++++++ .../macos-arm64_x86_64/Headers/git2/email.h | 107 ++ .../macos-arm64_x86_64/Headers/git2/errors.h | 154 ++ .../Headers/git2/experimental.h | 13 + .../macos-arm64_x86_64/Headers/git2/filter.h | 283 +++ .../Headers/git2/gitup_branch.h | 24 + .../Headers/git2/gitup_clone.h | 24 + .../Headers/git2/gitup_config.h | 19 + .../Headers/git2/gitup_refs.h | 35 + .../Headers/git2/gitup_repository.h | 35 + .../Headers/git2/gitup_submodule.h | 12 + .../macos-arm64_x86_64/Headers/git2/global.h | 51 + .../macos-arm64_x86_64/Headers/git2/graph.h | 78 + .../macos-arm64_x86_64/Headers/git2/ignore.h | 88 + .../macos-arm64_x86_64/Headers/git2/index.h | 933 ++++++++++ .../macos-arm64_x86_64/Headers/git2/indexer.h | 212 +++ .../macos-arm64_x86_64/Headers/git2/mailmap.h | 121 ++ .../macos-arm64_x86_64/Headers/git2/merge.h | 671 ++++++++ .../macos-arm64_x86_64/Headers/git2/message.h | 86 + .../macos-arm64_x86_64/Headers/git2/net.h | 56 + .../macos-arm64_x86_64/Headers/git2/notes.h | 309 ++++ .../macos-arm64_x86_64/Headers/git2/object.h | 280 +++ .../macos-arm64_x86_64/Headers/git2/odb.h | 696 ++++++++ .../Headers/git2/odb_backend.h | 251 +++ .../macos-arm64_x86_64/Headers/git2/oid.h | 372 ++++ .../Headers/git2/oidarray.h | 43 + .../macos-arm64_x86_64/Headers/git2/pack.h | 279 +++ .../macos-arm64_x86_64/Headers/git2/patch.h | 289 ++++ .../Headers/git2/pathspec.h | 289 ++++ .../macos-arm64_x86_64/Headers/git2/proxy.h | 108 ++ .../macos-arm64_x86_64/Headers/git2/rebase.h | 402 +++++ .../macos-arm64_x86_64/Headers/git2/refdb.h | 71 + .../macos-arm64_x86_64/Headers/git2/reflog.h | 171 ++ .../macos-arm64_x86_64/Headers/git2/refs.h | 774 +++++++++ .../macos-arm64_x86_64/Headers/git2/refspec.h | 131 ++ .../macos-arm64_x86_64/Headers/git2/remote.h | 1251 ++++++++++++++ .../Headers/git2/repository.h | 1019 +++++++++++ .../macos-arm64_x86_64/Headers/git2/reset.h | 124 ++ .../macos-arm64_x86_64/Headers/git2/revert.h | 96 ++ .../Headers/git2/revparse.h | 113 ++ .../macos-arm64_x86_64/Headers/git2/revwalk.h | 303 ++++ .../Headers/git2/signature.h | 148 ++ .../macos-arm64_x86_64/Headers/git2/stash.h | 328 ++++ .../macos-arm64_x86_64/Headers/git2/status.h | 456 +++++ .../macos-arm64_x86_64/Headers/git2/stdint.h | 249 +++ .../Headers/git2/strarray.h | 42 + .../Headers/git2/submodule.h | 679 ++++++++ .../Headers/git2/sys/alloc.h | 79 + .../Headers/git2/sys/commit.h | 154 ++ .../Headers/git2/sys/commit_graph.h | 225 +++ .../Headers/git2/sys/config.h | 206 +++ .../Headers/git2/sys/cred.h | 15 + .../Headers/git2/sys/credential.h | 91 + .../Headers/git2/sys/diff.h | 114 ++ .../Headers/git2/sys/email.h | 52 + .../Headers/git2/sys/errors.h | 76 + .../Headers/git2/sys/features.h | 50 + .../Headers/git2/sys/filter.h | 416 +++++ .../Headers/git2/sys/hashsig.h | 117 ++ .../Headers/git2/sys/index.h | 183 ++ .../Headers/git2/sys/mempack.h | 117 ++ .../Headers/git2/sys/merge.h | 230 +++ .../Headers/git2/sys/midx.h | 117 ++ .../Headers/git2/sys/odb_backend.h | 176 ++ .../Headers/git2/sys/openssl.h | 45 + .../Headers/git2/sys/path.h | 75 + .../Headers/git2/sys/refdb_backend.h | 365 ++++ .../Headers/git2/sys/refs.h | 50 + .../Headers/git2/sys/remote.h | 53 + .../Headers/git2/sys/repository.h | 240 +++ .../Headers/git2/sys/stream.h | 161 ++ .../Headers/git2/sys/transport.h | 486 ++++++ .../macos-arm64_x86_64/Headers/git2/tag.h | 385 +++++ .../macos-arm64_x86_64/Headers/git2/trace.h | 73 + .../Headers/git2/transaction.h | 122 ++ .../Headers/git2/transport.h | 50 + .../macos-arm64_x86_64/Headers/git2/tree.h | 486 ++++++ .../macos-arm64_x86_64/Headers/git2/types.h | 387 +++++ .../macos-arm64_x86_64/Headers/git2/version.h | 75 + .../Headers/git2/worktree.h | 278 +++ .../Headers/gitup_extensions.h | 8 + .../macos-arm64_x86_64/libgit2.a | Bin 0 -> 4249376 bytes GitUpKit/Third-Party/rebuild-libgit2.sh | 67 + UPDATING-LIBGIT2.md | 36 +- 314 files changed, 78929 insertions(+), 333 deletions(-) delete mode 100644 GitUpKit/Third-Party/Package.swift create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/Info.plist create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/annotated_commit.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/apply.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/attr.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/blame.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/blob.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/branch.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/buffer.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cert.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/checkout.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cherrypick.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/clone.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/commit.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/common.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/config.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cred_helpers.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/credential.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/credential_helpers.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/deprecated.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/describe.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/diff.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/email.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/errors.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/experimental.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/filter.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_branch.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_clone.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_config.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_refs.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_repository.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_submodule.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/global.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/graph.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/ignore.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/index.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/indexer.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/mailmap.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/merge.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/message.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/net.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/notes.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/object.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/odb.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/odb_backend.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/oid.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/oidarray.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/pack.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/patch.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/pathspec.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/proxy.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/rebase.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refdb.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/reflog.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refs.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refspec.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/remote.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/repository.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/reset.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revert.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revparse.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revwalk.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/signature.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/stash.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/status.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/stdint.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/strarray.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/submodule.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/alloc.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/commit.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/commit_graph.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/config.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/cred.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/credential.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/diff.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/email.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/errors.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/features.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/filter.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/hashsig.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/index.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/mempack.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/merge.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/midx.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/odb_backend.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/openssl.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/path.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/refdb_backend.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/refs.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/remote.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/repository.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/stream.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/transport.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/tag.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/trace.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/transaction.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/transport.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/tree.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/types.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/version.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/worktree.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/gitup_extensions.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/libgit2.a create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/annotated_commit.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/apply.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/attr.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/blame.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/blob.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/branch.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/buffer.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cert.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/checkout.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cherrypick.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/clone.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/commit.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/common.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/config.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cred_helpers.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/credential.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/credential_helpers.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/deprecated.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/describe.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/diff.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/email.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/errors.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/experimental.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/filter.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_branch.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_clone.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_config.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_refs.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_repository.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_submodule.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/global.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/graph.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/ignore.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/index.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/indexer.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/mailmap.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/merge.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/message.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/net.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/notes.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/object.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/odb.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/odb_backend.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/oid.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/oidarray.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/pack.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/patch.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/pathspec.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/proxy.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/rebase.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refdb.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/reflog.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refs.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refspec.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/remote.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/repository.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/reset.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revert.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revparse.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revwalk.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/signature.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/stash.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/status.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/stdint.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/strarray.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/submodule.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/alloc.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/commit.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/commit_graph.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/config.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/cred.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/credential.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/diff.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/email.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/errors.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/features.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/filter.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/hashsig.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/index.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/mempack.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/merge.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/midx.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/odb_backend.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/openssl.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/path.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/refdb_backend.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/refs.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/remote.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/repository.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/stream.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/transport.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/tag.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/trace.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/transaction.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/transport.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/tree.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/types.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/version.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/worktree.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/gitup_extensions.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/libgit2.a create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/annotated_commit.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/apply.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/attr.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/blame.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/blob.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/branch.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/buffer.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cert.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/checkout.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cherrypick.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/clone.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/commit.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/common.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/config.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cred_helpers.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/credential.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/credential_helpers.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/deprecated.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/describe.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/diff.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/email.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/errors.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/experimental.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/filter.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_branch.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_clone.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_config.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_refs.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_repository.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_submodule.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/global.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/graph.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/ignore.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/index.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/indexer.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/mailmap.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/merge.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/message.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/net.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/notes.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/object.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/odb.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/odb_backend.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/oid.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/oidarray.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/pack.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/patch.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/pathspec.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/proxy.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/rebase.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refdb.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/reflog.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refs.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refspec.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/remote.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/repository.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/reset.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revert.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revparse.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revwalk.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/signature.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/stash.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/status.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/stdint.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/strarray.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/submodule.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/alloc.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/commit.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/commit_graph.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/config.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/cred.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/credential.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/diff.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/email.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/errors.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/features.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/filter.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/hashsig.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/index.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/mempack.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/merge.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/midx.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/odb_backend.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/openssl.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/path.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/refdb_backend.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/refs.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/remote.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/repository.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/stream.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/transport.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/tag.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/trace.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/transaction.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/transport.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/tree.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/types.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/version.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/worktree.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/gitup_extensions.h create mode 100644 GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/libgit2.a create mode 100755 GitUpKit/Third-Party/rebuild-libgit2.sh diff --git a/GitUp/GitUp.xcodeproj/project.pbxproj b/GitUp/GitUp.xcodeproj/project.pbxproj index 2da02a5d..b728b708 100644 --- a/GitUp/GitUp.xcodeproj/project.pbxproj +++ b/GitUp/GitUp.xcodeproj/project.pbxproj @@ -14,7 +14,12 @@ 0A2F488F23683DC90072C6FB /* AuthenticationWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A2F488E23683DC90072C6FB /* AuthenticationWindowController.m */; }; 0A2F489223683DD60072C6FB /* AuthenticationWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0A2F489023683DD60072C6FB /* AuthenticationWindowController.xib */; }; 0A3388BC2353BD630022528D /* WelcomeWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0A3388BA2353BD630022528D /* WelcomeWindowController.xib */; }; - 0A4881DC26C7B98D00289CF9 /* Libgit2Origin in Frameworks */ = {isa = PBXBuildFile; productRef = 0A4881DB26C7B98D00289CF9 /* Libgit2Origin */; }; + 0A0C000126D8020000BEEF00 /* libgit2.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0C001126D8020000BEEF00 /* libgit2.xcframework */; }; + 0A0C000226D8020000BEEF00 /* libssh2.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0C001226D8020000BEEF00 /* libssh2.xcframework */; }; + 0A0C000326D8020000BEEF00 /* libssl.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0C001326D8020000BEEF00 /* libssl.xcframework */; }; + 0A0C000426D8020000BEEF00 /* libcrypto.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0C001426D8020000BEEF00 /* libcrypto.xcframework */; }; + 0A0C000526D8020000BEEF00 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0C001526D8020000BEEF00 /* Security.framework */; }; + 0A0C000626D8020000BEEF00 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0C001626D8020000BEEF00 /* CoreFoundation.framework */; }; 0A58CD77237B4F4B00C2BDD0 /* CloneWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A58CD73237B4F4B00C2BDD0 /* CloneWindowController.m */; }; 0A58CD7A237B4F9600C2BDD0 /* CloneWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0A58CD78237B4F9600C2BDD0 /* CloneWindowController.xib */; }; 0AC8525123A11F2F00479160 /* PreferencesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AC8525023A11F2F00479160 /* PreferencesWindowController.m */; }; @@ -128,6 +133,12 @@ 0AD46259232711B000BE28D1 /* WelcomeWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WelcomeWindowController.h; sourceTree = ""; }; 0AD4625A232711B000BE28D1 /* WelcomeWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WelcomeWindowController.m; sourceTree = ""; }; 0AE7F5EE2312C1B000B06050 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 0A0C001126D8020000BEEF00 /* libgit2.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libgit2.xcframework; path = "../GitUpKit/Third-Party/libgit2.xcframework"; sourceTree = SOURCE_ROOT; }; + 0A0C001226D8020000BEEF00 /* libssh2.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libssh2.xcframework; path = "../GitUpKit/Third-Party/libssh2.xcframework"; sourceTree = SOURCE_ROOT; }; + 0A0C001326D8020000BEEF00 /* libssl.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libssl.xcframework; path = "../GitUpKit/Third-Party/libssl.xcframework"; sourceTree = SOURCE_ROOT; }; + 0A0C001426D8020000BEEF00 /* libcrypto.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libcrypto.xcframework; path = "../GitUpKit/Third-Party/libcrypto.xcframework"; sourceTree = SOURCE_ROOT; }; + 0A0C001526D8020000BEEF00 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; + 0A0C001626D8020000BEEF00 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; 1D2DA2F923E9E99700691DEF /* GitUp.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = GitUp.entitlements; sourceTree = ""; }; 31CD50E1203E2E2800360B3A /* ToolbarItemWrapperView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ToolbarItemWrapperView.h; sourceTree = ""; }; 31CD50E2203E2E2800360B3A /* ToolbarItemWrapperView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ToolbarItemWrapperView.m; sourceTree = ""; }; @@ -170,8 +181,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 0A0C000526D8020000BEEF00 /* Security.framework in Frameworks */, + 0A0C000626D8020000BEEF00 /* CoreFoundation.framework in Frameworks */, + 0A0C000126D8020000BEEF00 /* libgit2.xcframework in Frameworks */, + 0A0C000226D8020000BEEF00 /* libssh2.xcframework in Frameworks */, + 0A0C000326D8020000BEEF00 /* libssl.xcframework in Frameworks */, + 0A0C000426D8020000BEEF00 /* libcrypto.xcframework in Frameworks */, DBBEE685256B0A0200F96DAF /* libiconv.tbd in Frameworks */, - 0A4881DC26C7B98D00289CF9 /* Libgit2Origin in Frameworks */, DBBEE688256B0A0A00F96DAF /* libz.tbd in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -191,9 +207,15 @@ DB0D250D256738F600E6F48A /* Frameworks */ = { isa = PBXGroup; children = ( + 0A0C001626D8020000BEEF00 /* CoreFoundation.framework */, DB0D250E256738F600E6F48A /* libgit2.a */, + 0A0C001426D8020000BEEF00 /* libcrypto.xcframework */, + 0A0C001126D8020000BEEF00 /* libgit2.xcframework */, DBBEE684256B0A0200F96DAF /* libiconv.tbd */, + 0A0C001226D8020000BEEF00 /* libssh2.xcframework */, + 0A0C001326D8020000BEEF00 /* libssl.xcframework */, DBBEE687256B0A0A00F96DAF /* libz.tbd */, + 0A0C001526D8020000BEEF00 /* Security.framework */, E2653D241A5B2FBD006A9871 /* Sparkle.framework */, ); name = Frameworks; @@ -319,9 +341,6 @@ DBBEE6BF256B0B1C00F96DAF /* PBXTargetDependency */, ); name = Tool; - packageProductDependencies = ( - 0A4881DB26C7B98D00289CF9 /* Libgit2Origin */, - ); productName = Tool; productReference = E21DCAE81B253847006424E8 /* gitup */; productType = "com.apple.product-type.tool"; @@ -731,10 +750,6 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 0A4881DB26C7B98D00289CF9 /* Libgit2Origin */ = { - isa = XCSwiftPackageProductDependency; - productName = Libgit2Origin; - }; 1DE066032C3781AF00540818 /* Sparkle */ = { isa = XCSwiftPackageProductDependency; package = 1DE066022C3781AF00540818 /* XCRemoteSwiftPackageReference "Sparkle" */; diff --git a/GitUpKit/GitUpKit.xcodeproj/project.pbxproj b/GitUpKit/GitUpKit.xcodeproj/project.pbxproj index d5cec4c5..a7efa2d3 100644 --- a/GitUpKit/GitUpKit.xcodeproj/project.pbxproj +++ b/GitUpKit/GitUpKit.xcodeproj/project.pbxproj @@ -7,8 +7,24 @@ objects = { /* Begin PBXBuildFile section */ + 0A0B000126D8010000BEEF00 /* libgit2.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001126D8010000BEEF00 /* libgit2.xcframework */; }; + 0A0B000226D8010000BEEF00 /* libssh2.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001226D8010000BEEF00 /* libssh2.xcframework */; }; + 0A0B000326D8010000BEEF00 /* libssl.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001326D8010000BEEF00 /* libssl.xcframework */; }; + 0A0B000426D8010000BEEF00 /* libcrypto.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001426D8010000BEEF00 /* libcrypto.xcframework */; }; + 0A0B000526D8010000BEEF00 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001526D8010000BEEF00 /* CoreFoundation.framework */; }; + 0A0B000626D8010000BEEF00 /* libgit2.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001126D8010000BEEF00 /* libgit2.xcframework */; }; + 0A0B000726D8010000BEEF00 /* libssh2.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001226D8010000BEEF00 /* libssh2.xcframework */; }; + 0A0B000826D8010000BEEF00 /* libssl.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001326D8010000BEEF00 /* libssl.xcframework */; }; + 0A0B000926D8010000BEEF00 /* libcrypto.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001426D8010000BEEF00 /* libcrypto.xcframework */; }; + 0A0B000A26D8010000BEEF00 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001526D8010000BEEF00 /* CoreFoundation.framework */; }; + 0A0B000B26D8010000BEEF00 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A1DA51D265806140041E737 /* Security.framework */; }; + 0A0B000C26D8010000BEEF00 /* libgit2.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001126D8010000BEEF00 /* libgit2.xcframework */; }; + 0A0B000D26D8010000BEEF00 /* libssh2.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001226D8010000BEEF00 /* libssh2.xcframework */; }; + 0A0B000E26D8010000BEEF00 /* libssl.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001326D8010000BEEF00 /* libssl.xcframework */; }; + 0A0B000F26D8010000BEEF00 /* libcrypto.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001426D8010000BEEF00 /* libcrypto.xcframework */; }; + 0A0B001026D8010000BEEF00 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A0B001526D8010000BEEF00 /* CoreFoundation.framework */; }; + 0A0B001626D8010000BEEF00 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A1DA51D265806140041E737 /* Security.framework */; }; 0A1DA51E265806140041E737 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A1DA51D265806140041E737 /* Security.framework */; }; - 0A4881D726C7B4CF00289CF9 /* Libgit2Origin in Frameworks */ = {isa = PBXBuildFile; productRef = 0A4881D626C7B4CF00289CF9 /* Libgit2Origin */; }; 0AC8525923A122C400479160 /* GILaunchServicesLocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AC8525723A122C400479160 /* GILaunchServicesLocator.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0AC8525A23A122C400479160 /* GILaunchServicesLocator.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AC8525823A122C400479160 /* GILaunchServicesLocator.m */; }; 1D615D81286BEDC600FFF7E7 /* XLFacilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D615D7E286BE79200FFF7E7 /* XLFacilityMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -19,7 +35,6 @@ 1DADC0DA25A25D54008C2C35 /* libsqlite3.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = DBBEE637256B08D300F96DAF /* libsqlite3.xcframework */; }; 1DADC0DE25A25D5D008C2C35 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = DBBEE654256B095000F96DAF /* libiconv.tbd */; }; 1DADC0E225A25D63008C2C35 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = DBBEE64C256B094000F96DAF /* libz.tbd */; }; - 1DC7FB2A28748D1200D2FD4C /* Libgit2Origin in Frameworks */ = {isa = PBXBuildFile; productRef = 1DC7FB2928748D1200D2FD4C /* Libgit2Origin */; }; 1DF371CD22F5262300EF7BD9 /* GCLiveRepository+Utilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DF371CB22F5262300EF7BD9 /* GCLiveRepository+Utilities.h */; }; 1DF371CE22F5262300EF7BD9 /* GCLiveRepository+Utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DF371CC22F5262300EF7BD9 /* GCLiveRepository+Utilities.m */; }; 6D8E3F0B25D90E1300AAFC17 /* GIImageDiffView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D8E3F0A25D90E1300AAFC17 /* GIImageDiffView.m */; }; @@ -349,6 +364,11 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 0A0B001126D8010000BEEF00 /* libgit2.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libgit2.xcframework; path = "Third-Party/libgit2.xcframework"; sourceTree = ""; }; + 0A0B001226D8010000BEEF00 /* libssh2.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libssh2.xcframework; path = "Third-Party/libssh2.xcframework"; sourceTree = ""; }; + 0A0B001326D8010000BEEF00 /* libssl.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libssl.xcframework; path = "Third-Party/libssl.xcframework"; sourceTree = ""; }; + 0A0B001426D8010000BEEF00 /* libcrypto.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libcrypto.xcframework; path = "Third-Party/libcrypto.xcframework"; sourceTree = ""; }; + 0A0B001526D8010000BEEF00 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; 0A1DA512265805C30041E737 /* libcommonCrypto.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libcommonCrypto.tbd; path = usr/lib/system/libcommonCrypto.tbd; sourceTree = SDKROOT; }; 0A1DA51D265806140041E737 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; 0AC8525723A122C400479160 /* GILaunchServicesLocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GILaunchServicesLocator.h; sourceTree = ""; }; @@ -577,6 +597,12 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 0A0B000B26D8010000BEEF00 /* Security.framework in Frameworks */, + 0A0B000A26D8010000BEEF00 /* CoreFoundation.framework in Frameworks */, + 0A0B000626D8010000BEEF00 /* libgit2.xcframework in Frameworks */, + 0A0B000726D8010000BEEF00 /* libssh2.xcframework in Frameworks */, + 0A0B000826D8010000BEEF00 /* libssl.xcframework in Frameworks */, + 0A0B000926D8010000BEEF00 /* libcrypto.xcframework in Frameworks */, DBBEE674256B09B500F96DAF /* libiconv.tbd in Frameworks */, DBBEE66A256B099300F96DAF /* libsqlite3.xcframework in Frameworks */, DBBEE675256B09B500F96DAF /* libz.tbd in Frameworks */, @@ -588,8 +614,12 @@ buildActionMask = 2147483647; files = ( 0A1DA51E265806140041E737 /* Security.framework in Frameworks */, + 0A0B000526D8010000BEEF00 /* CoreFoundation.framework in Frameworks */, + 0A0B000126D8010000BEEF00 /* libgit2.xcframework in Frameworks */, + 0A0B000226D8010000BEEF00 /* libssh2.xcframework in Frameworks */, + 0A0B000326D8010000BEEF00 /* libssl.xcframework in Frameworks */, + 0A0B000426D8010000BEEF00 /* libcrypto.xcframework in Frameworks */, DBBEE655256B095000F96DAF /* libiconv.tbd in Frameworks */, - 0A4881D726C7B4CF00289CF9 /* Libgit2Origin in Frameworks */, DBBEE64D256B094000F96DAF /* libz.tbd in Frameworks */, DBBEE638256B08D300F96DAF /* libsqlite3.xcframework in Frameworks */, ); @@ -599,9 +629,14 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 0A0B001626D8010000BEEF00 /* Security.framework in Frameworks */, + 0A0B001026D8010000BEEF00 /* CoreFoundation.framework in Frameworks */, + 0A0B000C26D8010000BEEF00 /* libgit2.xcframework in Frameworks */, + 0A0B000D26D8010000BEEF00 /* libssh2.xcframework in Frameworks */, + 0A0B000E26D8010000BEEF00 /* libssl.xcframework in Frameworks */, + 0A0B000F26D8010000BEEF00 /* libcrypto.xcframework in Frameworks */, 1DADC0DE25A25D5D008C2C35 /* libiconv.tbd in Frameworks */, 1DADC0DA25A25D54008C2C35 /* libsqlite3.xcframework in Frameworks */, - 1DC7FB2A28748D1200D2FD4C /* Libgit2Origin in Frameworks */, 1DADC0E225A25D63008C2C35 /* libz.tbd in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -620,9 +655,14 @@ DBBFFF4E2567370900AE139C /* Frameworks */ = { isa = PBXGroup; children = ( + 0A0B001526D8010000BEEF00 /* CoreFoundation.framework */, 0A1DA51D265806140041E737 /* Security.framework */, 0A1DA512265805C30041E737 /* libcommonCrypto.tbd */, + 0A0B001426D8010000BEEF00 /* libcrypto.xcframework */, + 0A0B001126D8010000BEEF00 /* libgit2.xcframework */, DBBEE654256B095000F96DAF /* libiconv.tbd */, + 0A0B001226D8010000BEEF00 /* libssh2.xcframework */, + 0A0B001326D8010000BEEF00 /* libssl.xcframework */, DBBEE637256B08D300F96DAF /* libsqlite3.xcframework */, DBBEE64C256B094000F96DAF /* libz.tbd */, ); @@ -1096,9 +1136,6 @@ dependencies = ( ); name = "GitUpKit (macOS)"; - packageProductDependencies = ( - 0A4881D626C7B4CF00289CF9 /* Libgit2Origin */, - ); productName = GitUpKit; productReference = E267E1A81B84D6C500BAB377 /* GitUpKit.framework */; productType = "com.apple.product-type.framework"; @@ -1115,9 +1152,6 @@ dependencies = ( ); name = Tests; - packageProductDependencies = ( - 1DC7FB2928748D1200D2FD4C /* Libgit2Origin */, - ); productName = GitUpTests; productReference = E2C338C419F8562F00063D95 /* GitUpTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; @@ -1756,16 +1790,6 @@ }; /* End XCConfigurationList section */ -/* Begin XCSwiftPackageProductDependency section */ - 0A4881D626C7B4CF00289CF9 /* Libgit2Origin */ = { - isa = XCSwiftPackageProductDependency; - productName = Libgit2Origin; - }; - 1DC7FB2928748D1200D2FD4C /* Libgit2Origin */ = { - isa = XCSwiftPackageProductDependency; - productName = Libgit2Origin; - }; -/* End XCSwiftPackageProductDependency section */ }; rootObject = E2C338A319F8562F00063D95 /* Project object */; } diff --git a/GitUpKit/Third-Party/Package.swift b/GitUpKit/Third-Party/Package.swift deleted file mode 100644 index 1dcda210..00000000 --- a/GitUpKit/Third-Party/Package.swift +++ /dev/null @@ -1,286 +0,0 @@ -// swift-tools-version:5.3 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription -import Foundation - -let libgit2OriginPath = "./libgit2" -let llhttpPath = "\(libgit2OriginPath)/deps/llhttp" -let ntlmClientPath = "\(libgit2OriginPath)/deps/ntlmclient" - -let librariesPath = "." -let libssh2Path = "\(librariesPath)/libssh2.xcframework" -let libsslPath = "\(librariesPath)/libssl.xcframework" -let libcryptoPath = "\(librariesPath)/libcrypto.xcframework" - -let silenceWarningsCSettings: [CSetting] = [ // to see libgit2 warnings, set to empty array - CSetting.unsafeFlags(["-w"]) -] - -enum FeaturesExtractor { - private struct Define: CustomStringConvertible { - let define: String - let value: String - var description: String { - "\(define) \(value)" - } - } - private static var packageSwiftDirectory: URL? { - var directory = URL.init(fileURLWithPath: "\(#file)") - if directory.lastPathComponent == "Package.swift" { - directory.deleteLastPathComponent() - } - return directory - } - - private static var libgit2Directory: URL? { - packageSwiftDirectory?.appendingPathComponent("libgit2") - } - - private static var featuresPath: URL { - libgit2Directory?.appendingPathComponent("include/git2/sys/features.h") ?? .init(fileURLWithPath: "") - } - - private static func shouldAddExtraDefine(featuresPath: URL, define: Define) -> Bool { - - guard let string = try? String.init(contentsOf: featuresPath, encoding: .utf8) else { - return false - } - - return !string.contains("#define \(define)") - } - - private static func fixedExtraDefine(featuresPath: URL, define: Define) -> [CSetting] { - shouldAddExtraDefine(featuresPath: featuresPath, define: define) ? [ .define(define.define, to: define.value) ] : [] - } - - private static func fixedExtraDefine(define: Define) -> [CSetting] { fixedExtraDefine(featuresPath: featuresPath, define: define) } - - private static func fixedExtraSSHDefines() -> [CSetting] { - let defines: [Define] = [ - .init(define: "GIT_SSH", value: "1"), - .init(define: "GIT_SSH_MEMORY_CREDENTIALS", value: "1") - ] - return defines.flatMap(fixedExtraDefine(define:)) - } - - static func extraLibgit2CSettings() -> [CSetting] { - let fixedLibgit2CSettings = fixedExtraSSHDefines() - return fixedLibgit2CSettings - } -} - -let package = Package( - name: "SwiftPackage", - platforms: [.macOS(.v10_13)], - products: [ - .library(name: "Libgit2Origin", - targets: ["Libgit2Origin"] - ), - .library(name: "llhttp", - targets: ["llhttp"] - ), - .library(name: "ntlmclient", - targets: ["ntlmclient"] - ), - ], - dependencies: [ - ], - targets: [ - // Since we don't run libgit2's actual CMake build, we need to replicate its effects here: the files it includes, and the options it resolves - .target(name: "Libgit2Origin", - dependencies: [ - "libssl", "libcrypto", "llhttp", "ntlmclient" - ], - path: libgit2OriginPath, - exclude: [ - // ./ - "ci", - "cmake", - "docs", - "examples", - "fuzzers", - "script", - "tests", - "api.docurium", - "AUTHORS", - "CMakeLists.txt", - "COPYING", - "git.git-authors", - "package.json", - "README.md", - "SECURITY.md", - "update-xcode.sh", - - // ./deps/ - "deps/chromium-zlib", - "deps/llhttp", - "deps/ntlmclient", - "deps/pcre", - "deps/winhttp", - // xdiff is the only dependency we're building as part of the Libgit2Origin target, because it seems to need access to some libgit2 files - "deps/zlib", - - // ./deps/ - "deps/xdiff/CMakeLists.txt", - - // ./src/ - "src/cli", - "src/CMakeLists.txt", - "src/README.md", - - // ./src/libgit2/ - "src/libgit2/CMakeLists.txt", - "src/libgit2/config.cmake.in", - "src/libgit2/experimental.h.in", - "src/libgit2/git2.rc", - - // ./src/util/ - "src/util/CMakeLists.txt", - "src/util/git2_features.h.in", - "src/util/win32", - - // ./src/util/hash/ - "src/util/hash/builtin.h", - "src/util/hash/builtin.c", - "src/util/hash/mbedtls.h", - "src/util/hash/mbedtls.c", - "src/util/hash/openssl.h", - "src/util/hash/openssl.c", - "src/util/hash/sha1dc/sha1.h", - "src/util/hash/win32.h", - "src/util/hash/win32.c", - - // ./include/git2/ - "include/git2/stdint.h", - - ], - sources: ["deps/xdiff", "src"], - resources: nil, - publicHeadersPath: "include", - cSettings: [ - .headerSearchPath("src"), - .headerSearchPath("src/libgit2"), - .headerSearchPath("src/util"), - .headerSearchPath("deps/llhttp"), - .headerSearchPath("deps/ntlmclient"), - .headerSearchPath("deps/xdiff"), - - .define("HAVE_QSORT_R_BSD"), - .define("_FILE_OFFSET_BITS", to: "64"), - .define("GIT_IO_POLL", to: "1"), - .define("GIT_IO_SELECT", to: "1"), - .define("GIT_HTTPPARSER_BUILTIN", to: "1"), - - // Above we exclude git2_features.h.in, which is a template suppose to set feature flags. - // So we need to 1. tell libgit2 the file isn't included and 2. manually set the flags here. - .define("LIBGIT2_NO_FEATURES_H", to: "1"), - - .define("GIT_TRACE", to: "1"), - .define("GIT_THREADS", to: "1"), - .define("GIT_ARCH_64", to: "1"), - .define("GIT_USE_ICONV", to: "1"), - .define("GIT_USE_NSEC", to: "1"), - .define("GIT_USE_STAT_MTIMESPEC", to: "1"), - .define("GIT_USE_FUTIMENS", to: "1"), - .define("GIT_REGEX_REGCOMP_L"), - .define("GIT_NTLM", to: "1"), - .define("GIT_HTTPS", to: "1"), - .define("GIT_SECURE_TRANSPORT", to: "1"), - .define("GIT_SHA1_COLLISIONDETECT", to: "1"), - .define("GIT_SSH_MEMORY_CREDENTIALS", to: "1"), - .define("GIT_SSH", to: "1"), - - // See libgit2/cmake/SelectRegex.cmake - .define("GIT_REGEX_REGCOMP_L", to: "1"), - - // Options set when USE_SSH="exec" (default value is ON. exec uses OpenSSH, which supports SSH config files) - // See libgit2/cmake/SelectSSH.cmake - .define("USE_SSH", to: "exec"), - .define("GIT_SSH", to: "1"), - .define("GIT_SSH_EXEC", to: "1"), - - // Options set when USE_HTTPS="ON" (default value) - // See libgit2/cmake/SelectHTTPSBackend.cmake - .define("USE_HTTPS", to: "SecureTransport"), - - // Options set when USE_SHA1="CollisionDetection" (default value) - // See libgit2/cmake/SelectHashes.cmake, libgit2/src/util/CMakeLists.txt - .define("USE_SHA1", to: "CollisionDetection"), - .define("GIT_SHA1_COLLISIONDETECT", to: "1"), - .define("SHA1DC_NO_STANDARD_INCLUDES", to: "1"), - .define("SHA1DC_CUSTOM_INCLUDE_SHA1_C", to: "\"git2_util.h\""), - .define("SHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C", to: "\"git2_util.h\""), - - // Options set when USE_SHA256="ON" (default value) - // See libgit2/cmake/SelectHashes.cmake - .define("USE_SHA256", to: "CommonCrypto"), - .define("GIT_SHA256_COMMON_CRYPTO", to: "1"), - - // Options set when USE_THREADS="ON" (default value) - // See libgit2/src/CMakeLists.txt - .define("GIT_THREADS", to: "1"), - - ] - + FeaturesExtractor.extraLibgit2CSettings() - + silenceWarningsCSettings, - cxxSettings: nil, - swiftSettings: nil, - linkerSettings: [ - .linkedFramework("CoreFoundation"), - .linkedFramework("Security"), - .linkedLibrary("z"), - .linkedLibrary("iconv"), - ] - ), - - .target(name: "llhttp", - dependencies: [], - path: llhttpPath, - exclude: [ - "CMakeLists.txt" - ], - sources: nil, - resources: nil, - publicHeadersPath: ".", - cSettings: silenceWarningsCSettings, - cxxSettings: nil, - swiftSettings: nil, - linkerSettings: [] - ), - - .target(name: "ntlmclient", - dependencies: ["libssh2"], - path: ntlmClientPath, - exclude: [ - "crypt_openssl.h", - "crypt_openssl.c", - "crypt_mbedtls.h", - "crypt_mbedtls.c", - "unicode_builtin.c", - "CMakeLists.txt", - ], - sources: [ - "ntlm.c", - "unicode_iconv.c", - "util.c", - "crypt_commoncrypto.c"// maybe include - ], - resources: nil, - publicHeadersPath: ".", - cSettings: [ - .define("NTLM_STATIC", to: "1"), - .define("CRYPT_COMMONCRYPTO"), - .define("UNICODE_ICONV", to: "1") - ] - + silenceWarningsCSettings, - cxxSettings: nil, - swiftSettings: nil, - linkerSettings: [] - ), - - .binaryTarget(name: "libssh2", path: libssh2Path), - .binaryTarget(name: "libssl", path: libsslPath), - .binaryTarget(name: "libcrypto", path: libcryptoPath), - ] -) diff --git a/GitUpKit/Third-Party/common.sh b/GitUpKit/Third-Party/common.sh index d8fedce9..91941032 100644 --- a/GitUpKit/Third-Party/common.sh +++ b/GitUpKit/Third-Party/common.sh @@ -1,9 +1,9 @@ #!/bin/sh -ex -o pipefail -MACOS_VERSION_MIN="10.13" +MACOS_VERSION_MIN="12.4" MACOS_ARCHS="arm64 x86_64" -IOS_VERSION_MIN="12.0" +IOS_VERSION_MIN="18.0" IOS_SIMULATOR_ARCHS="arm64 x86_64" IOS_DEVICE_ARCHS="arm64" diff --git a/GitUpKit/Third-Party/libgit2 b/GitUpKit/Third-Party/libgit2 index 014becef..ac28d52d 160000 --- a/GitUpKit/Third-Party/libgit2 +++ b/GitUpKit/Third-Party/libgit2 @@ -1 +1 @@ -Subproject commit 014becef60a440c2c0570affa1ea072fc1853bde +Subproject commit ac28d52d0bb35661d337235aa35601e8e9dfa420 diff --git a/GitUpKit/Third-Party/libgit2.xcframework/Info.plist b/GitUpKit/Third-Party/libgit2.xcframework/Info.plist new file mode 100644 index 00000000..c2547f74 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/Info.plist @@ -0,0 +1,65 @@ + + + + + AvailableLibraries + + + BinaryPath + libgit2.a + HeadersPath + Headers + LibraryIdentifier + ios-arm64 + LibraryPath + libgit2.a + SupportedArchitectures + + arm64 + + SupportedPlatform + ios + + + BinaryPath + libgit2.a + HeadersPath + Headers + LibraryIdentifier + macos-arm64_x86_64 + LibraryPath + libgit2.a + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + macos + + + BinaryPath + libgit2.a + HeadersPath + Headers + LibraryIdentifier + ios-arm64_x86_64-simulator + LibraryPath + libgit2.a + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + ios + SupportedPlatformVariant + simulator + + + CFBundlePackageType + XFWK + XCFrameworkFormatVersion + 1.0 + + diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2.h new file mode 100644 index 00000000..3457e5f0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2.h @@ -0,0 +1,74 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_git_git_h__ +#define INCLUDE_git_git_h__ + +#include "git2/annotated_commit.h" +#include "git2/apply.h" +#include "git2/attr.h" +#include "git2/blob.h" +#include "git2/blame.h" +#include "git2/branch.h" +#include "git2/buffer.h" +#include "git2/cert.h" +#include "git2/checkout.h" +#include "git2/cherrypick.h" +#include "git2/clone.h" +#include "git2/commit.h" +#include "git2/common.h" +#include "git2/config.h" +#include "git2/credential.h" +#include "git2/deprecated.h" +#include "git2/describe.h" +#include "git2/diff.h" +#include "git2/email.h" +#include "git2/errors.h" +#include "git2/experimental.h" +#include "git2/filter.h" +#include "git2/global.h" +#include "git2/graph.h" +#include "git2/ignore.h" +#include "git2/index.h" +#include "git2/indexer.h" +#include "git2/mailmap.h" +#include "git2/merge.h" +#include "git2/message.h" +#include "git2/net.h" +#include "git2/notes.h" +#include "git2/object.h" +#include "git2/odb.h" +#include "git2/odb_backend.h" +#include "git2/oid.h" +#include "git2/pack.h" +#include "git2/patch.h" +#include "git2/pathspec.h" +#include "git2/proxy.h" +#include "git2/rebase.h" +#include "git2/refdb.h" +#include "git2/reflog.h" +#include "git2/refs.h" +#include "git2/refspec.h" +#include "git2/remote.h" +#include "git2/repository.h" +#include "git2/reset.h" +#include "git2/revert.h" +#include "git2/revparse.h" +#include "git2/revwalk.h" +#include "git2/signature.h" +#include "git2/stash.h" +#include "git2/status.h" +#include "git2/submodule.h" +#include "git2/tag.h" +#include "git2/transport.h" +#include "git2/transaction.h" +#include "git2/tree.h" +#include "git2/types.h" +#include "git2/version.h" +#include "git2/worktree.h" + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/annotated_commit.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/annotated_commit.h new file mode 100644 index 00000000..04f3b1c3 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/annotated_commit.h @@ -0,0 +1,132 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_annotated_commit_h__ +#define INCLUDE_git_annotated_commit_h__ + +#include "common.h" +#include "repository.h" +#include "types.h" + +/** + * @file git2/annotated_commit.h + * @brief A commit and information about how it was looked up by the user. + * @defgroup git_annotated_commit Git annotated commit routines + * @ingroup Git + * + * An "annotated commit" is a commit that contains information about + * how the commit was resolved, which can be used for maintaining the + * user's "intent" through commands like merge and rebase. For example, + * if a user wants to "merge HEAD" then an annotated commit is used to + * both contain the HEAD commit _and_ the fact that it was resolved as + * the HEAD ref. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Creates a `git_annotated_commit` from the given reference. + * The resulting git_annotated_commit must be freed with + * `git_annotated_commit_free`. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given reference + * @param ref reference to use to lookup the git_annotated_commit + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_from_ref( + git_annotated_commit **out, + git_repository *repo, + const git_reference *ref); + +/** + * Creates a `git_annotated_commit` from the given fetch head data. + * The resulting git_annotated_commit must be freed with + * `git_annotated_commit_free`. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given commit + * @param branch_name name of the (remote) branch + * @param remote_url url of the remote + * @param id the commit object id of the remote branch + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_from_fetchhead( + git_annotated_commit **out, + git_repository *repo, + const char *branch_name, + const char *remote_url, + const git_oid *id); + +/** + * Creates a `git_annotated_commit` from the given commit id. + * The resulting git_annotated_commit must be freed with + * `git_annotated_commit_free`. + * + * An annotated commit contains information about how it was + * looked up, which may be useful for functions like merge or + * rebase to provide context to the operation. For example, + * conflict files will include the name of the source or target + * branches being merged. It is therefore preferable to use the + * most specific function (eg `git_annotated_commit_from_ref`) + * instead of this one when that data is known. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given commit + * @param id the commit object id to lookup + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_lookup( + git_annotated_commit **out, + git_repository *repo, + const git_oid *id); + +/** + * Creates a `git_annotated_commit` from a revision string. + * + * See `man gitrevisions`, or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given commit + * @param revspec the extended sha syntax string to use to lookup the commit + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_from_revspec( + git_annotated_commit **out, + git_repository *repo, + const char *revspec); + +/** + * Gets the commit ID that the given `git_annotated_commit` refers to. + * + * @param commit the given annotated commit + * @return commit id + */ +GIT_EXTERN(const git_oid *) git_annotated_commit_id( + const git_annotated_commit *commit); + +/** + * Get the refname that the given `git_annotated_commit` refers to. + * + * @param commit the given annotated commit + * @return ref name. + */ +GIT_EXTERN(const char *) git_annotated_commit_ref( + const git_annotated_commit *commit); + +/** + * Frees a `git_annotated_commit`. + * + * @param commit annotated commit to free + */ +GIT_EXTERN(void) git_annotated_commit_free( + git_annotated_commit *commit); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/apply.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/apply.h new file mode 100644 index 00000000..7ab939d1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/apply.h @@ -0,0 +1,186 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_apply_h__ +#define INCLUDE_git_apply_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "diff.h" + +/** + * @file git2/apply.h + * @brief Apply patches to the working directory or index + * @defgroup git_apply Git patch application routines + * @ingroup Git + * + * Mechanisms to apply a patch to the index, the working directory, + * or both. + * @{ + */ +GIT_BEGIN_DECL + +/** + * When applying a patch, callback that will be made per delta (file). + * + * When the callback: + * - returns < 0, the apply process will be aborted. + * - returns > 0, the delta will not be applied, but the apply process + * continues + * - returns 0, the delta is applied, and the apply process continues. + * + * @param delta The delta to be applied + * @param payload User-specified payload + * @return 0 if the delta is applied, < 0 if the apply process will be aborted + * or > 0 if the delta will not be applied. + */ +typedef int GIT_CALLBACK(git_apply_delta_cb)( + const git_diff_delta *delta, + void *payload); + +/** + * When applying a patch, callback that will be made per hunk. + * + * 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. + * + * @param hunk The hunk to be applied + * @param payload User-specified payload + * @return 0 if the hunk is applied, < 0 if the apply process will be aborted + * or > 0 if the hunk will not be applied. + */ +typedef int GIT_CALLBACK(git_apply_hunk_cb)( + const git_diff_hunk *hunk, + void *payload); + +/** + * Flags controlling the behavior of `git_apply`. + * + * 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. + */ +typedef enum { + /** + * Don't actually make changes, just test that the patch applies. + * This is the equivalent of `git apply --check`. + */ + GIT_APPLY_CHECK = (1 << 0) +} git_apply_flags_t; + +/** + * Apply options structure. + * + * 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. + * + * Initialize with `GIT_APPLY_OPTIONS_INIT`. Alternatively, you can + * use `git_apply_options_init`. + * + * @see git_apply_to_tree + * @see git_apply + */ +typedef struct { + unsigned int version; /**< The version */ + + /** When applying a patch, callback that will be made per delta (file). */ + git_apply_delta_cb delta_cb; + + /** When applying a patch, callback that will be made per hunk. */ + git_apply_hunk_cb hunk_cb; + + /** Payload passed to both `delta_cb` & `hunk_cb`. */ + void *payload; + + /** Bitmask of `git_apply_flags_t` */ + unsigned int flags; +} git_apply_options; + +/** Current version for the `git_apply_options` structure */ +#define GIT_APPLY_OPTIONS_VERSION 1 + +/** Static constructor for `git_apply_options` */ +#define GIT_APPLY_OPTIONS_INIT {GIT_APPLY_OPTIONS_VERSION} + +/** + * Initialize git_apply_options structure + * + * Initialize a `git_apply_options` with default values. Equivalent to creating + * an instance with GIT_APPLY_OPTIONS_INIT. + * + * @param opts The `git_apply_options` struct to initialize. + * @param version The struct version; pass `GIT_APPLY_OPTIONS_VERSION` + * @return 0 on success or -1 on failure. + */ +GIT_EXTERN(int) git_apply_options_init(git_apply_options *opts, unsigned int version); + +/** + * Apply a `git_diff` to a `git_tree`, and return the resulting image + * as an index. + * + * @param out the postimage of the application + * @param repo the repository to apply + * @param preimage the tree to apply the diff to + * @param diff the diff to apply + * @param options the options for the apply (or null for defaults) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_apply_to_tree( + git_index **out, + git_repository *repo, + git_tree *preimage, + git_diff *diff, + const git_apply_options *options); + +/** Possible application locations for git_apply */ +typedef enum { + /** + * Apply the patch to the workdir, leaving the index untouched. + * This is the equivalent of `git apply` with no location argument. + */ + GIT_APPLY_LOCATION_WORKDIR = 0, + + /** + * Apply the patch to the index, leaving the working directory + * untouched. This is the equivalent of `git apply --cached`. + */ + GIT_APPLY_LOCATION_INDEX = 1, + + /** + * Apply the patch to both the working directory and the index. + * This is the equivalent of `git apply --index`. + */ + GIT_APPLY_LOCATION_BOTH = 2 +} git_apply_location_t; + +/** + * Apply a `git_diff` to the given repository, making changes directly + * in the working directory, the index, or both. + * + * @param repo the repository to apply to + * @param diff the diff to apply + * @param location the location to apply (workdir, index or both) + * @param options the options for the apply (or null for defaults) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_apply( + git_repository *repo, + git_diff *diff, + git_apply_location_t location, + const git_apply_options *options); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/attr.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/attr.h new file mode 100644 index 00000000..e5216fef --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/attr.h @@ -0,0 +1,383 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_attr_h__ +#define INCLUDE_git_attr_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/attr.h + * @brief Attribute management routines + * @defgroup git_attr Git attribute management routines + * @ingroup Git + * + * Attributes specify additional information about how git should + * handle particular paths - for example, they may indicate whether + * a particular filter is applied, like LFS or line ending conversions. + * @{ + */ +GIT_BEGIN_DECL + +/** + * GIT_ATTR_TRUE checks if an attribute is set on. In core git + * parlance, this the value for "Set" attributes. + * + * For example, if the attribute file contains: + * + * *.c foo + * + * Then for file `xyz.c` looking up attribute "foo" gives a value for + * which `GIT_ATTR_TRUE(value)` is true. + */ +#define GIT_ATTR_IS_TRUE(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_TRUE) + +/** + * GIT_ATTR_FALSE checks if an attribute is set off. In core git + * parlance, this is the value for attributes that are "Unset" (not to + * be confused with values that a "Unspecified"). + * + * For example, if the attribute file contains: + * + * *.h -foo + * + * Then for file `zyx.h` looking up attribute "foo" gives a value for + * which `GIT_ATTR_FALSE(value)` is true. + */ +#define GIT_ATTR_IS_FALSE(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_FALSE) + +/** + * GIT_ATTR_UNSPECIFIED checks if an attribute is unspecified. This + * may be due to the attribute not being mentioned at all or because + * the attribute was explicitly set unspecified via the `!` operator. + * + * For example, if the attribute file contains: + * + * *.c foo + * *.h -foo + * onefile.c !foo + * + * Then for `onefile.c` looking up attribute "foo" yields a value with + * `GIT_ATTR_UNSPECIFIED(value)` of true. Also, looking up "foo" on + * file `onefile.rb` or looking up "bar" on any file will all give + * `GIT_ATTR_UNSPECIFIED(value)` of true. + */ +#define GIT_ATTR_IS_UNSPECIFIED(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_UNSPECIFIED) + +/** + * GIT_ATTR_HAS_VALUE checks if an attribute is set to a value (as + * opposed to TRUE, FALSE or UNSPECIFIED). This would be the case if + * for a file with something like: + * + * *.txt eol=lf + * + * Given this, looking up "eol" for `onefile.txt` will give back the + * string "lf" and `GIT_ATTR_SET_TO_VALUE(attr)` will return true. + */ +#define GIT_ATTR_HAS_VALUE(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_STRING) + +/** + * Possible states for an attribute + */ +typedef enum { + GIT_ATTR_VALUE_UNSPECIFIED = 0, /**< The attribute has been left unspecified */ + GIT_ATTR_VALUE_TRUE, /**< The attribute has been set */ + GIT_ATTR_VALUE_FALSE, /**< The attribute has been unset */ + GIT_ATTR_VALUE_STRING /**< This attribute has a value */ +} git_attr_value_t; + +/** + * Return the value type for a given attribute. + * + * This can be either `TRUE`, `FALSE`, `UNSPECIFIED` (if the attribute + * was not set at all), or `VALUE`, if the attribute was set to an + * actual string. + * + * If the attribute has a `VALUE` string, it can be accessed normally + * as a NULL-terminated C string. + * + * @param attr The attribute + * @return the value type for the attribute + */ +GIT_EXTERN(git_attr_value_t) git_attr_value(const char *attr); + +/** + * Check attribute flags: Reading values from index and working directory. + * + * When checking attributes, it is possible to check attribute files + * in both the working directory (if there is one) and the index (if + * there is one). You can explicitly choose where to check and in + * which order using the following flags. + * + * Core git usually checks the working directory then the index, + * except during a checkout when it checks the index first. It will + * use index only for creating archives or for a bare repo (if an + * index has been specified for the bare repo). + */ + +/** Examine attribute in working directory, then index */ +#define GIT_ATTR_CHECK_FILE_THEN_INDEX 0 +/** Examine attribute in index, then working directory */ +#define GIT_ATTR_CHECK_INDEX_THEN_FILE 1 +/** Examine attributes only in the index */ +#define GIT_ATTR_CHECK_INDEX_ONLY 2 + +/** + * Check attribute flags: controlling extended attribute behavior. + * + * Normally, attribute checks include looking in the /etc (or system + * equivalent) directory for a `gitattributes` file. Passing the + * `GIT_ATTR_CHECK_NO_SYSTEM` flag will cause attribute checks to + * ignore that file. + * + * Passing the `GIT_ATTR_CHECK_INCLUDE_HEAD` flag will use attributes + * from a `.gitattributes` file in the repository at the HEAD revision. + * + * Passing the `GIT_ATTR_CHECK_INCLUDE_COMMIT` flag will use attributes + * from a `.gitattributes` file in a specific commit. + */ + +/** Ignore system attributes */ +#define GIT_ATTR_CHECK_NO_SYSTEM (1 << 2) +/** Honor `.gitattributes` in the HEAD revision */ +#define GIT_ATTR_CHECK_INCLUDE_HEAD (1 << 3) +/** Honor `.gitattributes` in a specific commit */ +#define GIT_ATTR_CHECK_INCLUDE_COMMIT (1 << 4) + +/** +* An options structure for querying attributes. +*/ +typedef struct { + unsigned int version; + + /** A combination of GIT_ATTR_CHECK flags */ + unsigned int flags; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + git_oid *commit_id; +#endif + + /** + * The commit to load attributes from, when + * `GIT_ATTR_CHECK_INCLUDE_COMMIT` is specified. + */ + git_oid attr_commit_id; +} git_attr_options; + +/** Current version for the `git_attr_options` structure */ +#define GIT_ATTR_OPTIONS_VERSION 1 + +/** Static constructor for `git_attr_options` */ +#define GIT_ATTR_OPTIONS_INIT {GIT_ATTR_OPTIONS_VERSION} + +/** + * Look up the value of one git attribute for path. + * + * @param value_out Output of the value of the attribute. Use the GIT_ATTR_... + * macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just + * use the string value for attributes set to a value. You + * should NOT modify or free this value. + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path The path to check for attributes. Relative paths are + * interpreted relative to the repo root. The file does + * not have to exist, but if it does not, then it will be + * treated as a plain file (not a directory). + * @param name The name of the attribute to look up. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get( + const char **value_out, + git_repository *repo, + uint32_t flags, + const char *path, + const char *name); + +/** + * Look up the value of one git attribute for path with extended options. + * + * @param value_out Output of the value of the attribute. Use the GIT_ATTR_... + * macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just + * use the string value for attributes set to a value. You + * should NOT modify or free this value. + * @param repo The repository containing the path. + * @param opts The `git_attr_options` to use when querying these attributes. + * @param path The path to check for attributes. Relative paths are + * interpreted relative to the repo root. The file does + * not have to exist, but if it does not, then it will be + * treated as a plain file (not a directory). + * @param name The name of the attribute to look up. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get_ext( + const char **value_out, + git_repository *repo, + git_attr_options *opts, + const char *path, + const char *name); + +/** + * Look up a list of git attributes for path. + * + * Use this if you have a known list of attributes that you want to + * look up in a single call. This is somewhat more efficient than + * calling `git_attr_get()` multiple times. + * + * For example, you might write: + * + * const char *attrs[] = { "crlf", "diff", "foo" }; + * const char **values[3]; + * git_attr_get_many(values, repo, 0, "my/fun/file.c", 3, attrs); + * + * Then you could loop through the 3 values to get the settings for + * the three attributes you asked about. + * + * @param values_out An array of num_attr entries that will have string + * pointers written into it for the values of the attributes. + * You should not modify or free the values that are written + * into this array (although of course, you should free the + * array itself if you allocated it). + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path The path inside the repo to check attributes. This + * does not have to exist, but if it does not, then + * it will be treated as a plain file (i.e. not a directory). + * @param num_attr The number of attributes being looked up + * @param names An array of num_attr strings containing attribute names. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get_many( + const char **values_out, + git_repository *repo, + uint32_t flags, + const char *path, + size_t num_attr, + const char **names); + +/** + * Look up a list of git attributes for path with extended options. + * + * @param values_out An array of num_attr entries that will have string + * pointers written into it for the values of the attributes. + * You should not modify or free the values that are written + * into this array (although of course, you should free the + * array itself if you allocated it). + * @param repo The repository containing the path. + * @param opts The `git_attr_options` to use when querying these attributes. + * @param path The path inside the repo to check attributes. This + * does not have to exist, but if it does not, then + * it will be treated as a plain file (i.e. not a directory). + * @param num_attr The number of attributes being looked up + * @param names An array of num_attr strings containing attribute names. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get_many_ext( + const char **values_out, + git_repository *repo, + git_attr_options *opts, + const char *path, + size_t num_attr, + const char **names); + +/** + * The callback used with git_attr_foreach. + * + * This callback will be invoked only once per attribute name, even if there + * are multiple rules for a given file. The highest priority rule will be + * used. + * + * @see git_attr_foreach. + * + * @param name The attribute name. + * @param value The attribute value. May be NULL if the attribute is explicitly + * set to UNSPECIFIED using the '!' sign. + * @param payload A user-specified pointer. + * @return 0 to continue looping, non-zero to stop. This value will be returned + * from git_attr_foreach. + */ +typedef int GIT_CALLBACK(git_attr_foreach_cb)(const char *name, const char *value, void *payload); + +/** + * Loop over all the git attributes for a path. + * + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path Path inside the repo to check attributes. This does not have + * to exist, but if it does not, then it will be treated as a + * plain file (i.e. not a directory). + * @param callback Function to invoke on each attribute name and value. + * See git_attr_foreach_cb. + * @param payload Passed on as extra parameter to callback function. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_attr_foreach( + git_repository *repo, + uint32_t flags, + const char *path, + git_attr_foreach_cb callback, + void *payload); + +/** + * Loop over all the git attributes for a path with extended options. + * + * @param repo The repository containing the path. + * @param opts The `git_attr_options` to use when querying these attributes. + * @param path Path inside the repo to check attributes. This does not have + * to exist, but if it does not, then it will be treated as a + * plain file (i.e. not a directory). + * @param callback Function to invoke on each attribute name and value. + * See git_attr_foreach_cb. + * @param payload Passed on as extra parameter to callback function. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_attr_foreach_ext( + git_repository *repo, + git_attr_options *opts, + const char *path, + git_attr_foreach_cb callback, + void *payload); + +/** + * Flush the gitattributes cache. + * + * Call this if you have reason to believe that the attributes files on + * disk no longer match the cached contents of memory. This will cause + * the attributes files to be reloaded the next time that an attribute + * access function is called. + * + * @param repo The repository containing the gitattributes cache + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_attr_cache_flush( + git_repository *repo); + +/** + * Add a macro definition. + * + * Macros will automatically be loaded from the top level `.gitattributes` + * file of the repository (plus the built-in "binary" macro). This + * function allows you to add others. For example, to add the default + * macro, you would call: + * + * git_attr_add_macro(repo, "binary", "-diff -crlf"); + * + * @param repo The repository to add the macro in. + * @param name The name of the macro. + * @param values The value for the macro. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_add_macro( + git_repository *repo, + const char *name, + const char *values); + +/** @} */ +GIT_END_DECL +#endif + diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/blame.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/blame.h new file mode 100644 index 00000000..f3e66924 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/blame.h @@ -0,0 +1,390 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_git_blame_h__ +#define INCLUDE_git_blame_h__ + +#include "common.h" +#include "oid.h" + +/** + * @file git2/blame.h + * @brief Specify a file's most recent changes per-line + * @defgroup git_blame Git blame routines + * @ingroup Git + * + * Producing a "blame" (or "annotated history") decorates individual + * lines in a file with the commit that introduced that particular line + * of changes. This can be useful to indicate when and why a particular + * change was made. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Flags for indicating option behavior for git_blame APIs. + */ +typedef enum { + /** Normal blame, the default */ + GIT_BLAME_NORMAL = 0, + + /** + * Track lines that have moved within a file (like `git blame -M`). + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_SAME_FILE = (1<<0), + + /** + * Track lines that have moved across files in the same commit + * (like `git blame -C`). + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES = (1<<1), + + /** + * Track lines that have been copied from another file that exists + * in the same commit (like `git blame -CC`). Implies SAME_FILE. + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES = (1<<2), + + /** + * Track lines that have been copied from another file that exists in + * *any* commit (like `git blame -CCC`). Implies SAME_COMMIT_COPIES. + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES = (1<<3), + + /** + * Restrict the search of commits to those reachable following only + * the first parents. + */ + GIT_BLAME_FIRST_PARENT = (1<<4), + + /** + * Use mailmap file to map author and committer names and email + * addresses to canonical real names and email addresses. The + * mailmap will be read from the working directory, or HEAD in a + * bare repository. + */ + GIT_BLAME_USE_MAILMAP = (1<<5), + + /** Ignore whitespace differences */ + GIT_BLAME_IGNORE_WHITESPACE = (1<<6) +} git_blame_flag_t; + +/** + * Blame options structure + * + * Initialize with `GIT_BLAME_OPTIONS_INIT`. Alternatively, you can + * use `git_blame_options_init`. + * + */ +typedef struct git_blame_options { + unsigned int version; + + /** A combination of `git_blame_flag_t` */ + unsigned int flags; + + /** + * The lower bound on the number of alphanumeric characters that + * must be detected as moving/copying within a file for it to + * associate those lines with the parent commit. The default value + * is 20. + * + * This value only takes effect if any of the `GIT_BLAME_TRACK_COPIES_*` + * flags are specified. + */ + uint16_t min_match_characters; + + /** The id of the newest commit to consider. The default is HEAD. */ + git_oid newest_commit; + + /** + * The id of the oldest commit to consider. + * The default is the first commit encountered with a NULL parent. + */ + git_oid oldest_commit; + + /** + * The first line in the file to blame. + * The default is 1 (line numbers start with 1). + */ + size_t min_line; + + /** + * The last line in the file to blame. + * The default is the last line of the file. + */ + size_t max_line; +} git_blame_options; + +/** Current version for the `git_blame_options` structure */ +#define GIT_BLAME_OPTIONS_VERSION 1 + +/** Static constructor for `git_blame_options` */ +#define GIT_BLAME_OPTIONS_INIT {GIT_BLAME_OPTIONS_VERSION} + +/** + * Initialize git_blame_options structure + * + * Initializes a `git_blame_options` with default values. Equivalent to creating + * an instance with GIT_BLAME_OPTIONS_INIT. + * + * @param opts The `git_blame_options` struct to initialize. + * @param version The struct version; pass `GIT_BLAME_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_blame_options_init( + git_blame_options *opts, + unsigned int version); + +/** + * Structure that represents a blame hunk. + */ +typedef struct git_blame_hunk { + /** + * The number of lines in this hunk. + */ + size_t lines_in_hunk; + + /** + * The OID of the commit where this line was last changed. + */ + git_oid final_commit_id; + + /** + * The 1-based line number where this hunk begins, in the final version + * of the file. + */ + size_t final_start_line_number; + + /** + * The author of `final_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been + * specified, it will contain the canonical real name and email address. + */ + git_signature *final_signature; + + /** + * The committer of `final_commit_id`. If `GIT_BLAME_USE_MAILMAP` has + * been specified, it will contain the canonical real name and email + * address. + */ + git_signature *final_committer; + + /** + * The OID of the commit where this hunk was found. + * This will usually be the same as `final_commit_id`, except when + * `GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES` has been specified. + */ + git_oid orig_commit_id; + + /** + * The path to the file where this hunk originated, as of the commit + * specified by `orig_commit_id`. + */ + const char *orig_path; + + /** + * The 1-based line number where this hunk begins in the file named by + * `orig_path` in the commit specified by `orig_commit_id`. + */ + size_t orig_start_line_number; + + /** + * The author of `orig_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been + * specified, it will contain the canonical real name and email address. + */ + git_signature *orig_signature; + + /** + * The committer of `orig_commit_id`. If `GIT_BLAME_USE_MAILMAP` has + * been specified, it will contain the canonical real name and email + * address. + */ + git_signature *orig_committer; + + /* + * The summary of the commit. + */ + const char *summary; + + /** + * The 1 iff the hunk has been tracked to a boundary commit (the root, + * or the commit specified in git_blame_options.oldest_commit) + */ + char boundary; +} git_blame_hunk; + +/** + * Structure that represents a line in a blamed file. + */ +typedef struct git_blame_line { + const char *ptr; + size_t len; +} git_blame_line; + +/** Opaque structure to hold blame results */ +typedef struct git_blame git_blame; + +/** + * Gets the number of lines that exist in the blame structure. + * + * @param blame The blame structure to query. + * @return The number of line. + */ +GIT_EXTERN(size_t) git_blame_linecount(git_blame *blame); + +/** + * Gets the number of hunks that exist in the blame structure. + * + * @param blame The blame structure to query. + * @return The number of hunks. + */ +GIT_EXTERN(size_t) git_blame_hunkcount(git_blame *blame); + +/** + * Gets the blame hunk at the given index. + * + * @param blame the blame structure to query + * @param index index of the hunk to retrieve + * @return the hunk at the given index, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_hunk_byindex( + git_blame *blame, + size_t index); + +/** + * Gets the hunk that relates to the given line number in the newest + * commit. + * + * @param blame the blame structure to query + * @param lineno the (1-based) line number to find a hunk for + * @return the hunk that contains the given line, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_hunk_byline( + git_blame *blame, + size_t lineno); + +/** + * Gets the information about the line in the blame. + * + * @param blame the blame structure to query + * @param idx the (1-based) line number + * @return the blamed line, or NULL on error + */ +GIT_EXTERN(const git_blame_line *) git_blame_line_byindex( + git_blame *blame, + size_t idx); + +#ifndef GIT_DEPRECATE_HARD +/** + * Gets the number of hunks that exist in the blame structure. + * + * @param blame The blame structure to query. + * @return The number of hunks. + */ + +GIT_EXTERN(uint32_t) git_blame_get_hunk_count(git_blame *blame); + +/** + * Gets the blame hunk at the given index. + * + * @param blame the blame structure to query + * @param index index of the hunk to retrieve + * @return the hunk at the given index, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_get_hunk_byindex( + git_blame *blame, + uint32_t index); + +/** + * Gets the hunk that relates to the given line number in the newest commit. + * + * @param blame the blame structure to query + * @param lineno the (1-based) line number to find a hunk for + * @return the hunk that contains the given line, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_get_hunk_byline( + git_blame *blame, + size_t lineno); +#endif + +/** + * Get the blame for a single file in the repository. + * + * @param out pointer that will receive the blame object + * @param repo repository whose history is to be walked + * @param path path to file to consider + * @param options options for the blame operation or NULL + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_blame_file( + git_blame **out, + git_repository *repo, + const char *path, + git_blame_options *options); + +/** + * Get the blame for a single file in the repository, using the specified + * buffer contents as the uncommitted changes of the file (the working + * directory contents). + * + * @param out pointer that will receive the blame object + * @param repo repository whose history is to be walked + * @param path path to file to consider + * @param contents the uncommitted changes + * @param contents_len the length of the changes buffer + * @param options options for the blame operation or NULL + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_blame_file_from_buffer( + git_blame **out, + git_repository *repo, + const char *path, + const char *contents, + size_t contents_len, + git_blame_options *options); + +/** + * Get blame data for a file that has been modified in memory. The `blame` + * parameter is a pre-calculated blame for the in-odb history of the file. + * This means that once a file blame is completed (which can be expensive), + * updating the buffer blame is very fast. + * + * Lines that differ between the buffer and the committed version are + * marked as having a zero OID for their final_commit_id. + * + * @param out pointer that will receive the resulting blame data + * @param base cached blame from the history of the file (usually the output + * from git_blame_file) + * @param buffer the (possibly) modified contents of the file + * @param buffer_len number of valid bytes in the buffer + * @return 0 on success, or an error code. (use git_error_last for information + * about the error) + */ +GIT_EXTERN(int) git_blame_buffer( + git_blame **out, + git_blame *base, + const char *buffer, + size_t buffer_len); + +/** + * Free memory allocated by git_blame_file or git_blame_buffer. + * + * @param blame the blame structure to free + */ +GIT_EXTERN(void) git_blame_free(git_blame *blame); + +/** @} */ +GIT_END_DECL +#endif + diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/blob.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/blob.h new file mode 100644 index 00000000..0ed16855 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/blob.h @@ -0,0 +1,354 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_blob_h__ +#define INCLUDE_git_blob_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" +#include "buffer.h" + +/** + * @file git2/blob.h + * @brief A blob represents a file in a git repository. + * @defgroup git_blob Git blob load and write routines + * @ingroup Git + * + * A blob represents a file in a git repository. This is the raw data + * as it is stored in the repository itself. Blobs may be "filtered" + * to produce the on-disk content. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a blob object from a repository. + * + * @param[out] blob pointer to the looked up blob + * @param repo the repo to use when locating the blob. + * @param id identity of the blob to locate. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_lookup( + git_blob **blob, + git_repository *repo, + const git_oid *id); + +/** + * Lookup a blob object from a repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param[out] blob pointer to the looked up blob + * @param repo the repo to use when locating the blob. + * @param id identity of the blob to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_lookup_prefix(git_blob **blob, git_repository *repo, const git_oid *id, size_t len); + +/** + * Close an open blob + * + * This is a wrapper around git_object_free() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a blob. Failure to do so will cause a memory leak. + * + * @param blob the blob to close + */ +GIT_EXTERN(void) git_blob_free(git_blob *blob); + +/** + * Get the id of a blob. + * + * @param blob a previously loaded blob. + * @return SHA1 hash for this blob. + */ +GIT_EXTERN(const git_oid *) git_blob_id(const git_blob *blob); + +/** + * Get the repository that contains the blob. + * + * @param blob A previously loaded blob. + * @return Repository that contains this blob. + */ +GIT_EXTERN(git_repository *) git_blob_owner(const git_blob *blob); + +/** + * Get a read-only buffer with the raw content of a blob. + * + * 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. + * + * @param blob pointer to the blob + * @return @type `unsigned char *` the pointer, or NULL on error + */ +GIT_EXTERN(const void *) git_blob_rawcontent(const git_blob *blob); + +/** + * Get the size in bytes of the contents of a blob + * + * @param blob pointer to the blob + * @return size in bytes + */ +GIT_EXTERN(git_object_size_t) git_blob_rawsize(const git_blob *blob); + +/** + * Flags to control the functionality of `git_blob_filter`. + * + * @flags + */ +typedef enum { + /** When set, filters will not be applied to binary files. */ + GIT_BLOB_FILTER_CHECK_FOR_BINARY = (1 << 0), + + /** + * When set, filters will not load configuration from the + * system-wide `gitattributes` in `/etc` (or system equivalent). + */ + GIT_BLOB_FILTER_NO_SYSTEM_ATTRIBUTES = (1 << 1), + + /** + * When set, filters will be loaded from a `.gitattributes` file + * in the HEAD commit. + */ + GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD = (1 << 2), + + /** + * When set, filters will be loaded from a `.gitattributes` file + * in the specified commit. + */ + GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT = (1 << 3) +} git_blob_filter_flag_t; + +/** + * The options used when applying filter options to a file. + * + * Initialize with `GIT_BLOB_FILTER_OPTIONS_INIT`. Alternatively, you can + * use `git_blob_filter_options_init`. + * + * @options[version] GIT_BLOB_FILTER_OPTIONS_VERSION + * @options[init_macro] GIT_BLOB_FILTER_OPTIONS_INIT + * @options[init_function] git_blob_filter_options_init + */ +typedef struct { + /** Version number of the options structure. */ + int version; + + /** + * Flags to control the filtering process, see `git_blob_filter_flag_t` above. + * + * @type[flags] git_blob_filter_flag_t + */ + uint32_t flags; + +#ifdef GIT_DEPRECATE_HARD + /** + * Unused and reserved for ABI compatibility. + * + * @deprecated this value should not be set + */ + void *reserved; +#else + /** + * This value is unused and reserved for API compatibility. + * + * @deprecated this value should not be set + */ + git_oid *commit_id; +#endif + + /** + * The commit to load attributes from, when + * `GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT` is specified. + */ + git_oid attr_commit_id; +} git_blob_filter_options; + +/** + * The current version number for the `git_blob_filter_options` structure ABI. + */ +#define GIT_BLOB_FILTER_OPTIONS_VERSION 1 + +/** + * The default values for `git_blob_filter_options`. + */ +#define GIT_BLOB_FILTER_OPTIONS_INIT { \ + GIT_BLOB_FILTER_OPTIONS_VERSION, \ + GIT_BLOB_FILTER_CHECK_FOR_BINARY \ + } + +/** + * Initialize git_blob_filter_options structure + * + * Initializes a `git_blob_filter_options` with default values. Equivalent + * to creating an instance with `GIT_BLOB_FILTER_OPTIONS_INIT`. + * + * @param opts The `git_blob_filter_options` struct to initialize. + * @param version The struct version; pass GIT_BLOB_FILTER_OPTIONS_VERSION + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_blob_filter_options_init( + git_blob_filter_options *opts, + unsigned int version); + +/** + * Get a buffer with the filtered content of a blob. + * + * 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. + * + * The output is written into a `git_buf` which the caller must dispose + * when done (via `git_buf_dispose`). + * + * 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. + * + * @param out The git_buf to be filled in + * @param blob Pointer to the blob + * @param as_path Path used for file attribute lookups, etc. + * @param opts Options to use for filtering the blob + * @return @type[enum] git_error_code 0 on success or an error code + */ +GIT_EXTERN(int) git_blob_filter( + git_buf *out, + git_blob *blob, + const char *as_path, + git_blob_filter_options *opts); + +/** + * Read a file from the working folder of a repository and write it + * to the object database. + * + * @param[out] id return the id of the written blob + * @param repo repository where the blob will be written. + * this repository cannot be bare + * @param relative_path file from which the blob will be created, + * relative to the repository's working dir + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_workdir(git_oid *id, git_repository *repo, const char *relative_path); + +/** + * Read a file from the filesystem (not necessarily inside the + * working folder of the repository) and write it to the object + * database. + * + * @param[out] id return the id of the written blob + * @param repo repository where the blob will be written. + * this repository can be bare or not + * @param path file from which the blob will be created + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_disk( + git_oid *id, + git_repository *repo, + const char *path); + +/** + * Create a stream to write a new blob into the object database. + * + * 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()`. + * + * 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. + * + * 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. + * + * @param[out] out the stream into which to write + * @param repo Repository where the blob will be written. + * This repository can be bare or not. + * @param hintpath If not NULL, will be used to select data filters + * to apply onto the content of the blob to be created. + * @return 0 or error code + */ +GIT_EXTERN(int) git_blob_create_from_stream( + git_writestream **out, + git_repository *repo, + const char *hintpath); + +/** + * Close the stream and finalize writing the blob to the object database. + * + * The stream will be closed and freed. + * + * @param[out] out the id of the new blob + * @param stream the stream to close + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_stream_commit( + git_oid *out, + git_writestream *stream); + +/** + * Write an in-memory buffer to the object database as a blob. + * + * @param[out] id return the id of the written blob + * @param repo repository where the blob will be written + * @param buffer data to be written into the blob + * @param len length of the data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_buffer( + git_oid *id, git_repository *repo, const void *buffer, size_t len); + +/** + * Determine if the blob content is most likely binary or not. + * + * 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. + * + * @param blob The blob which content should be analyzed + * @return @type bool 1 if the content of the blob is detected + * as binary; 0 otherwise. + */ +GIT_EXTERN(int) git_blob_is_binary(const git_blob *blob); + +/** + * Determine if the given content is most certainly binary or not; + * this is the same mechanism used by `git_blob_is_binary` but only + * looking at raw data. + * + * @param data The blob data which content should be analyzed + * @param len The length of the data + * @return 1 if the content of the blob is detected + * as binary; 0 otherwise. + */ +GIT_EXTERN(int) git_blob_data_is_binary(const char *data, size_t len); + +/** + * Create an in-memory copy of a blob. The copy must be explicitly + * free'd or it will leak. + * + * @param[out] out Pointer to store the copy of the object + * @param source Original object to copy + * @return 0. + */ +GIT_EXTERN(int) git_blob_dup(git_blob **out, git_blob *source); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/branch.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/branch.h new file mode 100644 index 00000000..56d737d0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/branch.h @@ -0,0 +1,343 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_branch_h__ +#define INCLUDE_git_branch_h__ + +#include "common.h" +#include "oid.h" +#include "types.h" + +/** + * @file git2/branch.h + * @brief Branch creation and handling + * @defgroup git_branch Git branch management + * @ingroup Git + * + * A branch is a specific type of reference, at any particular time, + * a git working directory typically is said to have a branch "checked out", + * meaning that commits that are created will be made "on" a branch. + * This occurs by updating the branch reference to point to the new + * commit. The checked out branch is indicated by the `HEAD` meta-ref. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new branch pointing at a target commit + * + * A new direct reference will be created pointing to + * this target commit. If `force` is true and a reference + * already exists with the given name, it'll be replaced. + * + * The returned reference must be freed by the user. + * + * The branch name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param out Pointer where to store the underlying reference. + * @param repo the repository to create the branch in. + * @param branch_name Name for the branch; this name is + * validated for consistency. It should also not conflict with + * an already existing branch name. + * @param target Commit to which this branch should point. This object + * must belong to the given `repo`. + * @param force Overwrite existing branch. + * @return 0, GIT_EINVALIDSPEC or an error code. + * A proper reference is written in the refs/heads namespace + * pointing to the provided target commit. + */ +GIT_EXTERN(int) git_branch_create( + git_reference **out, + git_repository *repo, + const char *branch_name, + const git_commit *target, + int force); + +/** + * Create a new branch pointing at a target commit + * + * 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. + * + * @param ref_out Pointer where to store the underlying reference. + * @param repo the repository to create the branch in. + * @param branch_name Name for the branch; this name is + * validated for consistency. It should also not conflict with + * an already existing branch name. + * @param target Annotated commit to which this branch should point. This + * object must belong to the given `repo`. + * @param force Overwrite existing branch. + * @return 0, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_branch_create_from_annotated( + git_reference **ref_out, + git_repository *repo, + const char *branch_name, + const git_annotated_commit *target, + int force); + +/** + * Delete an existing branch reference. + * + * Note that if the deletion succeeds, the reference object will not + * be valid anymore, and should be freed immediately by the user using + * `git_reference_free()`. + * + * @param branch A valid reference representing a branch + * @return 0 on success, or an error code. + */ +GIT_EXTERN(int) git_branch_delete(git_reference *branch); + +/** Iterator type for branches */ +typedef struct git_branch_iterator git_branch_iterator; + +/** + * Create an iterator which loops over the requested branches. + * + * @param out the iterator + * @param repo Repository where to find the branches. + * @param list_flags Filtering flags for the branch + * listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE + * or GIT_BRANCH_ALL. + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_branch_iterator_new( + git_branch_iterator **out, + git_repository *repo, + git_branch_t list_flags); + +/** + * Retrieve the next branch from the iterator + * + * @param out the reference + * @param out_type the type of branch (local or remote-tracking) + * @param iter the branch iterator + * @return 0 on success, GIT_ITEROVER if there are no more branches or an error code. + */ +GIT_EXTERN(int) git_branch_next(git_reference **out, git_branch_t *out_type, git_branch_iterator *iter); + +/** + * Free a branch iterator + * + * @param iter the iterator to free + */ +GIT_EXTERN(void) git_branch_iterator_free(git_branch_iterator *iter); + +/** + * Move/rename an existing local branch reference. + * + * The new branch name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * Note that if the move succeeds, the old reference object will not + * be valid anymore, and should be freed immediately by the user using + * `git_reference_free()`. + * + * @param out New reference object for the updated name. + * + * @param branch Current underlying reference of the branch. + * + * @param new_branch_name Target name of the branch once the move + * is performed; this name is validated for consistency. + * + * @param force Overwrite existing branch. + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_branch_move( + git_reference **out, + git_reference *branch, + const char *new_branch_name, + int force); + +/** + * Lookup a branch by its name in a repository. + * + * The generated reference must be freed by the user. + * The branch name will be checked for validity. + * + * @see git_tag_create for rules about valid names. + * + * @param out pointer to the looked-up branch reference + * @param repo the repository to look up the branch + * @param branch_name Name of the branch to be looked-up; + * this name is validated for consistency. + * @param branch_type Type of the considered branch. This should + * be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE. + * + * @return 0 on success; GIT_ENOTFOUND when no matching branch + * exists, GIT_EINVALIDSPEC, otherwise an error code. + */ +GIT_EXTERN(int) git_branch_lookup( + git_reference **out, + git_repository *repo, + const char *branch_name, + git_branch_t branch_type); + +/** + * Get the branch name + * + * 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. + * + * @param out Pointer to the abbreviated reference name. + * Owned by ref, do not free. + * + * @param ref A reference object, ideally pointing to a branch + * + * @return 0 on success; GIT_EINVALID if the reference isn't either a local or + * remote branch, otherwise an error code. + */ +GIT_EXTERN(int) git_branch_name( + const char **out, + const git_reference *ref); + +/** + * Get the upstream of a branch + * + * Given a reference, this will return a new reference object corresponding + * to its remote tracking branch. The reference must be a local branch. + * + * @see git_branch_upstream_name for details on the resolution. + * + * @param out Pointer where to store the retrieved reference. + * @param branch Current underlying reference of the branch. + * + * @return 0 on success; GIT_ENOTFOUND when no remote tracking + * reference exists, otherwise an error code. + */ +GIT_EXTERN(int) git_branch_upstream( + git_reference **out, + const git_reference *branch); + +/** + * Set a branch's upstream branch + * + * 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. + * + * @note the actual tracking reference must have been already created for the + * operation to succeed. + * + * @param branch the branch to configure + * @param branch_name remote-tracking or local branch to set as upstream. + * + * @return @type git_error_t 0 on success; GIT_ENOTFOUND if there's no branch named `branch_name` + * or an error code + */ +GIT_EXTERN(int) git_branch_set_upstream( + git_reference *branch, + const char *branch_name); + +/** + * Get the upstream name of a branch + * + * Given a local branch, this will return its remote-tracking branch information, + * as a full reference name, ie. "feature/nice" would become + * "refs/remote/origin/feature/nice", depending on that branch's configuration. + * + * @param out the buffer into which the name will be written. + * @param repo the repository where the branches live. + * @param refname reference name of the local branch. + * + * @return 0 on success, GIT_ENOTFOUND when no remote tracking reference exists, + * or an error code. + */ +GIT_EXTERN(int) git_branch_upstream_name( + git_buf *out, + git_repository *repo, + const char *refname); + +/** + * Determine if HEAD points to the given branch + * + * @param branch A reference to a local branch. + * + * @return 1 if HEAD points at the branch, 0 if it isn't, or a negative value + * as an error code. + */ +GIT_EXTERN(int) git_branch_is_head( + const git_reference *branch); + +/** + * Determine if any HEAD points to the current branch + * + * This will iterate over all known linked repositories (usually in the form of + * worktrees) and report whether any HEAD is pointing at the current branch. + * + * @param branch A reference to a local branch. + * + * @return 1 if branch is checked out, 0 if it isn't, an error code otherwise. + */ +GIT_EXTERN(int) git_branch_is_checked_out( + const git_reference *branch); + +/** + * Find the remote name of a remote-tracking branch + * + * This will return the name of the remote whose fetch refspec is matching + * the given branch. E.g. given a branch "refs/remotes/test/master", it will + * extract the "test" part. If refspecs from multiple remotes match, + * the function will return GIT_EAMBIGUOUS. + * + * @param out The buffer into which the name will be written. + * @param repo The repository where the branch lives. + * @param refname complete name of the remote tracking branch. + * + * @return 0 on success, GIT_ENOTFOUND when no matching remote was found, + * GIT_EAMBIGUOUS when the branch maps to several remotes, + * otherwise an error code. + */ +GIT_EXTERN(int) git_branch_remote_name( + git_buf *out, + git_repository *repo, + const char *refname); + +/** + * Retrieve the upstream remote of a local branch + * + * This will return the currently configured "branch.*.remote" for a given + * branch. This branch must be local. + * + * @param buf the buffer into which to write the name + * @param repo the repository in which to look + * @param refname the full name of the branch + * @return 0 or an error code + */ + GIT_EXTERN(int) git_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *refname); + +/** + * Retrieve the upstream merge of a local branch + * + * This will return the currently configured "branch.*.merge" for a given + * branch. This branch must be local. + * + * @param buf the buffer into which to write the name + * @param repo the repository in which to look + * @param refname the full name of the branch + * @return 0 or an error code + */ + GIT_EXTERN(int) git_branch_upstream_merge(git_buf *buf, git_repository *repo, const char *refname); + +/** + * Determine whether a branch name is valid, meaning that (when prefixed + * with `refs/heads/`) that it is a valid reference name, and that any + * additional branch name restrictions are imposed (eg, it cannot start + * with a `-`). + * + * @param valid output pointer to set with validity of given branch name + * @param name a branch name to test + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_branch_name_is_valid(int *valid, const char *name); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/buffer.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/buffer.h new file mode 100644 index 00000000..3fe4f854 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/buffer.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_buf_h__ +#define INCLUDE_git_buf_h__ + +#include "common.h" + +/** + * @file git2/buffer.h + * @brief A data structure to return data to callers + * @ingroup Git + * + * The `git_buf` buffer is used to return arbitrary data - typically + * strings - to callers. Callers are responsible for freeing the memory + * in a buffer with the `git_buf_dispose` function. + * @{ + */ +GIT_BEGIN_DECL + +/** + * A data buffer for exporting data from libgit2 + * + * Sometimes libgit2 wants to return an allocated data buffer to the + * caller and have the caller take responsibility for freeing that memory. + * To make ownership clear in these cases, libgit2 uses `git_buf` to + * return this data. Callers should use `git_buf_dispose()` to release + * the memory when they are done. + * + * A `git_buf` contains a pointer to a NUL-terminated C string, and + * the length of the string (not including the NUL terminator). + */ +typedef struct { + /** + * The buffer contents. `ptr` points to the start of the buffer + * being returned. The buffer's length (in bytes) is specified + * by the `size` member of the structure, and contains a NUL + * terminator at position `(size + 1)`. + */ + char *ptr; + + /** + * This field is reserved and unused. + */ + size_t reserved; + + /** + * The length (in bytes) of the buffer pointed to by `ptr`, + * not including a NUL terminator. + */ + size_t size; +} git_buf; + +/** + * Use to initialize a `git_buf` before passing it to a function that + * will populate it. + */ +#define GIT_BUF_INIT { NULL, 0, 0 } + +/** + * Free the memory referred to by the git_buf. + * + * Note that this does not free the `git_buf` itself, just the memory + * pointed to by `buffer->ptr`. + * + * @param buffer The buffer to deallocate + */ +GIT_EXTERN(void) git_buf_dispose(git_buf *buffer); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cert.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cert.h new file mode 100644 index 00000000..7b91b638 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cert.h @@ -0,0 +1,173 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_cert_h__ +#define INCLUDE_git_cert_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/cert.h + * @brief TLS and SSH certificate handling + * @defgroup git_cert Certificate objects + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Type of host certificate structure that is passed to the check callback + */ +typedef enum git_cert_t { + /** + * No information about the certificate is available. This may + * happen when using curl. + */ + GIT_CERT_NONE, + /** + * The `data` argument to the callback will be a pointer to + * the DER-encoded data. + */ + GIT_CERT_X509, + /** + * The `data` argument to the callback will be a pointer to a + * `git_cert_hostkey` structure. + */ + GIT_CERT_HOSTKEY_LIBSSH2, + /** + * The `data` argument to the callback will be a pointer to a + * `git_strarray` with `name:content` strings containing + * information about the certificate. This is used when using + * curl. + */ + GIT_CERT_STRARRAY +} git_cert_t; + +/** + * Parent type for `git_cert_hostkey` and `git_cert_x509`. + */ +struct git_cert { + /** + * Type of certificate. A `GIT_CERT_` value. + */ + git_cert_t cert_type; +}; + +/** + * Callback for the user's custom certificate checks. + * + * @param cert The host certificate + * @param valid Whether the libgit2 checks (OpenSSL or WinHTTP) think + * this certificate is valid + * @param host Hostname of the host libgit2 connected to + * @param payload Payload provided by the caller + * @return 0 to proceed with the connection, < 0 to fail the connection + * or > 0 to indicate that the callback refused to act and that + * the existing validity determination should be honored + */ +typedef int GIT_CALLBACK(git_transport_certificate_check_cb)(git_cert *cert, int valid, const char *host, void *payload); + +/** + * Type of SSH host fingerprint + */ +typedef enum { + /** MD5 is available */ + GIT_CERT_SSH_MD5 = (1 << 0), + /** SHA-1 is available */ + GIT_CERT_SSH_SHA1 = (1 << 1), + /** SHA-256 is available */ + GIT_CERT_SSH_SHA256 = (1 << 2), + /** Raw hostkey is available */ + GIT_CERT_SSH_RAW = (1 << 3) +} git_cert_ssh_t; + +typedef enum { + /** The raw key is of an unknown type. */ + GIT_CERT_SSH_RAW_TYPE_UNKNOWN = 0, + /** The raw key is an RSA key. */ + GIT_CERT_SSH_RAW_TYPE_RSA = 1, + /** The raw key is a DSS key. */ + GIT_CERT_SSH_RAW_TYPE_DSS = 2, + /** The raw key is a ECDSA 256 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_256 = 3, + /** The raw key is a ECDSA 384 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_384 = 4, + /** The raw key is a ECDSA 521 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_521 = 5, + /** The raw key is a ED25519 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ED25519 = 6 +} git_cert_ssh_raw_type_t; + +/** + * Hostkey information taken from libssh2 + */ +typedef struct { + git_cert parent; /**< The parent cert */ + + /** + * A bitmask containing the available fields. + */ + git_cert_ssh_t type; + + /** + * Hostkey hash. If `type` has `GIT_CERT_SSH_MD5` set, this will + * have the MD5 hash of the hostkey. + */ + unsigned char hash_md5[16]; + + /** + * Hostkey hash. If `type` has `GIT_CERT_SSH_SHA1` set, this will + * have the SHA-1 hash of the hostkey. + */ + unsigned char hash_sha1[20]; + + /** + * Hostkey hash. If `type` has `GIT_CERT_SSH_SHA256` set, this will + * have the SHA-256 hash of the hostkey. + */ + unsigned char hash_sha256[32]; + + /** + * Raw hostkey type. If `type` has `GIT_CERT_SSH_RAW` set, this will + * have the type of the raw hostkey. + */ + git_cert_ssh_raw_type_t raw_type; + + /** + * Pointer to the raw hostkey. If `type` has `GIT_CERT_SSH_RAW` set, + * this will have the raw contents of the hostkey. + */ + const char *hostkey; + + /** + * Raw hostkey length. If `type` has `GIT_CERT_SSH_RAW` set, this will + * have the length of the raw contents of the hostkey. + */ + size_t hostkey_len; +} git_cert_hostkey; + +/** + * X.509 certificate information + */ +typedef struct { + git_cert parent; /**< The parent cert */ + + /** + * Pointer to the X.509 certificate data + */ + void *data; + + /** + * Length of the memory block pointed to by `data`. + */ + size_t len; +} git_cert_x509; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/checkout.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/checkout.h new file mode 100644 index 00000000..bdea9284 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/checkout.h @@ -0,0 +1,468 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_checkout_h__ +#define INCLUDE_git_checkout_h__ + +#include "common.h" +#include "types.h" +#include "diff.h" + +/** + * @file git2/checkout.h + * @brief Update the contents of the working directory + * @defgroup git_checkout Git checkout routines + * @ingroup Git + * + * Update the contents of the working directory, or a subset of the + * files in the working directory, to point to the data in the index + * or a specific commit. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Checkout behavior flags + * + * 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. + * + * 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. + * + * You give checkout one of two strategies for update: + * + * - `GIT_CHECKOUT_SAFE` is the default, and similar to git's default, + * which will make modifications that will not lose changes in the + * working directory. + * + * | target == baseline | target != baseline | + * ---------------------|-----------------------|----------------------| + * workdir == baseline | no action | create, update, or | + * | | delete file | + * ---------------------|-----------------------|----------------------| + * workdir exists and | no action | conflict (notify | + * is != baseline | notify dirty MODIFIED | and cancel checkout) | + * ---------------------|-----------------------|----------------------| + * workdir missing, | notify dirty DELETED | create file | + * baseline present | | | + * ---------------------|-----------------------|----------------------| + * + * - `GIT_CHECKOUT_FORCE` will take any action to make the working + * directory match the target (including potentially discarding + * modified files). + * + * 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. + * + * 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. + * + * To emulate `git checkout -f`, use `GIT_CHECKOUT_FORCE`. + * + * + * There are some additional flags to modify the behavior of checkout: + * + * - `GIT_CHECKOUT_DRY_RUN` is a dry-run strategy that checks for conflicts, + * etc., but doesn't make any actual changes. + * + * - GIT_CHECKOUT_ALLOW_CONFLICTS makes SAFE mode apply safe file updates + * even if there are conflicts (instead of cancelling the checkout). + * + * - GIT_CHECKOUT_REMOVE_UNTRACKED means remove untracked files (i.e. not + * in target, baseline, or index, and not ignored) from the working dir. + * + * - GIT_CHECKOUT_REMOVE_IGNORED means remove ignored files (that are also + * untracked) from the working directory as well. + * + * - GIT_CHECKOUT_UPDATE_ONLY means to only update the content of files that + * already exist. Files will not be created nor deleted. This just skips + * applying adds, deletes, and typechanges. + * + * - GIT_CHECKOUT_DONT_UPDATE_INDEX prevents checkout from writing the + * updated files' information to the index. + * + * - Normally, checkout will reload the index and git attributes from disk + * before any operations. GIT_CHECKOUT_NO_REFRESH prevents this reload. + * + * - Unmerged index entries are conflicts. GIT_CHECKOUT_SKIP_UNMERGED skips + * files with unmerged index entries instead. GIT_CHECKOUT_USE_OURS and + * GIT_CHECKOUT_USE_THEIRS to proceed with the checkout using either the + * stage 2 ("ours") or stage 3 ("theirs") version of files in the index. + * + * - GIT_CHECKOUT_DONT_OVERWRITE_IGNORED prevents ignored files from being + * overwritten. Normally, files that are ignored in the working directory + * are not considered "precious" and may be overwritten if the checkout + * target contains that file. + * + * - GIT_CHECKOUT_DONT_REMOVE_EXISTING prevents checkout from removing + * files or folders that fold to the same name on case insensitive + * filesystems. This can cause files to retain their existing names + * and write through existing symbolic links. + * + * @flags + */ +typedef enum { + /** + * Allow safe updates that cannot overwrite uncommitted data. + * If the uncommitted changes don't conflict with the checked + * out files, the checkout will still proceed, leaving the + * changes intact. + */ + GIT_CHECKOUT_SAFE = 0, + + /** + * Allow all updates to force working directory to look like + * the index, potentially losing data in the process. + */ + GIT_CHECKOUT_FORCE = (1u << 1), + + /** Allow checkout to recreate missing files */ + GIT_CHECKOUT_RECREATE_MISSING = (1u << 2), + + /** Allow checkout to make safe updates even if conflicts are found */ + GIT_CHECKOUT_ALLOW_CONFLICTS = (1u << 4), + + /** Remove untracked files not in index (that are not ignored) */ + GIT_CHECKOUT_REMOVE_UNTRACKED = (1u << 5), + + /** Remove ignored files not in index */ + GIT_CHECKOUT_REMOVE_IGNORED = (1u << 6), + + /** Only update existing files, don't create new ones */ + GIT_CHECKOUT_UPDATE_ONLY = (1u << 7), + + /** + * Normally checkout updates index entries as it goes; this stops that. + * Implies `GIT_CHECKOUT_DONT_WRITE_INDEX`. + */ + GIT_CHECKOUT_DONT_UPDATE_INDEX = (1u << 8), + + /** Don't refresh index/config/etc before doing checkout */ + GIT_CHECKOUT_NO_REFRESH = (1u << 9), + + /** Allow checkout to skip unmerged files */ + GIT_CHECKOUT_SKIP_UNMERGED = (1u << 10), + /** For unmerged files, checkout stage 2 from index */ + GIT_CHECKOUT_USE_OURS = (1u << 11), + /** For unmerged files, checkout stage 3 from index */ + GIT_CHECKOUT_USE_THEIRS = (1u << 12), + + /** Treat pathspec as simple list of exact match file paths */ + GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH = (1u << 13), + + /** Ignore directories in use, they will be left empty */ + GIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES = (1u << 18), + + /** Don't overwrite ignored files that exist in the checkout target */ + GIT_CHECKOUT_DONT_OVERWRITE_IGNORED = (1u << 19), + + /** Write normal merge files for conflicts */ + GIT_CHECKOUT_CONFLICT_STYLE_MERGE = (1u << 20), + + /** Include common ancestor data in diff3 format files for conflicts */ + GIT_CHECKOUT_CONFLICT_STYLE_DIFF3 = (1u << 21), + + /** Don't overwrite existing files or folders */ + GIT_CHECKOUT_DONT_REMOVE_EXISTING = (1u << 22), + + /** Normally checkout writes the index upon completion; this prevents that. */ + GIT_CHECKOUT_DONT_WRITE_INDEX = (1u << 23), + + /** + * Perform a "dry run", reporting what _would_ be done but + * without actually making changes in the working directory + * or the index. + */ + GIT_CHECKOUT_DRY_RUN = (1u << 24), + + /** Include common ancestor data in zdiff3 format for conflicts */ + GIT_CHECKOUT_CONFLICT_STYLE_ZDIFF3 = (1u << 25), + + /** + * Do not do a checkout and do not fire callbacks; this is primarily + * useful only for internal functions that will perform the + * checkout themselves but need to pass checkout options into + * another function, for example, `git_clone`. + */ + GIT_CHECKOUT_NONE = (1u << 30), + + /* + * THE FOLLOWING OPTIONS ARE NOT YET IMPLEMENTED + */ + + /** Recursively checkout submodules with same options (NOT IMPLEMENTED) */ + GIT_CHECKOUT_UPDATE_SUBMODULES = (1u << 16), + /** Recursively checkout submodules if HEAD moved in super repo (NOT IMPLEMENTED) */ + GIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED = (1u << 17) +} git_checkout_strategy_t; + +/** + * Checkout notification flags + * + * Checkout will invoke an options notification callback (`notify_cb`) for + * certain cases - you pick which ones via `notify_flags`: + * + * Returning a non-zero value from this callback will cancel the checkout. + * The non-zero return value will be propagated back and returned by the + * git_checkout_... call. + * + * Notification callbacks are made prior to modifying any files on disk, + * so canceling on any notification will still happen prior to any files + * being modified. + * + * @flags + */ +typedef enum { + GIT_CHECKOUT_NOTIFY_NONE = 0, + + /** + * Invokes checkout on conflicting paths. + */ + GIT_CHECKOUT_NOTIFY_CONFLICT = (1u << 0), + + /** + * Notifies about "dirty" files, i.e. those that do not need an update + * but no longer match the baseline. Core git displays these files when + * checkout runs, but won't stop the checkout. + */ + GIT_CHECKOUT_NOTIFY_DIRTY = (1u << 1), + + /** + * Sends notification for any file changed. + */ + GIT_CHECKOUT_NOTIFY_UPDATED = (1u << 2), + + /** + * Notifies about untracked files. + */ + GIT_CHECKOUT_NOTIFY_UNTRACKED = (1u << 3), + + /** + * Notifies about ignored files. + */ + GIT_CHECKOUT_NOTIFY_IGNORED = (1u << 4), + + GIT_CHECKOUT_NOTIFY_ALL = 0x0FFFFu +} git_checkout_notify_t; + +/** Checkout performance-reporting structure */ +typedef struct { + size_t mkdir_calls; + size_t stat_calls; + size_t chmod_calls; +} git_checkout_perfdata; + +/** + * Checkout notification callback function. + * + * @param why the notification reason + * @param path the path to the file being checked out + * @param baseline the baseline's diff file information + * @param target the checkout target diff file information + * @param workdir the working directory diff file information + * @param payload the user-supplied callback payload + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_checkout_notify_cb)( + 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); + +/** + * Checkout progress notification function. + * + * @param path the path to the file being checked out + * @param completed_steps number of checkout steps completed + * @param total_steps number of total steps in the checkout process + * @param payload the user-supplied callback payload + */ +typedef void GIT_CALLBACK(git_checkout_progress_cb)( + const char *path, + size_t completed_steps, + size_t total_steps, + void *payload); + +/** + * Checkout performance data reporting function. + * + * @param perfdata the performance data for the checkout + * @param payload the user-supplied callback payload + */ +typedef void GIT_CALLBACK(git_checkout_perfdata_cb)( + const git_checkout_perfdata *perfdata, + void *payload); + +/** + * Checkout options structure + * + * Initialize with `GIT_CHECKOUT_OPTIONS_INIT`. Alternatively, you can + * use `git_checkout_options_init`. + * + * @options[version] GIT_CHECKOUT_OPTIONS_VERSION + * @options[init_macro] GIT_CHECKOUT_OPTIONS_INIT + * @options[init_function] git_checkout_options_init + */ +typedef struct git_checkout_options { + unsigned int version; /**< The version */ + + /** + * Checkout strategy. Default is a safe checkout. + * + * @type[flags] git_checkout_strategy_t + */ + unsigned int checkout_strategy; /**< default will be a safe checkout */ + + int disable_filters; /**< don't apply filters like CRLF conversion */ + unsigned int dir_mode; /**< default is 0755 */ + unsigned int file_mode; /**< default is 0644 or 0755 as dictated by blob */ + int file_open_flags; /**< default is O_CREAT | O_TRUNC | O_WRONLY */ + + /** + * Checkout notification flags specify what operations the notify + * callback is invoked for. + * + * @type[flags] git_checkout_notify_t + */ + unsigned int notify_flags; + + /** + * Optional callback to get notifications on specific file states. + * @see git_checkout_notify_t + */ + git_checkout_notify_cb notify_cb; + + /** Payload passed to notify_cb */ + void *notify_payload; + + /** Optional callback to notify the consumer of checkout progress. */ + git_checkout_progress_cb progress_cb; + + /** Payload passed to progress_cb */ + void *progress_payload; + + /** + * A list of wildmatch patterns or paths. + * + * By default, all paths are processed. If you pass an array of wildmatch + * patterns, those will be used to filter which paths should be taken into + * account. + * + * Use GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH to treat as a simple list. + */ + git_strarray paths; + + /** + * The expected content of the working directory; defaults to HEAD. + * + * If the working directory does not match this baseline information, + * that will produce a checkout conflict. + */ + git_tree *baseline; + + /** + * Like `baseline` above, though expressed as an index. This + * option overrides `baseline`. + */ + git_index *baseline_index; + + const char *target_directory; /**< alternative checkout path to workdir */ + + const char *ancestor_label; /**< the name of the common ancestor side of conflicts */ + const char *our_label; /**< the name of the "our" side of conflicts */ + const char *their_label; /**< the name of the "their" side of conflicts */ + + /** Optional callback to notify the consumer of performance data. */ + git_checkout_perfdata_cb perfdata_cb; + + /** Payload passed to perfdata_cb */ + void *perfdata_payload; +} git_checkout_options; + + +/** Current version for the `git_checkout_options` structure */ +#define GIT_CHECKOUT_OPTIONS_VERSION 1 + +/** Static constructor for `git_checkout_options` */ +#define GIT_CHECKOUT_OPTIONS_INIT { GIT_CHECKOUT_OPTIONS_VERSION } + +/** + * Initialize git_checkout_options structure + * + * Initializes a `git_checkout_options` with default values. Equivalent to creating + * an instance with GIT_CHECKOUT_OPTIONS_INIT. + * + * @param opts The `git_checkout_options` struct to initialize. + * @param version The struct version; pass `GIT_CHECKOUT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_checkout_options_init( + git_checkout_options *opts, + unsigned int version); + +/** + * Updates files in the index and the working tree to match the content of + * the commit pointed at by HEAD. + * + * Note that this is _not_ the correct mechanism used to switch branches; + * do not change your `HEAD` and then call this method, that would leave + * you with checkout conflicts since your working directory would then + * appear to be dirty. Instead, checkout the target of the branch and + * then update `HEAD` using `git_repository_set_head` to point to the + * branch you checked out. + * + * @param repo repository to check out (must be non-bare) + * @param opts specifies checkout options (may be NULL) + * @return 0 on success, GIT_EUNBORNBRANCH if HEAD points to a non + * existing branch, non-zero value returned by `notify_cb`, or + * other error code < 0 (use git_error_last for error details) + */ +GIT_EXTERN(int) git_checkout_head( + git_repository *repo, + const git_checkout_options *opts); + +/** + * Updates files in the working tree to match the content of the index. + * + * @param repo repository into which to check out (must be non-bare) + * @param index index to be checked out (or NULL to use repository index) + * @param opts specifies checkout options (may be NULL) + * @return 0 on success, non-zero return value from `notify_cb`, or error + * code < 0 (use git_error_last for error details) + */ +GIT_EXTERN(int) git_checkout_index( + git_repository *repo, + git_index *index, + const git_checkout_options *opts); + +/** + * Updates files in the index and working tree to match the content of the + * tree pointed at by the treeish. + * + * @param repo repository to check out (must be non-bare) + * @param treeish a commit, tag or tree which content will be used to update + * the working directory (or NULL to use HEAD) + * @param opts specifies checkout options (may be NULL) + * @return 0 on success, non-zero return value from `notify_cb`, or error + * code < 0 (use git_error_last for error details) + */ +GIT_EXTERN(int) git_checkout_tree( + git_repository *repo, + const git_object *treeish, + const git_checkout_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cherrypick.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cherrypick.h new file mode 100644 index 00000000..e6cf99ea --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cherrypick.h @@ -0,0 +1,99 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_cherrypick_h__ +#define INCLUDE_git_cherrypick_h__ + +#include "common.h" +#include "types.h" +#include "merge.h" + +/** + * @file git2/cherrypick.h + * @brief Cherry-pick the contents of an individual commit + * @defgroup git_cherrypick Git cherry-pick routines + * @ingroup Git + * + * "Cherry-pick" will attempts to re-apply the changes in an + * individual commit to the current index and working directory. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Cherry-pick options + */ +typedef struct { + unsigned int version; + + /** For merge commits, the "mainline" is treated as the parent. */ + unsigned int mainline; + + git_merge_options merge_opts; /**< Options for the merging */ + git_checkout_options checkout_opts; /**< Options for the checkout */ +} git_cherrypick_options; + +/** Current version for the `git_cherrypick_options` structure */ +#define GIT_CHERRYPICK_OPTIONS_VERSION 1 + +/** Static constructor for `git_cherrypick_options` */ +#define GIT_CHERRYPICK_OPTIONS_INIT { \ + GIT_CHERRYPICK_OPTIONS_VERSION, 0, \ + GIT_MERGE_OPTIONS_INIT, GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_cherrypick_options structure + * + * Initializes a `git_cherrypick_options` with default values. Equivalent to creating + * an instance with GIT_CHERRYPICK_OPTIONS_INIT. + * + * @param opts The `git_cherrypick_options` struct to initialize. + * @param version The struct version; pass `GIT_CHERRYPICK_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_cherrypick_options_init( + git_cherrypick_options *opts, + unsigned int version); + +/** + * Cherry-picks the given commit against the given "our" commit, producing an + * index that reflects the result of the cherry-pick. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo the repository that contains the given commits + * @param cherrypick_commit the commit to cherry-pick + * @param our_commit the commit to cherry-pick against (eg, HEAD) + * @param mainline the parent of the `cherrypick_commit`, if it is a merge + * @param merge_options the merge options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_cherrypick_commit( + git_index **out, + git_repository *repo, + git_commit *cherrypick_commit, + git_commit *our_commit, + unsigned int mainline, + const git_merge_options *merge_options); + +/** + * Cherry-pick the given commit, producing changes in the index and working directory. + * + * @param repo the repository to cherry-pick + * @param commit the commit to cherry-pick + * @param cherrypick_options the cherry-pick options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_cherrypick( + git_repository *repo, + git_commit *commit, + const git_cherrypick_options *cherrypick_options); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/clone.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/clone.h new file mode 100644 index 00000000..b7a47ab4 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/clone.h @@ -0,0 +1,225 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_clone_h__ +#define INCLUDE_git_clone_h__ + +#include "common.h" +#include "types.h" +#include "indexer.h" +#include "checkout.h" +#include "remote.h" +#include "transport.h" + + +/** + * @file git2/clone.h + * @brief Clone a remote repository to the local disk + * @defgroup git_clone Git cloning routines + * @ingroup Git + * + * Clone will take a remote repository - located on a remote server + * accessible by HTTPS or SSH, or a repository located elsewhere on + * the local disk - and place a copy in the given local path. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options for bypassing the git-aware transport on clone. Bypassing + * it means that instead of a fetch, libgit2 will copy the object + * database directory instead of figuring out what it needs, which is + * faster. If possible, it will hardlink the files to save space. + */ +typedef enum { + /** + * Auto-detect (default), libgit2 will bypass the git-aware + * transport for local paths, but use a normal fetch for + * `file://` urls. + */ + GIT_CLONE_LOCAL_AUTO, + /** + * Bypass the git-aware transport even for a `file://` url. + */ + GIT_CLONE_LOCAL, + /** + * Do no bypass the git-aware transport + */ + GIT_CLONE_NO_LOCAL, + /** + * Bypass the git-aware transport, but do not try to use + * hardlinks. + */ + GIT_CLONE_LOCAL_NO_LINKS +} git_clone_local_t; + +/** + * The signature of a function matching git_remote_create, with an additional + * void* as a callback payload. + * + * Callers of git_clone may provide a function matching this signature to override + * the remote creation and customization process during a clone operation. + * + * @param[out] out the resulting remote + * @param repo the repository in which to create the remote + * @param name the remote's name + * @param url the remote's url + * @param payload an opaque payload + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +typedef int GIT_CALLBACK(git_remote_create_cb)( + git_remote **out, + git_repository *repo, + const char *name, + const char *url, + void *payload); + +/** + * The signature of a function matching git_repository_init, with an + * additional void * as callback payload. + * + * Callers of git_clone my provide a function matching this signature + * to override the repository creation and customization process + * during a clone operation. + * + * @param[out] out the resulting repository + * @param path path in which to create the repository + * @param bare whether the repository is bare. This is the value from the clone options + * @param payload payload specified by the options + * @return 0, or a negative value to indicate error + */ +typedef int GIT_CALLBACK(git_repository_create_cb)( + git_repository **out, + const char *path, + int bare, + void *payload); + +/** + * Clone options structure + * + * Initialize with `GIT_CLONE_OPTIONS_INIT`. Alternatively, you can + * use `git_clone_options_init`. + * + * @options[version] GIT_CLONE_OPTIONS_VERSION + * @options[init_macro] GIT_CLONE_OPTIONS_INIT + * @options[init_function] git_clone_options_init + */ +typedef struct git_clone_options { + unsigned int version; + + /** + * These options are passed to the checkout step. To disable + * checkout, set the `checkout_strategy` to `GIT_CHECKOUT_NONE` + * or `GIT_CHECKOUT_DRY_RUN`. + */ + git_checkout_options checkout_opts; + + /** + * Options which control the fetch, including callbacks. + * + * The callbacks are used for reporting fetch progress, and for acquiring + * credentials in the event they are needed. + */ + git_fetch_options fetch_opts; + + /** + * Set to zero (false) to create a standard repo, or non-zero + * for a bare repo + */ + int bare; + + /** + * Whether to use a fetch or copy the object database. + */ + git_clone_local_t local; + + /** + * The name of the branch to checkout. NULL means use the + * remote's default branch. + */ + const char *checkout_branch; + + /** + * A callback used to create the new repository into which to + * clone. If NULL, the 'bare' field will be used to determine + * whether to create a bare repository. + */ + git_repository_create_cb repository_cb; + + /** + * An opaque payload to pass to the git_repository creation callback. + * This parameter is ignored unless repository_cb is non-NULL. + */ + void *repository_cb_payload; + + /** + * A callback used to create the git_remote, prior to its being + * used to perform the clone operation. See the documentation for + * git_remote_create_cb for details. This parameter may be NULL, + * indicating that git_clone should provide default behavior. + */ + git_remote_create_cb remote_cb; + + /** + * An opaque payload to pass to the git_remote creation callback. + * This parameter is ignored unless remote_cb is non-NULL. + */ + void *remote_cb_payload; +} git_clone_options; + +/** Current version for the `git_clone_options` structure */ +#define GIT_CLONE_OPTIONS_VERSION 1 + +/** Static constructor for `git_clone_options` */ +#define GIT_CLONE_OPTIONS_INIT \ + { GIT_CLONE_OPTIONS_VERSION, \ + GIT_CHECKOUT_OPTIONS_INIT, \ + GIT_FETCH_OPTIONS_INIT } + +/** + * Initialize git_clone_options structure + * + * Initializes a `git_clone_options` with default values. Equivalent to creating + * an instance with GIT_CLONE_OPTIONS_INIT. + * + * @param opts The `git_clone_options` struct to initialize. + * @param version The struct version; pass `GIT_CLONE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_clone_options_init( + git_clone_options *opts, + unsigned int version); + +/** + * Clone a remote repository. + * + * 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. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out pointer that will receive the resulting repository object + * @param url the remote repository to clone + * @param local_path local directory to clone to + * @param options configuration options for the clone. If NULL, the + * function works as though GIT_OPTIONS_INIT were passed. + * @return 0 on success, any non-zero return value from a callback + * function, or a negative value to indicate an error (use + * `git_error_last` for a detailed error message) + */ +GIT_EXTERN(int) git_clone( + git_repository **out, + const char *url, + const char *local_path, + const git_clone_options *options); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/commit.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/commit.h new file mode 100644 index 00000000..b998e188 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/commit.h @@ -0,0 +1,675 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_commit_h__ +#define INCLUDE_git_commit_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" + +/** + * @file git2/commit.h + * @brief A representation of a set of changes in the repository + * @defgroup git_commit Git commit parsing, formatting routines + * @ingroup Git + * + * A commit represents a set of changes made to the files within a + * repository, and metadata about who made the changes, and when the + * changes were made. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a commit object from a repository. + * + * The returned object should be released with `git_commit_free` when no + * longer needed. + * + * @param commit pointer to the looked up commit + * @param repo the repo to use when locating the commit. + * @param id identity of the commit to locate. If the object is + * an annotated tag it will be peeled back to the commit. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_lookup( + git_commit **commit, git_repository *repo, const git_oid *id); + +/** + * Lookup a commit object from a repository, given a prefix of its + * identifier (short id). + * + * The returned object should be released with `git_commit_free` when no + * longer needed. + * + * @see git_object_lookup_prefix + * + * @param commit pointer to the looked up commit + * @param repo the repo to use when locating the commit. + * @param id identity of the commit to locate. If the object is + * an annotated tag it will be peeled back to the commit. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_lookup_prefix( + git_commit **commit, git_repository *repo, const git_oid *id, size_t len); + +/** + * Close an open commit + * + * This is a wrapper around git_object_free() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a commit. Failure to do so will cause a memory leak. + * + * @param commit the commit to close + */ + +GIT_EXTERN(void) git_commit_free(git_commit *commit); + +/** + * Get the id of a commit. + * + * @param commit a previously loaded commit. + * @return object identity for the commit. + */ +GIT_EXTERN(const git_oid *) git_commit_id(const git_commit *commit); + +/** + * Get the repository that contains the commit. + * + * @param commit A previously loaded commit. + * @return Repository that contains this commit. + */ +GIT_EXTERN(git_repository *) git_commit_owner(const git_commit *commit); + +/** + * Get the encoding for the message of a commit, + * as a string representing a standard encoding name. + * + * The encoding may be NULL if the `encoding` header + * in the commit is missing; in that case UTF-8 is assumed. + * + * @param commit a previously loaded commit. + * @return NULL, or the encoding + */ +GIT_EXTERN(const char *) git_commit_message_encoding(const git_commit *commit); + +/** + * Get the full message of a commit. + * + * The returned message will be slightly prettified by removing any + * potential leading newlines. + * + * @param commit a previously loaded commit. + * @return the message of a commit + */ +GIT_EXTERN(const char *) git_commit_message(const git_commit *commit); + +/** + * Get the full raw message of a commit. + * + * @param commit a previously loaded commit. + * @return the raw message of a commit + */ +GIT_EXTERN(const char *) git_commit_message_raw(const git_commit *commit); + +/** + * Get the short "summary" of the git commit message. + * + * The returned message is the summary of the commit, comprising the + * first paragraph of the message with whitespace trimmed and squashed. + * + * @param commit a previously loaded commit. + * @return the summary of a commit or NULL on error + */ +GIT_EXTERN(const char *) git_commit_summary(git_commit *commit); + +/** + * Get the long "body" of the git commit message. + * + * The returned message is the body of the commit, comprising + * everything but the first paragraph of the message. Leading and + * trailing whitespaces are trimmed. + * + * @param commit a previously loaded commit. + * @return the body of a commit or NULL when no the message only + * consists of a summary + */ +GIT_EXTERN(const char *) git_commit_body(git_commit *commit); + +/** + * Get the commit time (i.e. committer time) of a commit. + * + * @param commit a previously loaded commit. + * @return the time of a commit + */ +GIT_EXTERN(git_time_t) git_commit_time(const git_commit *commit); + +/** + * Get the commit timezone offset (i.e. committer's preferred timezone) of a commit. + * + * @param commit a previously loaded commit. + * @return positive or negative timezone offset, in minutes from UTC + */ +GIT_EXTERN(int) git_commit_time_offset(const git_commit *commit); + +/** + * Get the committer of a commit. + * + * @param commit a previously loaded commit. + * @return the committer of a commit + */ +GIT_EXTERN(const git_signature *) git_commit_committer(const git_commit *commit); + +/** + * Get the author of a commit. + * + * @param commit a previously loaded commit. + * @return the author of a commit + */ +GIT_EXTERN(const git_signature *) git_commit_author(const git_commit *commit); + +/** + * Get the committer of a commit, using the mailmap to map names and email + * addresses to canonical real names and email addresses. + * + * Call `git_signature_free` to free the signature. + * + * @param out a pointer to store the resolved signature. + * @param commit a previously loaded commit. + * @param mailmap the mailmap to resolve with. (may be NULL) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_committer_with_mailmap( + git_signature **out, const git_commit *commit, const git_mailmap *mailmap); + +/** + * Get the author of a commit, using the mailmap to map names and email + * addresses to canonical real names and email addresses. + * + * Call `git_signature_free` to free the signature. + * + * @param out a pointer to store the resolved signature. + * @param commit a previously loaded commit. + * @param mailmap the mailmap to resolve with. (may be NULL) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_author_with_mailmap( + git_signature **out, const git_commit *commit, const git_mailmap *mailmap); + +/** + * Get the full raw text of the commit header. + * + * @param commit a previously loaded commit + * @return the header text of the commit + */ +GIT_EXTERN(const char *) git_commit_raw_header(const git_commit *commit); + +/** + * Get the tree pointed to by a commit. + * + * @param tree_out pointer where to store the tree object + * @param commit a previously loaded commit. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_tree(git_tree **tree_out, const git_commit *commit); + +/** + * Get the id of the tree pointed to by a commit. This differs from + * `git_commit_tree` in that no attempts are made to fetch an object + * from the ODB. + * + * @param commit a previously loaded commit. + * @return the id of tree pointed to by commit. + */ +GIT_EXTERN(const git_oid *) git_commit_tree_id(const git_commit *commit); + +/** + * Get the number of parents of this commit + * + * @param commit a previously loaded commit. + * @return integer of count of parents + */ +GIT_EXTERN(unsigned int) git_commit_parentcount(const git_commit *commit); + +/** + * Get the specified parent of the commit. + * + * @param out Pointer where to store the parent commit + * @param commit a previously loaded commit. + * @param n the position of the parent (from 0 to `parentcount`) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_parent( + git_commit **out, + const git_commit *commit, + unsigned int n); + +/** + * Get the oid of a specified parent for a commit. This is different from + * `git_commit_parent`, which will attempt to load the parent commit from + * the ODB. + * + * @param commit a previously loaded commit. + * @param n the position of the parent (from 0 to `parentcount`) + * @return the id of the parent, NULL on error. + */ +GIT_EXTERN(const git_oid *) git_commit_parent_id( + const git_commit *commit, + unsigned int n); + +/** + * Get the commit object that is the th generation ancestor + * of the named commit object, following only the first parents. + * The returned commit has to be freed by the caller. + * + * Passing `0` as the generation number returns another instance of the + * base commit itself. + * + * @param ancestor Pointer where to store the ancestor commit + * @param commit a previously loaded commit. + * @param n the requested generation + * @return 0 on success; GIT_ENOTFOUND if no matching ancestor exists + * or an error code + */ +GIT_EXTERN(int) git_commit_nth_gen_ancestor( + git_commit **ancestor, + const git_commit *commit, + unsigned int n); + +/** + * Get an arbitrary header field + * + * @param out the buffer to fill; existing content will be + * overwritten + * @param commit the commit to look in + * @param field the header field to return + * @return 0 on succeess, GIT_ENOTFOUND if the field does not exist, + * or an error code + */ +GIT_EXTERN(int) git_commit_header_field(git_buf *out, const git_commit *commit, const char *field); + +/** + * Extract the signature from a commit + * + * If the id is not for a commit, the error class will be + * `GIT_ERROR_INVALID`. If the commit does not have a signature, the + * error class will be `GIT_ERROR_OBJECT`. + * + * @param signature the signature block; existing content will be + * overwritten + * @param signed_data signed data; this is the commit contents minus the signature block; + * existing content will be overwritten + * @param repo the repository in which the commit exists + * @param commit_id the commit from which to extract the data + * @param field the name of the header field containing the signature + * block; pass `NULL` to extract the default 'gpgsig' + * @return 0 on success, GIT_ENOTFOUND if the id is not for a commit + * or the commit does not have a signature. + */ +GIT_EXTERN(int) git_commit_extract_signature(git_buf *signature, git_buf *signed_data, git_repository *repo, git_oid *commit_id, const char *field); + +/** + * Create new commit in the repository from a list of `git_object` pointers + * + * The message will **not** be cleaned up automatically. You can do that + * with the `git_message_prettify()` function. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @param parents Array of `parent_count` pointers to `git_commit` + * objects that will be used as the parents for this commit. This + * array may be NULL if `parent_count` is 0 (root commit). All the + * given commits must be owned by the `repo`. + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create( + 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, + const git_commit *parents[]); + +/** + * Create new commit in the repository using a variable argument list. + * + * The message will **not** be cleaned up automatically. You can do that + * with the `git_message_prettify()` function. + * + * 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 + * + * All other parameters remain the same as `git_commit_create()`. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create_v( + 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, + ...); + +typedef struct { + unsigned int version; + + /** + * Flags for creating the commit. + * + * If `allow_empty_commit` is specified, a commit with no changes + * from the prior commit (and "empty" commit) is allowed. Otherwise, + * commit creation will be stopped. + */ + unsigned int allow_empty_commit : 1; + + /** The commit author, or NULL for the default. */ + const git_signature *author; + + /** The committer, or NULL for the default. */ + const git_signature *committer; + + /** Encoding for the commit message; leave NULL for default. */ + const char *message_encoding; +} git_commit_create_options; + +/** Current version for the `git_commit_create_options` structure */ +#define GIT_COMMIT_CREATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_commit_create_options` */ +#define GIT_COMMIT_CREATE_OPTIONS_INIT { GIT_COMMIT_CREATE_OPTIONS_VERSION } + +/** + * Commits the staged changes in the repository; this is a near analog to + * `git commit -m message`. + * + * By default, empty commits are not allowed. + * + * @param id pointer to store the new commit's object id + * @param repo repository to commit changes in + * @param message the commit message + * @param opts options for creating the commit + * @return 0 on success, GIT_EUNCHANGED if there were no changes to commit, or an error code + */ +GIT_EXTERN(int) git_commit_create_from_stage( + git_oid *id, + git_repository *repo, + const char *message, + const git_commit_create_options *opts); + +/** + * Amend an existing commit by replacing only non-NULL values. + * + * 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. + * + * 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. + * + * 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`. + * + * All parameters have the same meanings as in `git_commit_create()`. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param commit_to_amend The commit to amend + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_amend( + 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); + +/** + * Create a commit and write it into a buffer + * + * Create a commit as with `git_commit_create()` but instead of + * writing it to the objectdb, write the contents of the object into a + * buffer. + * + * @param out the buffer into which to write the commit object content + * + * @param repo Repository where the referenced tree and parents live + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @param parents Array of `parent_count` pointers to `git_commit` + * objects that will be used as the parents for this commit. This + * array may be NULL if `parent_count` is 0 (root commit). All the + * given commits must be owned by the `repo`. + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_create_buffer( + git_buf *out, + git_repository *repo, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message, + const git_tree *tree, + size_t parent_count, + const git_commit *parents[]); + +/** + * Create a commit object from the given buffer and signature + * + * Given the unsigned commit object's contents, its signature and the + * header field in which to store the signature, attach the signature + * to the commit and write it into the given repository. + * + * @param out the resulting commit id + * @param repo the repository to create the commit in. + * @param commit_content the content of the unsigned commit object + * @param signature the signature to add to the commit. Leave `NULL` + * to create a commit without adding a signature field. + * @param signature_field which header field should contain this + * signature. Leave `NULL` for the default of "gpgsig" + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_create_with_signature( + git_oid *out, + git_repository *repo, + const char *commit_content, + const char *signature, + const char *signature_field); + +/** + * Create an in-memory copy of a commit. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the commit + * @param source Original commit to copy + * @return 0 + */ +GIT_EXTERN(int) git_commit_dup(git_commit **out, git_commit *source); + +/** + * Commit creation callback: used when a function is going to create + * commits (for example, in `git_rebase_commit`) to allow callers to + * override the commit creation behavior. For example, users may + * wish to sign commits by providing this information to + * `git_commit_create_buffer`, signing that buffer, then calling + * `git_commit_create_with_signature`. The resultant commit id + * should be set in the `out` object id parameter. + * + * @param out pointer that this callback will populate with the object + * id of the commit that is created + * @param author the author name and time of the commit + * @param committer the committer name and time of the commit + * @param message_encoding the encoding of the given message, or NULL + * to assume UTF8 + * @param message the commit message + * @param tree the tree to be committed + * @param parent_count the number of parents for this commit + * @param parents the commit parents + * @param payload the payload pointer in the rebase options + * @return 0 if this callback has created the commit and populated the out + * parameter, GIT_PASSTHROUGH if the callback has not created a + * commit and wants the calling function to create the commit as + * if no callback had been specified, any other value to stop + * and return a failure + */ +typedef int (*git_commit_create_cb)( + git_oid *out, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message, + const git_tree *tree, + size_t parent_count, + const git_commit *parents[], + void *payload); + +/** An array of commits returned from the library */ +typedef struct git_commitarray { + git_commit *const *commits; + size_t count; +} git_commitarray; + +/** + * Free the commits contained in a commit array. This method should + * be called on `git_commitarray` objects that were provided by the + * library. Not doing so will result in a memory leak. + * + * This does not free the `git_commitarray` itself, since the library + * will never allocate that object directly itself. + * + * @param array The git_commitarray that contains commits to free + */ +GIT_EXTERN(void) git_commitarray_dispose(git_commitarray *array); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/common.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/common.h new file mode 100644 index 00000000..40a3903c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/common.h @@ -0,0 +1,574 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_common_h__ +#define INCLUDE_git_common_h__ + +#include +#include + +#ifdef __cplusplus + /** Start declarations in C mode for C++ compatibility */ +# define GIT_BEGIN_DECL extern "C" { + /** End declarations in C mode */ +# define GIT_END_DECL } +#else + /** Start declarations in C mode */ +# define GIT_BEGIN_DECL /* empty */ + /** End declarations in C mode */ +# define GIT_END_DECL /* empty */ +#endif + +#if defined(_MSC_VER) && _MSC_VER < 1800 +# include +#elif !defined(__CLANG_INTTYPES_H) +# include +#endif + +#ifdef DOCURIUM +/* + * This is so clang's doc parser acknowledges comments on functions + * with size_t parameters. + */ +typedef size_t size_t; +#endif + +/** Declare a public function exported for application use. */ +#if __GNUC__ >= 4 +# define GIT_EXTERN(type) extern \ + __attribute__((visibility("default"))) \ + type +#elif defined(_MSC_VER) +# define GIT_EXTERN(type) __declspec(dllexport) type __cdecl +#else +# define GIT_EXTERN(type) extern type +#endif + +/** Declare a callback function for application use. */ +#if defined(_MSC_VER) +# define GIT_CALLBACK(name) (__cdecl *name) +#else +# define GIT_CALLBACK(name) (*name) +#endif + +/** Declare a function as deprecated. */ +#if defined(__GNUC__) +# define GIT_DEPRECATED(func) \ + __attribute__((deprecated)) \ + __attribute__((used)) \ + func +#elif defined(_MSC_VER) +# define GIT_DEPRECATED(func) __declspec(deprecated) func +#else +# define GIT_DEPRECATED(func) func +#endif + +/** Declare a function's takes printf style arguments. */ +#ifdef __GNUC__ +# define GIT_FORMAT_PRINTF(a,b) __attribute__((format (printf, a, b))) +#else +# define GIT_FORMAT_PRINTF(a,b) /* empty */ +#endif + +#ifdef __amigaos4__ +#include +#endif + +/** + * @file git2/common.h + * @brief Base platform functionality + * @defgroup git_common Git common platform definitions + * @ingroup Git + * + * Common platform functionality including introspecting libgit2 + * itself - information like how it was built, and the current + * running version. + * @{ + */ + +GIT_BEGIN_DECL + +/** + * The separator used in path list strings (ie like in the PATH + * environment variable). A semi-colon ";" is used on Windows and + * AmigaOS, and a colon ":" for all other systems. + */ +#if (defined(_WIN32) && !defined(__CYGWIN__)) || defined(AMIGA) +# define GIT_PATH_LIST_SEPARATOR ';' +#else +# define GIT_PATH_LIST_SEPARATOR ':' +#endif + +/** + * The maximum length of a valid git path. + */ +#define GIT_PATH_MAX 4096 + +/** + * Return the version of the libgit2 library + * being currently used. + * + * @param major Store the major version number + * @param minor Store the minor version number + * @param rev Store the revision (patch) number + * @return 0 on success or an error code on failure + */ +GIT_EXTERN(int) git_libgit2_version(int *major, int *minor, int *rev); + +/** + * Return the prerelease state of the libgit2 library currently being + * used. For nightly builds during active development, this will be + * "alpha". Releases may have a "beta" or release candidate ("rc1", + * "rc2", etc) prerelease. For a final release, this function returns + * NULL. + * + * @return the name of the prerelease state or NULL + */ +GIT_EXTERN(const char *) git_libgit2_prerelease(void); + +/** + * Configurable features of libgit2; either optional settings (like + * threading), or features that can be enabled by one of a number of + * different backend "providers" (like HTTPS, which can be provided by + * OpenSSL, mbedTLS, or system libraries). + */ +typedef enum { + /** + * libgit2 is thread-aware and can be used from multiple threads + * (as described in the documentation). + */ + GIT_FEATURE_THREADS = (1 << 0), + + /** HTTPS remotes */ + GIT_FEATURE_HTTPS = (1 << 1), + + /** SSH remotes */ + GIT_FEATURE_SSH = (1 << 2), + + /** Sub-second resolution in index timestamps */ + GIT_FEATURE_NSEC = (1 << 3), + + /** HTTP parsing; always available */ + GIT_FEATURE_HTTP_PARSER = (1 << 4), + + /** Regular expression support; always available */ + GIT_FEATURE_REGEX = (1 << 5), + + /** Internationalization support for filename translation */ + GIT_FEATURE_I18N = (1 << 6), + + /** NTLM support over HTTPS */ + GIT_FEATURE_AUTH_NTLM = (1 << 7), + + /** Kerberos (SPNEGO) authentication support over HTTPS */ + GIT_FEATURE_AUTH_NEGOTIATE = (1 << 8), + + /** zlib support; always available */ + GIT_FEATURE_COMPRESSION = (1 << 9), + + /** SHA1 object support; always available */ + GIT_FEATURE_SHA1 = (1 << 10), + + /** SHA256 object support */ + GIT_FEATURE_SHA256 = (1 << 11) +} git_feature_t; + +/** + * Query compile time options for libgit2. + * + * @return A combination of GIT_FEATURE_* values. + */ +GIT_EXTERN(int) git_libgit2_features(void); + +/** + * Query the backend details for the compile-time feature in libgit2. + * + * 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. + * + * 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. + * + * If the feature is not supported by the library, this API returns + * `NULL`. + * + * @param feature the feature to query details for + * @return the provider details, or NULL if the feature is not supported + */ +GIT_EXTERN(const char *) git_libgit2_feature_backend( + git_feature_t feature); + +/** + * Global library options + * + * These are used to select which global option to set or get and are + * used in `git_libgit2_opts()`. + */ +typedef enum { + GIT_OPT_GET_MWINDOW_SIZE, + GIT_OPT_SET_MWINDOW_SIZE, + GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, + GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, + GIT_OPT_GET_SEARCH_PATH, + GIT_OPT_SET_SEARCH_PATH, + GIT_OPT_SET_CACHE_OBJECT_LIMIT, + GIT_OPT_SET_CACHE_MAX_SIZE, + GIT_OPT_ENABLE_CACHING, + GIT_OPT_GET_CACHED_MEMORY, + GIT_OPT_GET_TEMPLATE_PATH, + GIT_OPT_SET_TEMPLATE_PATH, + GIT_OPT_SET_SSL_CERT_LOCATIONS, + GIT_OPT_SET_USER_AGENT, + GIT_OPT_ENABLE_STRICT_OBJECT_CREATION, + GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION, + GIT_OPT_SET_SSL_CIPHERS, + GIT_OPT_GET_USER_AGENT, + GIT_OPT_ENABLE_OFS_DELTA, + GIT_OPT_ENABLE_FSYNC_GITDIR, + GIT_OPT_GET_WINDOWS_SHAREMODE, + GIT_OPT_SET_WINDOWS_SHAREMODE, + GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, + GIT_OPT_SET_ALLOCATOR, + GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, + GIT_OPT_GET_PACK_MAX_OBJECTS, + GIT_OPT_SET_PACK_MAX_OBJECTS, + GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS, + GIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE, + GIT_OPT_GET_MWINDOW_FILE_LIMIT, + GIT_OPT_SET_MWINDOW_FILE_LIMIT, + GIT_OPT_SET_ODB_PACKED_PRIORITY, + GIT_OPT_SET_ODB_LOOSE_PRIORITY, + GIT_OPT_GET_EXTENSIONS, + GIT_OPT_SET_EXTENSIONS, + GIT_OPT_GET_OWNER_VALIDATION, + GIT_OPT_SET_OWNER_VALIDATION, + GIT_OPT_GET_HOMEDIR, + GIT_OPT_SET_HOMEDIR, + GIT_OPT_SET_SERVER_CONNECT_TIMEOUT, + GIT_OPT_GET_SERVER_CONNECT_TIMEOUT, + GIT_OPT_SET_SERVER_TIMEOUT, + GIT_OPT_GET_SERVER_TIMEOUT, + GIT_OPT_SET_USER_AGENT_PRODUCT, + GIT_OPT_GET_USER_AGENT_PRODUCT, + GIT_OPT_ADD_SSL_X509_CERT +} git_libgit2_opt_t; + +/** + * Set or query a library global option + * + * Available options: + * + * * opts(GIT_OPT_GET_MWINDOW_SIZE, size_t *): + * + * > Get the maximum mmap window size + * + * * opts(GIT_OPT_SET_MWINDOW_SIZE, size_t): + * + * > Set the maximum mmap window size + * + * * opts(GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, size_t *): + * + * > Get the maximum memory that will be mapped in total by the library + * + * * opts(GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, size_t): + * + * > Set the maximum amount of memory that can be mapped at any time + * > by the library + * + * * opts(GIT_OPT_GET_MWINDOW_FILE_LIMIT, size_t *): + * + * > Get the maximum number of files that will be mapped at any time by the + * > library + * + * * opts(GIT_OPT_SET_MWINDOW_FILE_LIMIT, size_t): + * + * > Set the maximum number of files that can be mapped at any time + * > by the library. The default (0) is unlimited. + * + * * opts(GIT_OPT_GET_SEARCH_PATH, int level, git_buf *buf) + * + * > 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. + * + * * opts(GIT_OPT_SET_SEARCH_PATH, int level, const char *path) + * + * > 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`. + * + * * opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_object_t type, size_t size) + * + * > 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. + * + * * opts(GIT_OPT_SET_CACHE_MAX_SIZE, ssize_t max_storage_bytes) + * + * > 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. + * + * * opts(GIT_OPT_ENABLE_CACHING, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_GET_CACHED_MEMORY, ssize_t *current, ssize_t *allowed) + * + * > Get the current bytes in cache and the maximum that would be + * > allowed in the cache. + * + * * opts(GIT_OPT_GET_TEMPLATE_PATH, git_buf *out) + * + * > Get the default template path. + * > The path is written to the `out` buffer. + * + * * opts(GIT_OPT_SET_TEMPLATE_PATH, const char *path) + * + * > Set the default template path. + * > + * > - `path` directory of template. + * + * * opts(GIT_OPT_SET_SSL_CERT_LOCATIONS, const char *file, const char *path) + * + * > 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. + * + * * opts(GIT_OPT_ADD_SSL_X509_CERT, const X509 *cert) + * + * > Add a raw X509 certificate into the SSL certs store. + * > This certificate is only used by libgit2 invocations + * > during the application lifetime and is not persisted + * > to disk. This certificate cannot be removed from the + * > application once is has been added. + * > + * > - `cert` is the raw X509 cert will be added to cert store. + * + * * opts(GIT_OPT_SET_USER_AGENT, const char *user_agent) + * + * > 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. + * + * * opts(GIT_OPT_GET_USER_AGENT, git_buf *out) + * + * > Get the value of the User-Agent header. + * > The User-Agent is written to the `out` buffer. + * + * * opts(GIT_OPT_SET_USER_AGENT_PRODUCT, const char *user_agent_product) + * + * > 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/ 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. + * + * * opts(GIT_OPT_GET_USER_AGENT_PRODUCT, git_buf *out) + * + * > Get the value of the User-Agent product header. + * > The User-Agent product is written to the `out` buffer. + * + * * opts(GIT_OPT_SET_WINDOWS_SHAREMODE, unsigned long value) + * + * > 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. + * + * * opts(GIT_OPT_GET_WINDOWS_SHAREMODE, unsigned long *value) + * + * > Get the share mode used when opening files on Windows. + * + * * opts(GIT_OPT_ENABLE_STRICT_OBJECT_CREATION, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_SET_SSL_CIPHERS, const char *ciphers) + * + * > Set the SSL ciphers use for HTTPS connections. + * > + * > - `ciphers` is the list of ciphers that are eanbled. + * + * * opts(GIT_OPT_ENABLE_OFS_DELTA, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_ENABLE_FSYNC_GITDIR, int enabled) + * + * > 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. + * + * opts(GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, int enabled) + * + * > 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. + * + * opts(GIT_OPT_SET_ALLOCATOR, git_allocator *allocator) + * + * > 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. + * + * opts(GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, int enabled) + * + * > 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.) + * + * opts(GIT_OPT_GET_PACK_MAX_OBJECTS, size_t *out) + * + * > 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. + * + * opts(GIT_OPT_SET_PACK_MAX_OBJECTS, size_t objects) + * + * > Set the maximum number of objects libgit2 will allow in a pack + * > file when downloading a pack file from a remote. + * + * 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. + * + * 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. + * + * 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 + * + * 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 + * + * 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`. + * + * 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. + * + * opts(GIT_OPT_GET_OWNER_VALIDATION, int *enabled) + * > Gets the owner validation setting for repository + * > directories. + * + * 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. + * + * 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. + * + * 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. + * + * opts(GIT_OPT_GET_SERVER_CONNECT_TIMEOUT, int *timeout) + * > Gets the timeout (in milliseconds) to attempt connections to + * > a remote server. + * + * 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. + * + * opts(GIT_OPT_GET_SERVER_TIMEOUT, int *timeout) + * > Gets the timeout (in milliseconds) for reading from and writing + * > to a remote server. + * + * 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. + * + * @param option Option key + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_libgit2_opts(int option, ...); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/config.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/config.h new file mode 100644 index 00000000..f9c26675 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/config.h @@ -0,0 +1,852 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_config_h__ +#define INCLUDE_git_config_h__ + +#include "common.h" +#include "types.h" +#include "buffer.h" + +/** + * @file git2/config.h + * @brief Per-repository, per-user or per-system configuration + * @defgroup git_config Git config management routines + * @ingroup Git + * + * Git configuration affects the operation of the version control + * system, and can be specified on a per-repository basis, in user + * settings, or at the system level. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Priority level of a config file. + * + * These priority levels correspond to the natural escalation logic + * (from higher to lower) when reading or searching for config entries + * in git.git. Meaning that for the same key, the configuration in + * the local configuration is preferred over the configuration in + * the system configuration file. + * + * Callers can add their own custom configuration, beginning at the + * `GIT_CONFIG_LEVEL_APP` level. + * + * Writes, by default, occur in the highest priority level backend + * that is writable. This ordering can be overridden with + * `git_config_set_writeorder`. + * + * git_config_open_default() and git_repository_config() honor those + * priority levels as well. + * + * @see git_config_open_default + * @see git_repository_config + */ +typedef enum { + /** + * System-wide on Windows, for compatibility with "Portable Git". + */ + GIT_CONFIG_LEVEL_PROGRAMDATA = 1, + + /** + * System-wide configuration file; `/etc/gitconfig` on Linux. + */ + GIT_CONFIG_LEVEL_SYSTEM = 2, + + /** + * XDG compatible configuration file; typically + * `~/.config/git/config`. + */ + GIT_CONFIG_LEVEL_XDG = 3, + + /** + * Global configuration file is the user-specific configuration; + * typically `~/.gitconfig`. + */ + GIT_CONFIG_LEVEL_GLOBAL = 4, + + /** + * Local configuration, the repository-specific configuration file; + * typically `$GIT_DIR/config`. + */ + GIT_CONFIG_LEVEL_LOCAL = 5, + + /** + * Worktree-specific configuration; typically + * `$GIT_DIR/config.worktree`. + */ + GIT_CONFIG_LEVEL_WORKTREE = 6, + + /** + * Application-specific configuration file. Callers into libgit2 + * can add their own configuration beginning at this level. + */ + GIT_CONFIG_LEVEL_APP = 7, + + /** + * Not a configuration level; callers can use this value when + * querying configuration levels to specify that they want to + * have data from the highest-level currently configuration. + * This can be used to indicate that callers want the most + * specific config file available that actually is loaded. + */ + GIT_CONFIG_HIGHEST_LEVEL = -1 +} git_config_level_t; + +/** + * An entry in a configuration file + */ +typedef struct git_config_entry { + /** Name of the configuration entry (normalized). */ + const char *name; + + /** Literal (string) value of the entry. */ + const char *value; + + /** The type of backend that this entry exists in (eg, "file"). */ + const char *backend_type; + + /** + * The path to the origin of this entry. For config files, this is + * the path to the file. + */ + const char *origin_path; + + /** Depth of includes where this variable was found. */ + unsigned int include_depth; + + /** Configuration level for the file this was found in. */ + git_config_level_t level; +} git_config_entry; + +/** + * Free a config entry. + * + * @param entry The entry to free. + */ +GIT_EXTERN(void) git_config_entry_free(git_config_entry *entry); + +/** + * A config enumeration callback. + * + * @param entry the entry currently being enumerated + * @param payload a user-specified pointer + * @return non-zero to terminate the iteration. + */ +typedef int GIT_CALLBACK(git_config_foreach_cb)(const git_config_entry *entry, void *payload); + +/** + * An opaque structure for a configuration iterator. + */ +typedef struct git_config_iterator git_config_iterator; + +/** + * Config var type + */ +typedef enum { + GIT_CONFIGMAP_FALSE = 0, + GIT_CONFIGMAP_TRUE = 1, + GIT_CONFIGMAP_INT32, + GIT_CONFIGMAP_STRING +} git_configmap_t; + +/** + * Mapping from config variables to values. + */ +typedef struct { + git_configmap_t type; + const char *str_match; + int map_value; +} git_configmap; + +/** + * Locate the path to the global configuration file + * + * The user or global configuration file is usually + * located in `$HOME/.gitconfig`. + * + * This method will try to guess the full path to that + * file, if the file exists. The returned path + * may be used on any `git_config` call to load the + * global configuration file. + * + * This method will not guess the path to the xdg compatible + * config file (`.config/git/config`). + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a global configuration file has been found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_global(git_buf *out); + +/** + * Locate the path to the global xdg compatible configuration file + * + * The xdg compatible configuration file is usually + * located in `$HOME/.config/git/config`. + * + * This method will try to guess the full path to that + * file, if the file exists. The returned path + * may be used on any `git_config` call to load the + * xdg compatible configuration file. + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a xdg compatible configuration file has been + * found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_xdg(git_buf *out); + +/** + * Locate the path to the system configuration file + * + * If `/etc/gitconfig` doesn't exist, it will look for + * `%PROGRAMFILES%\Git\etc\gitconfig`. + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a system configuration file has been + * found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_system(git_buf *out); + +/** + * Locate the path to the configuration file in ProgramData + * + * Look for the file in `%PROGRAMDATA%\Git\config` used by portable git. + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a ProgramData configuration file has been + * found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_programdata(git_buf *out); + +/** + * Open the global, XDG and system configuration files + * + * Utility wrapper that finds the global, XDG and system configuration files + * and opens them into a single prioritized config object that can be + * used when accessing default config data outside a repository. + * + * @param out Pointer to store the config instance + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_open_default(git_config **out); + +/** + * Allocate a new configuration object + * + * This object is empty, so you have to add a file to it before you + * can do anything with it. + * + * @param out pointer to the new configuration + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_new(git_config **out); + +/** + * Add an on-disk config file instance to an existing config + * + * The on-disk file pointed at by `path` will be opened and + * parsed; it's expected to be a native Git config file following + * the default Git config syntax (see man git-config). + * + * If the file does not exist, the file will still be added and it + * will be created the first time we write to it. + * + * Note that the configuration object will free the file + * automatically. + * + * Further queries on this config object will access each + * of the config file instances in order (instances with + * a higher priority level will be accessed first). + * + * @param cfg the configuration to add the file to + * @param path path to the configuration file to add + * @param level the priority level of the backend + * @param repo optional repository to allow parsing of + * conditional includes + * @param force replace config file at the given priority level + * @return 0 on success, GIT_EEXISTS when adding more than one file + * for a given priority level (and force_replace set to 0), + * GIT_ENOTFOUND when the file doesn't exist or error code + */ +GIT_EXTERN(int) git_config_add_file_ondisk( + git_config *cfg, + const char *path, + git_config_level_t level, + const git_repository *repo, + int force); + +/** + * Create a new config instance containing a single on-disk file + * + * This method is a simple utility wrapper for the following sequence + * of calls: + * - git_config_new + * - git_config_add_file_ondisk + * + * @param out The configuration instance to create + * @param path Path to the on-disk file to open + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_config_open_ondisk(git_config **out, const char *path); + +/** + * Build a single-level focused config object from a multi-level one. + * + * The returned config object can be used to perform get/set/delete operations + * on a single specific level. + * + * Getting several times the same level from the same parent multi-level config + * will return different config instances, but containing the same config_file + * instance. + * + * @param out The configuration instance to create + * @param parent Multi-level config to search for the given level + * @param level Configuration level to search for + * @return 0, GIT_ENOTFOUND if the passed level cannot be found in the + * multi-level parent config, or an error code + */ +GIT_EXTERN(int) git_config_open_level( + git_config **out, + const git_config *parent, + git_config_level_t level); + +/** + * Open the global/XDG configuration file according to git's rules + * + * 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. + * + * @param out pointer in which to store the config object + * @param config the config object in which to look + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_open_global(git_config **out, git_config *config); + +/** + * Set the write order for configuration backends. By default, the + * write ordering does not match the read ordering; for example, the + * worktree configuration is a high-priority for reading, but is not + * written to unless explicitly chosen. + * + * @param cfg the configuration to change write order of + * @param levels the ordering of levels for writing + * @param len the length of the levels array + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_writeorder( + git_config *cfg, + git_config_level_t *levels, + size_t len); + +/** + * Create a snapshot of the configuration + * + * Create a snapshot of the current state of a configuration, which + * allows you to look into a consistent view of the configuration for + * looking up complex values (e.g. a remote, submodule). + * + * The string returned when querying such a config object is valid + * until it is freed. + * + * @param out pointer in which to store the snapshot config object + * @param config configuration to snapshot + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_snapshot(git_config **out, git_config *config); + +/** + * Free the configuration and its associated memory and files + * + * @param cfg the configuration to free + */ +GIT_EXTERN(void) git_config_free(git_config *cfg); + +/** + * Get the git_config_entry of a config variable. + * + * Free the git_config_entry after use with `git_config_entry_free()`. + * + * @param out pointer to the variable git_config_entry + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_entry( + git_config_entry **out, + const git_config *cfg, + const char *name); + +/** + * Get the value of an integer config variable. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_int32(int32_t *out, const git_config *cfg, const char *name); + +/** + * Get the value of a long integer config variable. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_int64(int64_t *out, const git_config *cfg, const char *name); + +/** + * Get the value of a boolean config variable. + * + * This function uses the usual C convention of 0 being false and + * anything else true. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_bool(int *out, const git_config *cfg, const char *name); + +/** + * Get the value of a path config variable. + * + * A leading '~' will be expanded to the global search path (which + * defaults to the user's home directory but can be overridden via + * `git_libgit2_opts()`. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out the buffer in which to store the result + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_path(git_buf *out, const git_config *cfg, const char *name); + +/** + * Get the value of a string config variable. + * + * This function can only be used on snapshot config objects. The + * string is owned by the config and should not be freed by the + * user. The pointer will be valid until the config is freed. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the string + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_string(const char **out, const git_config *cfg, const char *name); + +/** + * Get the value of a string config variable. + * + * The value of the config will be copied into the buffer. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out buffer in which to store the string + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_string_buf(git_buf *out, const git_config *cfg, const char *name); + +/** + * Get each value of a multivar in a foreach callback + * + * The callback will be called on each variable found + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp regular expression to filter which variables we're + * interested in. Use NULL to indicate all + * @param callback the function to be called on each value of the variable + * @param payload opaque pointer to pass to the callback + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_get_multivar_foreach(const git_config *cfg, const char *name, const char *regexp, git_config_foreach_cb callback, void *payload); + +/** + * Get each value of a multivar + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param out pointer to store the iterator + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp regular expression to filter which variables we're + * interested in. Use NULL to indicate all + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_multivar_iterator_new(git_config_iterator **out, const git_config *cfg, const char *name, const char *regexp); + +/** + * Return the current entry and advance the iterator + * + * The pointers returned by this function are valid until the next call + * to `git_config_next` or until the iterator is freed. + * + * @param entry pointer to store the entry + * @param iter the iterator + * @return 0 or an error code. GIT_ITEROVER if the iteration has completed + */ +GIT_EXTERN(int) git_config_next(git_config_entry **entry, git_config_iterator *iter); + +/** + * Free a config iterator + * + * @param iter the iterator to free + */ +GIT_EXTERN(void) git_config_iterator_free(git_config_iterator *iter); + +/** + * Set the value of an integer config variable in the config file + * with the highest level (usually the local one). + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value Integer value for the variable + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_int32(git_config *cfg, const char *name, int32_t value); + +/** + * Set the value of a long integer config variable in the config file + * with the highest level (usually the local one). + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value Long integer value for the variable + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_int64(git_config *cfg, const char *name, int64_t value); + +/** + * Set the value of a boolean config variable in the config file + * with the highest level (usually the local one). + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value the value to store + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_bool(git_config *cfg, const char *name, int value); + +/** + * Set the value of a string config variable in the config file + * with the highest level (usually the local one). + * + * A copy of the string is made and the user is free to use it + * afterwards. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value the string to store. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_string(git_config *cfg, const char *name, const char *value); + +/** + * Set a multivar in the local config file. + * + * The regular expression is applied case-sensitively on the value. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp a regular expression to indicate which values to replace + * @param value the new value. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_set_multivar(git_config *cfg, const char *name, const char *regexp, const char *value); + +/** + * Delete a config variable from the config file + * with the highest level (usually the local one). + * + * @param cfg the configuration + * @param name the variable to delete + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_delete_entry(git_config *cfg, const char *name); + +/** + * Deletes one or several entries from a multivar in the local config file. + * + * The regular expression is applied case-sensitively on the value. + * + * @param cfg where to look for the variables + * @param name the variable's name + * @param regexp a regular expression to indicate which values to delete + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_delete_multivar(git_config *cfg, const char *name, const char *regexp); + +/** + * Perform an operation on each config variable. + * + * The callback receives the normalized name and value of each variable + * in the config backend, and the data pointer passed to this function. + * If the callback returns a non-zero value, the function stops iterating + * and returns that value to the caller. + * + * The pointers passed to the callback are only valid as long as the + * iteration is ongoing. + * + * @param cfg where to get the variables from + * @param callback the function to call on each variable + * @param payload the data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_config_foreach( + const git_config *cfg, + git_config_foreach_cb callback, + void *payload); + +/** + * Iterate over all the config variables + * + * Use `git_config_next` to advance the iteration and + * `git_config_iterator_free` when done. + * + * @param out pointer to store the iterator + * @param cfg where to get the variables from + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_iterator_new(git_config_iterator **out, const git_config *cfg); + +/** + * Iterate over all the config variables whose name matches a pattern + * + * Use `git_config_next` to advance the iteration and + * `git_config_iterator_free` when done. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param out pointer to store the iterator + * @param cfg where to ge the variables from + * @param regexp regular expression to match the names + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_iterator_glob_new(git_config_iterator **out, const git_config *cfg, const char *regexp); + +/** + * Perform an operation on each config variable matching a regular expression. + * + * This behaves like `git_config_foreach` with an additional filter of a + * regular expression that filters which config keys are passed to the + * callback. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the case-insensitive parts are lower-case. + * + * @param cfg where to get the variables from + * @param regexp regular expression to match against config names + * @param callback the function to call on each variable + * @param payload the data to pass to the callback + * @return 0 or the return value of the callback which didn't return 0 + */ +GIT_EXTERN(int) git_config_foreach_match( + const git_config *cfg, + const char *regexp, + git_config_foreach_cb callback, + void *payload); + +/** + * Query the value of a config variable and return it mapped to + * an integer constant. + * + * This is a helper method to easily map different possible values + * to a variable to integer constants that easily identify them. + * + * A mapping array looks as follows: + * + * git_configmap autocrlf_mapping[] = { + * {GIT_CVAR_FALSE, NULL, GIT_AUTO_CRLF_FALSE}, + * {GIT_CVAR_TRUE, NULL, GIT_AUTO_CRLF_TRUE}, + * {GIT_CVAR_STRING, "input", GIT_AUTO_CRLF_INPUT}, + * {GIT_CVAR_STRING, "default", GIT_AUTO_CRLF_DEFAULT}}; + * + * On any "false" value for the variable (e.g. "false", "FALSE", "no"), the + * mapping will store `GIT_AUTO_CRLF_FALSE` in the `out` parameter. + * + * The same thing applies for any "true" value such as "true", "yes" or "1", storing + * the `GIT_AUTO_CRLF_TRUE` variable. + * + * Otherwise, if the value matches the string "input" (with case insensitive comparison), + * the given constant will be stored in `out`, and likewise for "default". + * + * If not a single match can be made to store in `out`, an error code will be + * returned. + * + * @param out place to store the result of the mapping + * @param cfg config file to get the variables from + * @param name name of the config variable to lookup + * @param maps array of `git_configmap` objects specifying the possible mappings + * @param map_n number of mapping objects in `maps` + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_config_get_mapped( + int *out, + const git_config *cfg, + const char *name, + const git_configmap *maps, + size_t map_n); + +/** + * Maps a string value to an integer constant + * + * @param out place to store the result of the parsing + * @param maps array of `git_configmap` objects specifying the possible mappings + * @param map_n number of mapping objects in `maps` + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_lookup_map_value( + int *out, + const git_configmap *maps, + size_t map_n, + const char *value); + +/** + * Parse a string value as a bool. + * + * Valid values for true are: 'true', 'yes', 'on', 1 or any + * number different from 0 + * Valid values for false are: 'false', 'no', 'off', 0 + * + * @param out place to store the result of the parsing + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_bool(int *out, const char *value); + +/** + * Parse a string value as an int32. + * + * An optional value suffix of 'k', 'm', or 'g' will + * cause the value to be multiplied by 1024, 1048576, + * or 1073741824 prior to output. + * + * @param out place to store the result of the parsing + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_int32(int32_t *out, const char *value); + +/** + * Parse a string value as an int64. + * + * An optional value suffix of 'k', 'm', or 'g' will + * cause the value to be multiplied by 1024, 1048576, + * or 1073741824 prior to output. + * + * @param out place to store the result of the parsing + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value); + +/** + * Parse a string value as a path. + * + * A leading '~' will be expanded to the global search path (which + * defaults to the user's home directory but can be overridden via + * `git_libgit2_opts()`. + * + * If the value does not begin with a tilde, the input will be + * returned. + * + * @param out placae to store the result of parsing + * @param value the path to evaluate + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_path(git_buf *out, const char *value); + +/** + * Perform an operation on each config variable in a given config backend, + * matching a regular expression. + * + * This behaves like `git_config_foreach_match` except that only config + * entries from the given backend entry are enumerated. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param backend where to get the variables from + * @param regexp regular expression to match against config names (can be NULL) + * @param callback the function to call on each variable + * @param payload the data to pass to the callback + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_backend_foreach_match( + git_config_backend *backend, + const char *regexp, + git_config_foreach_cb callback, + void *payload); + + +/** + * Lock the backend with the highest priority + * + * Locking disallows anybody else from writing to that backend. Any + * updates made after locking will not be visible to a reader until + * the file is unlocked. + * + * You can apply the changes by calling `git_transaction_commit()` + * before freeing the transaction. Either of these actions will unlock + * the config. + * + * @param tx the resulting transaction, use this to commit or undo the + * changes + * @param cfg the configuration in which to lock + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_lock(git_transaction **tx, git_config *cfg); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cred_helpers.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cred_helpers.h new file mode 100644 index 00000000..3721b6d8 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/cred_helpers.h @@ -0,0 +1,15 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_cred_helpers_h__ +#define INCLUDE_git_cred_helpers_h__ + +/* These declarations have moved. */ +#ifndef GIT_DEPRECATE_HARD +# include "git2/credential_helpers.h" +#endif + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/credential.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/credential.h new file mode 100644 index 00000000..33755ca9 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/credential.h @@ -0,0 +1,343 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_credential_h__ +#define INCLUDE_git_credential_h__ + +#include "common.h" + +/** + * @file git2/credential.h + * @brief Authentication and credential management + * @defgroup git_credential Authentication & credential management + * @ingroup Git + * + * Credentials specify how to authenticate to a remote system + * over HTTPS or SSH. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Supported credential types + * + * This represents the various types of authentication methods supported by + * the library. + */ +typedef enum { + /** + * A vanilla user/password request + * @see git_credential_userpass_plaintext_new + */ + GIT_CREDENTIAL_USERPASS_PLAINTEXT = (1u << 0), + + /** + * An SSH key-based authentication request + * @see git_credential_ssh_key_new + */ + GIT_CREDENTIAL_SSH_KEY = (1u << 1), + + /** + * An SSH key-based authentication request, with a custom signature + * @see git_credential_ssh_custom_new + */ + GIT_CREDENTIAL_SSH_CUSTOM = (1u << 2), + + /** + * An NTLM/Negotiate-based authentication request. + * @see git_credential_default + */ + GIT_CREDENTIAL_DEFAULT = (1u << 3), + + /** + * An SSH interactive authentication request + * @see git_credential_ssh_interactive_new + */ + GIT_CREDENTIAL_SSH_INTERACTIVE = (1u << 4), + + /** + * Username-only authentication request + * + * Used as a pre-authentication step if the underlying transport + * (eg. SSH, with no username in its URL) does not know which username + * to use. + * + * @see git_credential_username_new + */ + GIT_CREDENTIAL_USERNAME = (1u << 5), + + /** + * An SSH key-based authentication request + * + * Allows credentials to be read from memory instead of files. + * Note that because of differences in crypto backend support, it might + * not be functional. + * + * @see git_credential_ssh_key_memory_new + */ + GIT_CREDENTIAL_SSH_MEMORY = (1u << 6) +} git_credential_t; + +/** + * The base structure for all credential types + */ +typedef struct git_credential git_credential; + +typedef struct git_credential_userpass_plaintext git_credential_userpass_plaintext; + +/** Username-only credential information */ +typedef struct git_credential_username git_credential_username; + +/** A key for NTLM/Kerberos "default" credentials */ +typedef struct git_credential git_credential_default; + +/** + * A ssh key from disk + */ +typedef struct git_credential_ssh_key git_credential_ssh_key; + +/** + * Keyboard-interactive based ssh authentication + */ +typedef struct git_credential_ssh_interactive git_credential_ssh_interactive; + +/** + * A key with a custom signature function + */ +typedef struct git_credential_ssh_custom git_credential_ssh_custom; + +/** + * Credential acquisition callback. + * + * 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). + * + * 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. + * + * @param[out] out The newly created credential object. + * @param url The resource for which we are demanding a credential. + * @param username_from_url The username that was embedded in a "user\@host" + * remote url, or NULL if not included. + * @param allowed_types A bitmask stating which credential types are OK to return. + * @param payload The payload provided when specifying this callback. + * @return 0 for success, < 0 to indicate an error, > 0 to indicate + * no credential was acquired + */ +typedef int GIT_CALLBACK(git_credential_acquire_cb)( + git_credential **out, + const char *url, + const char *username_from_url, + unsigned int allowed_types, + void *payload); + +/** + * Free a credential. + * + * This is only necessary if you own the object; that is, if you are a + * transport. + * + * @param cred the object to free + */ +GIT_EXTERN(void) git_credential_free(git_credential *cred); + +/** + * Check whether a credential object contains username information. + * + * @param cred object to check + * @return 1 if the credential object has non-NULL username, 0 otherwise + */ +GIT_EXTERN(int) git_credential_has_username(git_credential *cred); + +/** + * Return the username associated with a credential object. + * + * @param cred object to check + * @return the credential username, or NULL if not applicable + */ +GIT_EXTERN(const char *) git_credential_get_username(git_credential *cred); + +/** + * Create a new plain-text username and password credential object. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username The username of the credential. + * @param password The password of the credential. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_userpass_plaintext_new( + git_credential **out, + const char *username, + const char *password); + +/** + * Create a "default" credential usable for Negotiate mechanisms like NTLM + * or Kerberos authentication. + * + * @param out The newly created credential object. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_default_new(git_credential **out); + +/** + * Create a credential to specify a username. + * + * This is used with ssh authentication to query for the username if + * none is specified in the url. + * + * @param out The newly created credential object. + * @param username The username to authenticate with + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_username_new(git_credential **out, const char *username); + +/** + * Create a new passphrase-protected ssh key credential object. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username username to use to authenticate + * @param publickey The path to the public key of the credential. + * @param privatekey The path to the private key of the credential. + * @param passphrase The passphrase of the credential. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_key_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); + +/** + * Create a new ssh key credential object reading the keys from memory. + * + * @param out The newly created credential object. + * @param username username to use to authenticate. + * @param publickey The public key of the credential. + * @param privatekey The private key of the credential. + * @param passphrase The passphrase of the credential. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_key_memory_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); + +/* + * If the user hasn't included libssh2.h before git2.h, we need to + * define a few types for the callback signatures. + */ +#ifndef LIBSSH2_VERSION +typedef struct _LIBSSH2_SESSION LIBSSH2_SESSION; +typedef struct _LIBSSH2_USERAUTH_KBDINT_PROMPT LIBSSH2_USERAUTH_KBDINT_PROMPT; +typedef struct _LIBSSH2_USERAUTH_KBDINT_RESPONSE LIBSSH2_USERAUTH_KBDINT_RESPONSE; +#endif + +/** + * Callback for interactive SSH credentials. + * + * @param name the name + * @param name_len the length of the name + * @param instruction the authentication instruction + * @param instruction_len the length of the instruction + * @param num_prompts the number of prompts + * @param prompts the prompts + * @param responses the responses + * @param abstract the abstract + */ +typedef void GIT_CALLBACK(git_credential_ssh_interactive_cb)( + 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); + + +/** + * Create a new ssh keyboard-interactive based credential object. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username Username to use to authenticate. + * @param prompt_callback The callback method used for prompts. + * @param payload Additional data to pass to the callback. + * @return 0 for success or an error code for failure. + */ +GIT_EXTERN(int) git_credential_ssh_interactive_new( + git_credential **out, + const char *username, + git_credential_ssh_interactive_cb prompt_callback, + void *payload); + +/** + * Create a new ssh key credential object used for querying an ssh-agent. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username username to use to authenticate + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_key_from_agent( + git_credential **out, + const char *username); + +/** + * Callback for credential signing. + * + * @param session the libssh2 session + * @param sig the signature + * @param sig_len the length of the signature + * @param data the data + * @param data_len the length of the data + * @param abstract the abstract + * @return 0 for success, < 0 to indicate an error, > 0 to indicate + * no credential was acquired + */ +typedef int GIT_CALLBACK(git_credential_sign_cb)( + LIBSSH2_SESSION *session, + unsigned char **sig, size_t *sig_len, + const unsigned char *data, size_t data_len, + void **abstract); + +/** + * Create an ssh key credential with a custom signing function. + * + * This lets you use your own function to sign the challenge. + * + * This function and its credential type is provided for completeness + * and wraps `libssh2_userauth_publickey()`, which is undocumented. + * + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username username to use to authenticate + * @param publickey The bytes of the public key. + * @param publickey_len The length of the public key in bytes. + * @param sign_callback The callback method to sign the data during the challenge. + * @param payload Additional data to pass to the callback. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_custom_new( + git_credential **out, + const char *username, + const char *publickey, + size_t publickey_len, + git_credential_sign_cb sign_callback, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/credential_helpers.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/credential_helpers.h new file mode 100644 index 00000000..706558d5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/credential_helpers.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_credential_helpers_h__ +#define INCLUDE_git_credential_helpers_h__ + +#include "transport.h" + +/** + * @file git2/credential_helpers.h + * @brief Utility functions for credential management + * @defgroup git_credential_helpers credential management helpers + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Payload for git_credential_userpass_plaintext. + */ +typedef struct git_credential_userpass_payload { + const char *username; + const char *password; +} git_credential_userpass_payload; + + +/** + * Stock callback usable as a git_credential_acquire_cb. This calls + * git_cred_userpass_plaintext_new unless the protocol has not specified + * `GIT_CREDENTIAL_USERPASS_PLAINTEXT` as an allowed type. + * + * @param out The newly created credential object. + * @param url The resource for which we are demanding a credential. + * @param user_from_url The username that was embedded in a "user\@host" + * remote url, or NULL if not included. + * @param allowed_types A bitmask stating which credential types are OK to return. + * @param payload The payload provided when specifying this callback. (This is + * interpreted as a `git_credential_userpass_payload*`.) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_credential_userpass( + git_credential **out, + const char *url, + const char *user_from_url, + unsigned int allowed_types, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/deprecated.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/deprecated.h new file mode 100644 index 00000000..b8b0238d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/deprecated.h @@ -0,0 +1,1069 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_deprecated_h__ +#define INCLUDE_git_deprecated_h__ + +#include "attr.h" +#include "config.h" +#include "common.h" +#include "blame.h" +#include "buffer.h" +#include "checkout.h" +#include "cherrypick.h" +#include "clone.h" +#include "describe.h" +#include "diff.h" +#include "errors.h" +#include "filter.h" +#include "index.h" +#include "indexer.h" +#include "merge.h" +#include "object.h" +#include "proxy.h" +#include "refs.h" +#include "rebase.h" +#include "remote.h" +#include "trace.h" +#include "repository.h" +#include "revert.h" +#include "revparse.h" +#include "stash.h" +#include "status.h" +#include "submodule.h" +#include "worktree.h" +#include "credential.h" +#include "credential_helpers.h" + +/* + * Users can avoid deprecated functions by defining `GIT_DEPRECATE_HARD`. + */ +#ifndef GIT_DEPRECATE_HARD + +/* + * The credential structures are now opaque by default, and their + * definition has moved into the `sys/credential.h` header; include + * them here for backward compatibility. + */ +#include "sys/credential.h" + +/** + * @file git2/deprecated.h + * @brief Deprecated functions and values + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** @name Deprecated Attribute Constants + * + * These enumeration values are retained for backward compatibility. + * The newer versions of these functions should be preferred in all + * new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecated use GIT_ATTR_VALUE_UNSPECIFIED */ +#define GIT_ATTR_UNSPECIFIED_T GIT_ATTR_VALUE_UNSPECIFIED +/** @deprecated use GIT_ATTR_VALUE_TRUE */ +#define GIT_ATTR_TRUE_T GIT_ATTR_VALUE_TRUE +/** @deprecated use GIT_ATTR_VALUE_FALSE */ +#define GIT_ATTR_FALSE_T GIT_ATTR_VALUE_FALSE +/** @deprecated use GIT_ATTR_VALUE_STRING */ +#define GIT_ATTR_VALUE_T GIT_ATTR_VALUE_STRING + +/** @deprecated use GIT_ATTR_IS_TRUE */ +#define GIT_ATTR_TRUE(attr) GIT_ATTR_IS_TRUE(attr) +/** @deprecated use GIT_ATTR_IS_FALSE */ +#define GIT_ATTR_FALSE(attr) GIT_ATTR_IS_FALSE(attr) +/** @deprecated use GIT_ATTR_IS_UNSPECIFIED */ +#define GIT_ATTR_UNSPECIFIED(attr) GIT_ATTR_IS_UNSPECIFIED(attr) + +/** @deprecated use git_attr_value_t */ +typedef git_attr_value_t git_attr_t; + +/**@}*/ + +/** @name Deprecated Blob Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions and values + * should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecated use GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD */ +#define GIT_BLOB_FILTER_ATTTRIBUTES_FROM_HEAD GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD + +GIT_EXTERN(int) git_blob_create_fromworkdir(git_oid *id, git_repository *repo, const char *relative_path); +GIT_EXTERN(int) git_blob_create_fromdisk(git_oid *id, git_repository *repo, const char *path); +GIT_EXTERN(int) git_blob_create_fromstream( + git_writestream **out, + git_repository *repo, + const char *hintpath); +GIT_EXTERN(int) git_blob_create_fromstream_commit( + git_oid *out, + git_writestream *stream); +GIT_EXTERN(int) git_blob_create_frombuffer( + git_oid *id, git_repository *repo, const void *buffer, size_t len); + +/** Deprecated in favor of `git_blob_filter`. + * + * @deprecated Use git_blob_filter + * @see git_blob_filter + */ +GIT_EXTERN(int) git_blob_filtered_content( + git_buf *out, + git_blob *blob, + const char *as_path, + int check_for_binary_data); + +/**@}*/ + +/** @name Deprecated Filter Functions + * + * These functions are retained for backward compatibility. The + * newer versions of these functions should be preferred in all + * new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** Deprecated in favor of `git_filter_list_stream_buffer`. + * + * @deprecated Use git_filter_list_stream_buffer + * @see Use git_filter_list_stream_buffer + */ +GIT_EXTERN(int) git_filter_list_stream_data( + git_filter_list *filters, + git_buf *data, + git_writestream *target); + +/** Deprecated in favor of `git_filter_list_apply_to_buffer`. + * + * @deprecated Use git_filter_list_apply_to_buffer + * @see Use git_filter_list_apply_to_buffer + */ +GIT_EXTERN(int) git_filter_list_apply_to_data( + git_buf *out, + git_filter_list *filters, + git_buf *in); + +/**@}*/ + +/** @name Deprecated Tree Functions + * + * These functions are retained for backward compatibility. The + * newer versions of these functions and values should be preferred + * in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Write the contents of the tree builder as a tree object. + * This is an alias of `git_treebuilder_write` and is preserved + * for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_treebuilder_write + * @see git_treebuilder_write + */ +GIT_EXTERN(int) git_treebuilder_write_with_buffer( + git_oid *oid, git_treebuilder *bld, git_buf *tree); + +/**@}*/ + +/** @name Deprecated Buffer Functions + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions should be + * preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Static initializer for git_buf from static buffer + */ +#define GIT_BUF_INIT_CONST(STR,LEN) { (char *)(STR), 0, (size_t)(LEN) } + +/** + * Resize the buffer allocation to make more space. + * + * This will attempt to grow the buffer to accommodate the target size. + * + * If the buffer refers to memory that was not allocated by libgit2 (i.e. + * the `asize` field is zero), then `ptr` will be replaced with a newly + * allocated block of data. Be careful so that memory allocated by the + * caller is not lost. As a special variant, if you pass `target_size` as + * 0 and the memory is not allocated by libgit2, this will allocate a new + * buffer of size `size` and copy the external data into it. + * + * Currently, this will never shrink a buffer, only expand it. + * + * If the allocation fails, this will return an error and the buffer will be + * marked as invalid for future operations, invaliding the contents. + * + * @param buffer The buffer to be resized; may or may not be allocated yet + * @param target_size The desired available size + * @return 0 on success, -1 on allocation failure + */ +GIT_EXTERN(int) git_buf_grow(git_buf *buffer, size_t target_size); + +/** + * Set buffer to a copy of some raw data. + * + * @param buffer The buffer to set + * @param data The data to copy into the buffer + * @param datalen The length of the data to copy into the buffer + * @return 0 on success, -1 on allocation failure + */ +GIT_EXTERN(int) git_buf_set( + git_buf *buffer, const void *data, size_t datalen); + +/** +* Check quickly if buffer looks like it contains binary data +* +* @param buf Buffer to check +* @return 1 if buffer looks like non-text data +*/ +GIT_EXTERN(int) git_buf_is_binary(const git_buf *buf); + +/** +* Check quickly if buffer contains a NUL byte +* +* @param buf Buffer to check +* @return 1 if buffer contains a NUL byte +*/ +GIT_EXTERN(int) git_buf_contains_nul(const git_buf *buf); + +/** + * Free the memory referred to by the git_buf. This is an alias of + * `git_buf_dispose` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_buf_dispose + * @see git_buf_dispose + */ +GIT_EXTERN(void) git_buf_free(git_buf *buffer); + +/**@}*/ + +/** @name Deprecated Commit Definitions + */ +/**@{*/ + +/** + * Provide a commit signature during commit creation. + * + * Callers should instead define a `git_commit_create_cb` that + * generates a commit buffer using `git_commit_create_buffer`, sign + * that buffer and call `git_commit_create_with_signature`. + * + * @deprecated use a `git_commit_create_cb` instead + */ +typedef int (*git_commit_signing_cb)( + git_buf *signature, + git_buf *signature_field, + const char *commit_content, + void *payload); + +/**@}*/ + +/** @name Deprecated Config Functions and Constants + */ +/**@{*/ + +/** @deprecated use GIT_CONFIGMAP_FALSE */ +#define GIT_CVAR_FALSE GIT_CONFIGMAP_FALSE +/** @deprecated use GIT_CONFIGMAP_TRUE */ +#define GIT_CVAR_TRUE GIT_CONFIGMAP_TRUE +/** @deprecated use GIT_CONFIGMAP_INT32 */ +#define GIT_CVAR_INT32 GIT_CONFIGMAP_INT32 +/** @deprecated use GIT_CONFIGMAP_STRING */ +#define GIT_CVAR_STRING GIT_CONFIGMAP_STRING + +/** @deprecated use git_cvar_map */ +typedef git_configmap git_cvar_map; + +/**@}*/ + +/** @name Deprecated Diff Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions and values + * should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Formatting options for diff e-mail generation + */ +typedef enum { + /** Normal patch, the default */ + GIT_DIFF_FORMAT_EMAIL_NONE = 0, + + /** Don't insert "[PATCH]" in the subject header*/ + GIT_DIFF_FORMAT_EMAIL_EXCLUDE_SUBJECT_PATCH_MARKER = (1 << 0) +} git_diff_format_email_flags_t; + +/** + * Options for controlling the formatting of the generated e-mail. + * + * @deprecated use `git_email_create_options` + */ +typedef struct { + unsigned int version; + + /** see `git_diff_format_email_flags_t` above */ + uint32_t flags; + + /** This patch number */ + size_t patch_no; + + /** Total number of patches in this series */ + size_t total_patches; + + /** id to use for the commit */ + const git_oid *id; + + /** Summary of the change */ + const char *summary; + + /** Commit message's body */ + const char *body; + + /** Author of the change */ + const git_signature *author; +} git_diff_format_email_options; + +/** @deprecated use `git_email_create_options` */ +#define GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION 1 +/** @deprecated use `git_email_create_options` */ +#define GIT_DIFF_FORMAT_EMAIL_OPTIONS_INIT {GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION, 0, 1, 1, NULL, NULL, NULL, NULL} + +/** + * Create an e-mail ready patch from a diff. + * + * @deprecated git_email_create_from_diff + * @see git_email_create_from_diff + */ +GIT_EXTERN(int) git_diff_format_email( + git_buf *out, + git_diff *diff, + const git_diff_format_email_options *opts); + +/** + * Create an e-mail ready patch for a commit. + * + * @deprecated git_email_create_from_commit + * @see git_email_create_from_commit + */ +GIT_EXTERN(int) git_diff_commit_as_email( + git_buf *out, + git_repository *repo, + git_commit *commit, + size_t patch_no, + size_t total_patches, + uint32_t flags, + const git_diff_options *diff_opts); + +/** + * Initialize git_diff_format_email_options structure + * + * Initializes a `git_diff_format_email_options` with default values. Equivalent + * to creating an instance with GIT_DIFF_FORMAT_EMAIL_OPTIONS_INIT. + * + * @param opts The `git_blame_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_format_email_options_init( + git_diff_format_email_options *opts, + unsigned int version); + +/**@}*/ + +/** @name Deprecated Error Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions and values + * should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecated use `GIT_ERROR_NONE` */ +#define GITERR_NONE GIT_ERROR_NONE +/** @deprecated use `GIT_ERROR_NOMEMORY` */ +#define GITERR_NOMEMORY GIT_ERROR_NOMEMORY +/** @deprecated use `GIT_ERROR_OS` */ +#define GITERR_OS GIT_ERROR_OS +/** @deprecated use `GIT_ERROR_INVALID` */ +#define GITERR_INVALID GIT_ERROR_INVALID +/** @deprecated use `GIT_ERROR_REFERENCE` */ +#define GITERR_REFERENCE GIT_ERROR_REFERENCE +/** @deprecated use `GIT_ERROR_ZLIB` */ +#define GITERR_ZLIB GIT_ERROR_ZLIB +/** @deprecated use `GIT_ERROR_REPOSITORY` */ +#define GITERR_REPOSITORY GIT_ERROR_REPOSITORY +/** @deprecated use `GIT_ERROR_CONFIG` */ +#define GITERR_CONFIG GIT_ERROR_CONFIG +/** @deprecated use `GIT_ERROR_REGEX` */ +#define GITERR_REGEX GIT_ERROR_REGEX +/** @deprecated use `GIT_ERROR_ODB` */ +#define GITERR_ODB GIT_ERROR_ODB +/** @deprecated use `GIT_ERROR_INDEX` */ +#define GITERR_INDEX GIT_ERROR_INDEX +/** @deprecated use `GIT_ERROR_OBJECT` */ +#define GITERR_OBJECT GIT_ERROR_OBJECT +/** @deprecated use `GIT_ERROR_NET` */ +#define GITERR_NET GIT_ERROR_NET +/** @deprecated use `GIT_ERROR_TAG` */ +#define GITERR_TAG GIT_ERROR_TAG +/** @deprecated use `GIT_ERROR_TREE` */ +#define GITERR_TREE GIT_ERROR_TREE +/** @deprecated use `GIT_ERROR_INDEXER` */ +#define GITERR_INDEXER GIT_ERROR_INDEXER +/** @deprecated use `GIT_ERROR_SSL` */ +#define GITERR_SSL GIT_ERROR_SSL +/** @deprecated use `GIT_ERROR_SUBMODULE` */ +#define GITERR_SUBMODULE GIT_ERROR_SUBMODULE +/** @deprecated use `GIT_ERROR_THREAD` */ +#define GITERR_THREAD GIT_ERROR_THREAD +/** @deprecated use `GIT_ERROR_STASH` */ +#define GITERR_STASH GIT_ERROR_STASH +/** @deprecated use `GIT_ERROR_CHECKOUT` */ +#define GITERR_CHECKOUT GIT_ERROR_CHECKOUT +/** @deprecated use `GIT_ERROR_FETCHHEAD` */ +#define GITERR_FETCHHEAD GIT_ERROR_FETCHHEAD +/** @deprecated use `GIT_ERROR_MERGE` */ +#define GITERR_MERGE GIT_ERROR_MERGE +/** @deprecated use `GIT_ERROR_SSH` */ +#define GITERR_SSH GIT_ERROR_SSH +/** @deprecated use `GIT_ERROR_FILTER` */ +#define GITERR_FILTER GIT_ERROR_FILTER +/** @deprecated use `GIT_ERROR_REVERT` */ +#define GITERR_REVERT GIT_ERROR_REVERT +/** @deprecated use `GIT_ERROR_CALLBACK` */ +#define GITERR_CALLBACK GIT_ERROR_CALLBACK +/** @deprecated use `GIT_ERROR_CHERRYPICK` */ +#define GITERR_CHERRYPICK GIT_ERROR_CHERRYPICK +/** @deprecated use `GIT_ERROR_DESCRIBE` */ +#define GITERR_DESCRIBE GIT_ERROR_DESCRIBE +/** @deprecated use `GIT_ERROR_REBASE` */ +#define GITERR_REBASE GIT_ERROR_REBASE +/** @deprecated use `GIT_ERROR_FILESYSTEM` */ +#define GITERR_FILESYSTEM GIT_ERROR_FILESYSTEM +/** @deprecated use `GIT_ERROR_PATCH` */ +#define GITERR_PATCH GIT_ERROR_PATCH +/** @deprecated use `GIT_ERROR_WORKTREE` */ +#define GITERR_WORKTREE GIT_ERROR_WORKTREE +/** @deprecated use `GIT_ERROR_SHA1` */ +#define GITERR_SHA1 GIT_ERROR_SHA1 +/** @deprecated use `GIT_ERROR_SHA` */ +#define GIT_ERROR_SHA1 GIT_ERROR_SHA + +/** + * Return the last `git_error` object that was generated for the + * current thread. This is an alias of `git_error_last` and is + * preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_last + * @see git_error_last + */ +GIT_EXTERN(const git_error *) giterr_last(void); + +/** + * Clear the last error. This is an alias of `git_error_last` and is + * preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_clear + * @see git_error_clear + */ +GIT_EXTERN(void) giterr_clear(void); + +/** + * Sets the error message to the given string. This is an alias of + * `git_error_set_str` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_set_str + * @see git_error_set_str + */ +GIT_EXTERN(void) giterr_set_str(int error_class, const char *string); + +/** + * Indicates that an out-of-memory situation occurred. This is an alias + * of `git_error_set_oom` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_set_oom + * @see git_error_set_oom + */ +GIT_EXTERN(void) giterr_set_oom(void); + +/**@}*/ + +/** @name Deprecated Index Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these values should be + * preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/* The git_idxentry_extended_flag_t enum */ +/** @deprecated use `GIT_INDEX_ENTRY_NAMEMASK` */ +#define GIT_IDXENTRY_NAMEMASK GIT_INDEX_ENTRY_NAMEMASK +/** @deprecated use `GIT_INDEX_ENTRY_STAGEMASK` */ +#define GIT_IDXENTRY_STAGEMASK GIT_INDEX_ENTRY_STAGEMASK +/** @deprecated use `GIT_INDEX_ENTRY_STAGESHIFT` */ +#define GIT_IDXENTRY_STAGESHIFT GIT_INDEX_ENTRY_STAGESHIFT + +/* The git_indxentry_flag_t enum */ +/** @deprecated use `GIT_INDEX_ENTRY_EXTENDED` */ +#define GIT_IDXENTRY_EXTENDED GIT_INDEX_ENTRY_EXTENDED +/** @deprecated use `GIT_INDEX_ENTRY_VALID` */ +#define GIT_IDXENTRY_VALID GIT_INDEX_ENTRY_VALID + +/** @deprecated use `GIT_INDEX_ENTRY_STAGE` */ +#define GIT_IDXENTRY_STAGE(E) GIT_INDEX_ENTRY_STAGE(E) +/** @deprecated use `GIT_INDEX_ENTRY_STAGE_SET` */ +#define GIT_IDXENTRY_STAGE_SET(E,S) GIT_INDEX_ENTRY_STAGE_SET(E,S) + +/* The git_idxentry_extended_flag_t enum */ +/** @deprecated use `GIT_INDEX_ENTRY_INTENT_TO_ADD` */ +#define GIT_IDXENTRY_INTENT_TO_ADD GIT_INDEX_ENTRY_INTENT_TO_ADD +/** @deprecated use `GIT_INDEX_ENTRY_SKIP_WORKTREE` */ +#define GIT_IDXENTRY_SKIP_WORKTREE GIT_INDEX_ENTRY_SKIP_WORKTREE +/** @deprecated use `GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE` */ +#define GIT_IDXENTRY_EXTENDED_FLAGS (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_EXTENDED2 (1 << 15) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UPDATE (1 << 0) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_REMOVE (1 << 1) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UPTODATE (1 << 2) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_ADDED (1 << 3) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_HASHED (1 << 4) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UNHASHED (1 << 5) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_WT_REMOVE (1 << 6) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_CONFLICTED (1 << 7) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UNPACKED (1 << 8) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_NEW_SKIP_WORKTREE (1 << 9) + +/* The git_index_capability_t enum */ +/** @deprecated use `GIT_INDEX_CAPABILITY_IGNORE_CASE` */ +#define GIT_INDEXCAP_IGNORE_CASE GIT_INDEX_CAPABILITY_IGNORE_CASE +/** @deprecated use `GIT_INDEX_CAPABILITY_NO_FILEMODE` */ +#define GIT_INDEXCAP_NO_FILEMODE GIT_INDEX_CAPABILITY_NO_FILEMODE +/** @deprecated use `GIT_INDEX_CAPABILITY_NO_SYMLINKS` */ +#define GIT_INDEXCAP_NO_SYMLINKS GIT_INDEX_CAPABILITY_NO_SYMLINKS +/** @deprecated use `GIT_INDEX_CAPABILITY_FROM_OWNER` */ +#define GIT_INDEXCAP_FROM_OWNER GIT_INDEX_CAPABILITY_FROM_OWNER + +GIT_EXTERN(int) git_index_add_frombuffer( + git_index *index, + const git_index_entry *entry, + const void *buffer, size_t len); + +/**@}*/ + +/** @name Deprecated Object Constants + * + * These enumeration values are retained for backward compatibility. The + * newer versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecate use `git_object_t` */ +#define git_otype git_object_t + +/** @deprecate use `GIT_OBJECT_ANY` */ +#define GIT_OBJ_ANY GIT_OBJECT_ANY +/** @deprecate use `GIT_OBJECT_INVALID` */ +#define GIT_OBJ_BAD GIT_OBJECT_INVALID +/** @deprecated this value is not public */ +#define GIT_OBJ__EXT1 0 +/** @deprecate use `GIT_OBJECT_COMMIT` */ +#define GIT_OBJ_COMMIT GIT_OBJECT_COMMIT +/** @deprecate use `GIT_OBJECT_TREE` */ +#define GIT_OBJ_TREE GIT_OBJECT_TREE +/** @deprecate use `GIT_OBJECT_BLOB` */ +#define GIT_OBJ_BLOB GIT_OBJECT_BLOB +/** @deprecate use `GIT_OBJECT_TAG` */ +#define GIT_OBJ_TAG GIT_OBJECT_TAG +/** @deprecated this value is not public */ +#define GIT_OBJ__EXT2 5 +/** @deprecate use `GIT_OBJECT_OFS_DELTA` */ +#define GIT_OBJ_OFS_DELTA GIT_OBJECT_OFS_DELTA +/** @deprecate use `GIT_OBJECT_REF_DELTA` */ +#define GIT_OBJ_REF_DELTA GIT_OBJECT_REF_DELTA + +/** + * Get the size in bytes for the structure which + * acts as an in-memory representation of any given + * object type. + * + * For all the core types, this would the equivalent + * of calling `sizeof(git_commit)` if the core types + * were not opaque on the external API. + * + * @param type object type to get its size + * @return size in bytes of the object + */ +GIT_EXTERN(size_t) git_object__size(git_object_t type); + +/**@}*/ + +/** @name Deprecated Remote Functions + * + * These functions are retained for backward compatibility. The newer + * versions of these functions should be preferred in all new code. + * + * There is no plan to remove these backward compatibility functions at + * this time. + */ +/**@{*/ + +/** + * Ensure the remote name is well-formed. + * + * @deprecated Use git_remote_name_is_valid + * @param remote_name name to be checked. + * @return 1 if the reference name is acceptable; 0 if it isn't + */ +GIT_EXTERN(int) git_remote_is_valid_name(const char *remote_name); + +/**@}*/ + +/** @name Deprecated Reference Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these values should be + * preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + + /** Basic type of any Git reference. */ +/** @deprecate use `git_reference_t` */ +#define git_ref_t git_reference_t +/** @deprecate use `git_reference_format_t` */ +#define git_reference_normalize_t git_reference_format_t + +/** @deprecate use `GIT_REFERENCE_INVALID` */ +#define GIT_REF_INVALID GIT_REFERENCE_INVALID +/** @deprecate use `GIT_REFERENCE_DIRECT` */ +#define GIT_REF_OID GIT_REFERENCE_DIRECT +/** @deprecate use `GIT_REFERENCE_SYMBOLIC` */ +#define GIT_REF_SYMBOLIC GIT_REFERENCE_SYMBOLIC +/** @deprecate use `GIT_REFERENCE_ALL` */ +#define GIT_REF_LISTALL GIT_REFERENCE_ALL + +/** @deprecate use `GIT_REFERENCE_FORMAT_NORMAL` */ +#define GIT_REF_FORMAT_NORMAL GIT_REFERENCE_FORMAT_NORMAL +/** @deprecate use `GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL` */ +#define GIT_REF_FORMAT_ALLOW_ONELEVEL GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL +/** @deprecate use `GIT_REFERENCE_FORMAT_REFSPEC_PATTERN` */ +#define GIT_REF_FORMAT_REFSPEC_PATTERN GIT_REFERENCE_FORMAT_REFSPEC_PATTERN +/** @deprecate use `GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND` */ +#define GIT_REF_FORMAT_REFSPEC_SHORTHAND GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND + +/** + * Ensure the reference name is well-formed. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * @deprecated Use git_reference_name_is_valid + * @param refname name to be checked. + * @return 1 if the reference name is acceptable; 0 if it isn't + */ +GIT_EXTERN(int) git_reference_is_valid_name(const char *refname); + +GIT_EXTERN(int) git_tag_create_frombuffer( + git_oid *oid, + git_repository *repo, + const char *buffer, + int force); + +/**@}*/ + +/** @name Deprecated Revspec Constants + * + * These enumeration values are retained for backward compatibility. + * The newer versions of these values should be preferred in all new + * code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +typedef git_revspec_t git_revparse_mode_t; + +/** @deprecated use `GIT_REVSPEC_SINGLE` */ +#define GIT_REVPARSE_SINGLE GIT_REVSPEC_SINGLE +/** @deprecated use `GIT_REVSPEC_RANGE` */ +#define GIT_REVPARSE_RANGE GIT_REVSPEC_RANGE +/** @deprecated use `GIT_REVSPEC_MERGE_BASE` */ +#define GIT_REVPARSE_MERGE_BASE GIT_REVSPEC_MERGE_BASE + +/**@}*/ + +/** @name Deprecated Credential Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +typedef git_credential git_cred; +typedef git_credential_userpass_plaintext git_cred_userpass_plaintext; +typedef git_credential_username git_cred_username; +typedef git_credential_default git_cred_default; +typedef git_credential_ssh_key git_cred_ssh_key; +typedef git_credential_ssh_interactive git_cred_ssh_interactive; +typedef git_credential_ssh_custom git_cred_ssh_custom; + +typedef git_credential_acquire_cb git_cred_acquire_cb; +typedef git_credential_sign_cb git_cred_sign_callback; +typedef git_credential_sign_cb git_cred_sign_cb; +typedef git_credential_ssh_interactive_cb git_cred_ssh_interactive_callback; +typedef git_credential_ssh_interactive_cb git_cred_ssh_interactive_cb; + +/** @deprecated use `git_credential_t` */ +#define git_credtype_t git_credential_t + +/** @deprecated use `GIT_CREDENTIAL_USERPASS_PLAINTEXT` */ +#define GIT_CREDTYPE_USERPASS_PLAINTEXT GIT_CREDENTIAL_USERPASS_PLAINTEXT +/** @deprecated use `GIT_CREDENTIAL_SSH_KEY` */ +#define GIT_CREDTYPE_SSH_KEY GIT_CREDENTIAL_SSH_KEY +/** @deprecated use `GIT_CREDENTIAL_SSH_CUSTOM` */ +#define GIT_CREDTYPE_SSH_CUSTOM GIT_CREDENTIAL_SSH_CUSTOM +/** @deprecated use `GIT_CREDENTIAL_DEFAULT` */ +#define GIT_CREDTYPE_DEFAULT GIT_CREDENTIAL_DEFAULT +/** @deprecated use `GIT_CREDENTIAL_SSH_INTERACTIVE` */ +#define GIT_CREDTYPE_SSH_INTERACTIVE GIT_CREDENTIAL_SSH_INTERACTIVE +/** @deprecated use `GIT_CREDENTIAL_USERNAME` */ +#define GIT_CREDTYPE_USERNAME GIT_CREDENTIAL_USERNAME +/** @deprecated use `GIT_CREDENTIAL_SSH_MEMORY` */ +#define GIT_CREDTYPE_SSH_MEMORY GIT_CREDENTIAL_SSH_MEMORY + +GIT_EXTERN(void) git_cred_free(git_credential *cred); +GIT_EXTERN(int) git_cred_has_username(git_credential *cred); +GIT_EXTERN(const char *) git_cred_get_username(git_credential *cred); +GIT_EXTERN(int) git_cred_userpass_plaintext_new( + git_credential **out, + const char *username, + const char *password); +GIT_EXTERN(int) git_cred_default_new(git_credential **out); +GIT_EXTERN(int) git_cred_username_new(git_credential **out, const char *username); +GIT_EXTERN(int) git_cred_ssh_key_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); +GIT_EXTERN(int) git_cred_ssh_key_memory_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); +GIT_EXTERN(int) git_cred_ssh_interactive_new( + git_credential **out, + const char *username, + git_credential_ssh_interactive_cb prompt_callback, + void *payload); +GIT_EXTERN(int) git_cred_ssh_key_from_agent( + git_credential **out, + const char *username); +GIT_EXTERN(int) git_cred_ssh_custom_new( + git_credential **out, + const char *username, + const char *publickey, + size_t publickey_len, + git_credential_sign_cb sign_callback, + void *payload); + +/* Deprecated Credential Helper Types */ + +typedef git_credential_userpass_payload git_cred_userpass_payload; + +GIT_EXTERN(int) git_cred_userpass( + git_credential **out, + const char *url, + const char *user_from_url, + unsigned int allowed_types, + void *payload); + +/**@}*/ + +/** @name Deprecated Trace Callback Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +typedef git_trace_cb git_trace_callback; + +/**@}*/ + +/** @name Deprecated Object ID Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +#ifndef GIT_EXPERIMENTAL_SHA256 +/** Deprecated OID "raw size" definition */ +# define GIT_OID_RAWSZ GIT_OID_SHA1_SIZE +/** Deprecated OID "hex size" definition */ +# define GIT_OID_HEXSZ GIT_OID_SHA1_HEXSIZE +/** Deprecated OID "hex zero" definition */ +# define GIT_OID_HEX_ZERO GIT_OID_SHA1_HEXZERO +#endif + +GIT_EXTERN(int) git_oid_iszero(const git_oid *id); + +/**@}*/ + +/** @name Deprecated OID Array Functions + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Free the memory referred to by the git_oidarray. This is an alias of + * `git_oidarray_dispose` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_oidarray_dispose + * @see git_oidarray_dispose + */ +GIT_EXTERN(void) git_oidarray_free(git_oidarray *array); + +/**@}*/ + +/** @name Deprecated Transfer Progress Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * This structure is used to provide callers information about the + * progress of indexing a packfile. + * + * This type is deprecated, but there is no plan to remove this + * type definition at this time. + */ +typedef git_indexer_progress git_transfer_progress; + +/** + * Type definition for progress callbacks during indexing. + * + * This type is deprecated, but there is no plan to remove this + * type definition at this time. + */ +typedef git_indexer_progress_cb git_transfer_progress_cb; + +/** + * Type definition for push transfer progress callbacks. + * + * This type is deprecated, but there is no plan to remove this + * type definition at this time. + */ +typedef git_push_transfer_progress_cb git_push_transfer_progress; + + /** The type of a remote completion event */ +#define git_remote_completion_type git_remote_completion_t + +/** + * Callback for listing the remote heads + */ +typedef int GIT_CALLBACK(git_headlist_cb)(git_remote_head *rhead, void *payload); + +/**@}*/ + +/** @name Deprecated String Array Functions + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Copy a string array object from source to target. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @param tgt target + * @param src source + * @return 0 on success, < 0 on allocation failure + */ +GIT_EXTERN(int) git_strarray_copy(git_strarray *tgt, const git_strarray *src); + +/** + * Free the memory referred to by the git_strarray. This is an alias of + * `git_strarray_dispose` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_strarray_dispose + * @see git_strarray_dispose + */ +GIT_EXTERN(void) git_strarray_free(git_strarray *array); + +/**@}*/ + +/** @name Deprecated Version Constants + * + * These constants are retained for backward compatibility. The newer + * versions of these constants should be preferred in all new code. + * + * There is no plan to remove these backward compatibility constants at + * this time. + */ +/**@{*/ + +#define LIBGIT2_VER_MAJOR LIBGIT2_VERSION_MAJOR +#define LIBGIT2_VER_MINOR LIBGIT2_VERSION_MINOR +#define LIBGIT2_VER_REVISION LIBGIT2_VERSION_REVISION +#define LIBGIT2_VER_PATCH LIBGIT2_VERSION_PATCH +#define LIBGIT2_VER_PRERELEASE LIBGIT2_VERSION_PRERELEASE + +/**@}*/ + +/** @name Deprecated Options Initialization Functions + * + * These functions are retained for backward compatibility. The newer + * versions of these functions should be preferred in all new code. + * + * There is no plan to remove these backward compatibility functions at + * this time. + */ +/**@{*/ + +GIT_EXTERN(int) git_blame_init_options(git_blame_options *opts, unsigned int version); +GIT_EXTERN(int) git_checkout_init_options(git_checkout_options *opts, unsigned int version); +GIT_EXTERN(int) git_cherrypick_init_options(git_cherrypick_options *opts, unsigned int version); +GIT_EXTERN(int) git_clone_init_options(git_clone_options *opts, unsigned int version); +GIT_EXTERN(int) git_describe_init_options(git_describe_options *opts, unsigned int version); +GIT_EXTERN(int) git_describe_init_format_options(git_describe_format_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_init_options(git_diff_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_find_init_options(git_diff_find_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_format_email_init_options(git_diff_format_email_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_patchid_init_options(git_diff_patchid_options *opts, unsigned int version); +GIT_EXTERN(int) git_fetch_init_options(git_fetch_options *opts, unsigned int version); +GIT_EXTERN(int) git_indexer_init_options(git_indexer_options *opts, unsigned int version); +GIT_EXTERN(int) git_merge_init_options(git_merge_options *opts, unsigned int version); +GIT_EXTERN(int) git_merge_file_init_input(git_merge_file_input *input, unsigned int version); +GIT_EXTERN(int) git_merge_file_init_options(git_merge_file_options *opts, unsigned int version); +GIT_EXTERN(int) git_proxy_init_options(git_proxy_options *opts, unsigned int version); +GIT_EXTERN(int) git_push_init_options(git_push_options *opts, unsigned int version); +GIT_EXTERN(int) git_rebase_init_options(git_rebase_options *opts, unsigned int version); +GIT_EXTERN(int) git_remote_create_init_options(git_remote_create_options *opts, unsigned int version); +GIT_EXTERN(int) git_repository_init_init_options(git_repository_init_options *opts, unsigned int version); +GIT_EXTERN(int) git_revert_init_options(git_revert_options *opts, unsigned int version); +GIT_EXTERN(int) git_stash_apply_init_options(git_stash_apply_options *opts, unsigned int version); +GIT_EXTERN(int) git_status_init_options(git_status_options *opts, unsigned int version); +GIT_EXTERN(int) git_submodule_update_init_options(git_submodule_update_options *opts, unsigned int version); +GIT_EXTERN(int) git_worktree_add_init_options(git_worktree_add_options *opts, unsigned int version); +GIT_EXTERN(int) git_worktree_prune_init_options(git_worktree_prune_options *opts, unsigned int version); + +/**@}*/ + +/** @} */ +GIT_END_DECL + +#endif + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/describe.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/describe.h new file mode 100644 index 00000000..938c470d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/describe.h @@ -0,0 +1,206 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_describe_h__ +#define INCLUDE_git_describe_h__ + +#include "common.h" +#include "types.h" +#include "buffer.h" + +/** + * @file git2/describe.h + * @brief Describe a commit in reference to tags + * @defgroup git_describe Git describing routines + * @ingroup Git + * @{ + * + * Describe a commit, showing information about how the current commit + * relates to the tags. This can be useful for showing how the current + * commit has changed from a particular tagged version of the repository. + */ +GIT_BEGIN_DECL + +/** + * Reference lookup strategy + * + * These behave like the --tags and --all options to git-describe, + * namely they say to look for any reference in either refs/tags/ or + * refs/ respectively. + */ +typedef enum { + GIT_DESCRIBE_DEFAULT, + GIT_DESCRIBE_TAGS, + GIT_DESCRIBE_ALL +} git_describe_strategy_t; + +/** + * Describe options structure + * + * Initialize with `GIT_DESCRIBE_OPTIONS_INIT`. Alternatively, you can + * use `git_describe_options_init`. + * + */ +typedef struct git_describe_options { + unsigned int version; + + unsigned int max_candidates_tags; /**< default: 10 */ + unsigned int describe_strategy; /**< default: GIT_DESCRIBE_DEFAULT */ + const char *pattern; + /** + * When calculating the distance from the matching tag or + * reference, only walk down the first-parent ancestry. + */ + int only_follow_first_parent; + /** + * If no matching tag or reference is found, the describe + * operation would normally fail. If this option is set, it + * will instead fall back to showing the full id of the + * commit. + */ + int show_commit_oid_as_fallback; +} git_describe_options; + +/** Default maximum candidate tags */ +#define GIT_DESCRIBE_DEFAULT_MAX_CANDIDATES_TAGS 10 +/** Default abbreviated size */ +#define GIT_DESCRIBE_DEFAULT_ABBREVIATED_SIZE 7 + +/** Current version for the `git_describe_options` structure */ +#define GIT_DESCRIBE_OPTIONS_VERSION 1 + +/** Static constructor for `git_describe_options` */ +#define GIT_DESCRIBE_OPTIONS_INIT { \ + GIT_DESCRIBE_OPTIONS_VERSION, \ + GIT_DESCRIBE_DEFAULT_MAX_CANDIDATES_TAGS, \ +} + +/** + * Initialize git_describe_options structure + * + * Initializes a `git_describe_options` with default values. Equivalent to creating + * an instance with GIT_DESCRIBE_OPTIONS_INIT. + * + * @param opts The `git_describe_options` struct to initialize. + * @param version The struct version; pass `GIT_DESCRIBE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_describe_options_init(git_describe_options *opts, unsigned int version); + +/** + * Describe format options structure + * + * Initialize with `GIT_DESCRIBE_FORMAT_OPTIONS_INIT`. Alternatively, you can + * use `git_describe_format_options_init`. + * + */ +typedef struct { + unsigned int version; + + /** + * Size of the abbreviated commit id to use. This value is the + * lower bound for the length of the abbreviated string. The + * default is 7. + */ + unsigned int abbreviated_size; + + /** + * Set to use the long format even when a shorter name could be used. + */ + int always_use_long_format; + + /** + * If the workdir is dirty and this is set, this string will + * be appended to the description string. + */ + const char *dirty_suffix; +} git_describe_format_options; + +/** Current version for the `git_describe_format_options` structure */ +#define GIT_DESCRIBE_FORMAT_OPTIONS_VERSION 1 + +/** Static constructor for `git_describe_format_options` */ +#define GIT_DESCRIBE_FORMAT_OPTIONS_INIT { \ + GIT_DESCRIBE_FORMAT_OPTIONS_VERSION, \ + GIT_DESCRIBE_DEFAULT_ABBREVIATED_SIZE, \ + } + +/** + * Initialize git_describe_format_options structure + * + * Initializes a `git_describe_format_options` with default values. Equivalent to creating + * an instance with GIT_DESCRIBE_FORMAT_OPTIONS_INIT. + * + * @param opts The `git_describe_format_options` struct to initialize. + * @param version The struct version; pass `GIT_DESCRIBE_FORMAT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_describe_format_options_init(git_describe_format_options *opts, unsigned int version); + +/** + * A struct that stores the result of a describe operation. + */ +typedef struct git_describe_result git_describe_result; + +/** + * Describe a commit + * + * Perform the describe operation on the given committish object. + * + * @param result pointer to store the result. You must free this once + * you're done with it. + * @param committish a committish to describe + * @param opts the lookup options (or NULL for defaults) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_describe_commit( + git_describe_result **result, + git_object *committish, + git_describe_options *opts); + +/** + * Describe a commit + * + * 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. + * + * @param out pointer to store the result. You must free this once + * you're done with it. + * @param repo the repository in which to perform the describe + * @param opts the lookup options (or NULL for defaults) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_describe_workdir( + git_describe_result **out, + git_repository *repo, + git_describe_options *opts); + +/** + * Print the describe result to a buffer + * + * @param out The buffer to store the result + * @param result the result from `git_describe_commit()` or + * `git_describe_workdir()`. + * @param opts the formatting options (or NULL for defaults) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_describe_format( + git_buf *out, + const git_describe_result *result, + const git_describe_format_options *opts); + +/** + * Free the describe result. + * + * @param result The result to free. + */ +GIT_EXTERN(void) git_describe_result_free(git_describe_result *result); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/diff.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/diff.h new file mode 100644 index 00000000..262ba2e5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/diff.h @@ -0,0 +1,1512 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_diff_h__ +#define INCLUDE_git_diff_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "tree.h" +#include "refs.h" + +/** + * @file git2/diff.h + * @brief Indicate the differences between two versions of the repository + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Flags for diff options. A combination of these flags can be passed + * in via the `flags` value in the `git_diff_options`. + */ +typedef enum { + /** Normal diff, the default */ + GIT_DIFF_NORMAL = 0, + + /* + * Options controlling which files will be in the diff + */ + + /** Reverse the sides of the diff */ + GIT_DIFF_REVERSE = (1u << 0), + + /** Include ignored files in the diff */ + GIT_DIFF_INCLUDE_IGNORED = (1u << 1), + + /** Even with GIT_DIFF_INCLUDE_IGNORED, an entire ignored directory + * will be marked with only a single entry in the diff; this flag + * adds all files under the directory as IGNORED entries, too. + */ + GIT_DIFF_RECURSE_IGNORED_DIRS = (1u << 2), + + /** Include untracked files in the diff */ + GIT_DIFF_INCLUDE_UNTRACKED = (1u << 3), + + /** Even with GIT_DIFF_INCLUDE_UNTRACKED, an entire untracked + * directory will be marked with only a single entry in the diff + * (a la what core Git does in `git status`); this flag adds *all* + * files under untracked directories as UNTRACKED entries, too. + */ + GIT_DIFF_RECURSE_UNTRACKED_DIRS = (1u << 4), + + /** Include unmodified files in the diff */ + GIT_DIFF_INCLUDE_UNMODIFIED = (1u << 5), + + /** Normally, a type change between files will be converted into a + * DELETED record for the old and an ADDED record for the new; this + * options enabled the generation of TYPECHANGE delta records. + */ + GIT_DIFF_INCLUDE_TYPECHANGE = (1u << 6), + + /** Even with GIT_DIFF_INCLUDE_TYPECHANGE, blob->tree changes still + * generally show as a DELETED blob. This flag tries to correctly + * label blob->tree transitions as TYPECHANGE records with new_file's + * mode set to tree. Note: the tree SHA will not be available. + */ + GIT_DIFF_INCLUDE_TYPECHANGE_TREES = (1u << 7), + + /** Ignore file mode changes */ + GIT_DIFF_IGNORE_FILEMODE = (1u << 8), + + /** Treat all submodules as unmodified */ + GIT_DIFF_IGNORE_SUBMODULES = (1u << 9), + + /** Use case insensitive filename comparisons */ + GIT_DIFF_IGNORE_CASE = (1u << 10), + + /** May be combined with `GIT_DIFF_IGNORE_CASE` to specify that a file + * that has changed case will be returned as an add/delete pair. + */ + GIT_DIFF_INCLUDE_CASECHANGE = (1u << 11), + + /** If the pathspec is set in the diff options, this flags indicates + * that the paths will be treated as literal paths instead of + * fnmatch patterns. Each path in the list must either be a full + * path to a file or a directory. (A trailing slash indicates that + * the path will _only_ match a directory). If a directory is + * specified, all children will be included. + */ + GIT_DIFF_DISABLE_PATHSPEC_MATCH = (1u << 12), + + /** Disable updating of the `binary` flag in delta records. This is + * useful when iterating over a diff if you don't need hunk and data + * callbacks and want to avoid having to load file completely. + */ + GIT_DIFF_SKIP_BINARY_CHECK = (1u << 13), + + /** When diff finds an untracked directory, to match the behavior of + * core Git, it scans the contents for IGNORED and UNTRACKED files. + * If *all* contents are IGNORED, then the directory is IGNORED; if + * any contents are not IGNORED, then the directory is UNTRACKED. + * This is extra work that may not matter in many cases. This flag + * turns off that scan and immediately labels an untracked directory + * as UNTRACKED (changing the behavior to not match core Git). + */ + GIT_DIFF_ENABLE_FAST_UNTRACKED_DIRS = (1u << 14), + + /** When diff finds a file in the working directory with stat + * information different from the index, but the OID ends up being the + * same, write the correct stat information into the index. Note: + * without this flag, diff will always leave the index untouched. + */ + GIT_DIFF_UPDATE_INDEX = (1u << 15), + + /** Include unreadable files in the diff */ + GIT_DIFF_INCLUDE_UNREADABLE = (1u << 16), + + /** Include unreadable files in the diff */ + GIT_DIFF_INCLUDE_UNREADABLE_AS_UNTRACKED = (1u << 17), + + /* + * Options controlling how output will be generated + */ + + /** Use a heuristic that takes indentation and whitespace into account + * which generally can produce better diffs when dealing with ambiguous + * diff hunks. + */ + GIT_DIFF_INDENT_HEURISTIC = (1u << 18), + + /** Ignore blank lines */ + GIT_DIFF_IGNORE_BLANK_LINES = (1u << 19), + + /** Treat all files as text, disabling binary attributes & detection */ + GIT_DIFF_FORCE_TEXT = (1u << 20), + /** Treat all files as binary, disabling text diffs */ + GIT_DIFF_FORCE_BINARY = (1u << 21), + + /** Ignore all whitespace */ + GIT_DIFF_IGNORE_WHITESPACE = (1u << 22), + /** Ignore changes in amount of whitespace */ + GIT_DIFF_IGNORE_WHITESPACE_CHANGE = (1u << 23), + /** Ignore whitespace at end of line */ + GIT_DIFF_IGNORE_WHITESPACE_EOL = (1u << 24), + + /** When generating patch text, include the content of untracked + * files. This automatically turns on GIT_DIFF_INCLUDE_UNTRACKED but + * it does not turn on GIT_DIFF_RECURSE_UNTRACKED_DIRS. Add that + * flag if you want the content of every single UNTRACKED file. + */ + GIT_DIFF_SHOW_UNTRACKED_CONTENT = (1u << 25), + + /** When generating output, include the names of unmodified files if + * they are included in the git_diff. Normally these are skipped in + * the formats that list files (e.g. name-only, name-status, raw). + * Even with this, these will not be included in patch format. + */ + GIT_DIFF_SHOW_UNMODIFIED = (1u << 26), + + /** Use the "patience diff" algorithm */ + GIT_DIFF_PATIENCE = (1u << 28), + /** Take extra time to find minimal diff */ + GIT_DIFF_MINIMAL = (1u << 29), + + /** Include the necessary deflate / delta information so that `git-apply` + * can apply given diff information to binary files. + */ + GIT_DIFF_SHOW_BINARY = (1u << 30) +} git_diff_option_t; + +/** + * The diff object that contains all individual file deltas. + * + * A `diff` represents the cumulative list of differences between two + * snapshots of a repository (possibly filtered by a set of file name + * patterns). + * + * Calculating diffs is generally done in two phases: building a list of + * diffs then traversing it. This makes is easier to share logic across + * the various types of diffs (tree vs tree, workdir vs index, etc.), and + * also allows you to insert optional diff post-processing phases, + * such as rename detection, in between the steps. When you are done with + * a diff object, it must be freed. + * + * This is an opaque structure which will be allocated by one of the diff + * generator functions below (such as `git_diff_tree_to_tree`). You are + * responsible for releasing the object memory when done, using the + * `git_diff_free()` function. + * + */ +typedef struct git_diff git_diff; + +/** + * Flags for the delta object and the file objects on each side. + * + * These flags are used for both the `flags` value of the `git_diff_delta` + * and the flags for the `git_diff_file` objects representing the old and + * new sides of the delta. Values outside of this public range should be + * considered reserved for internal or future use. + */ +typedef enum { + GIT_DIFF_FLAG_BINARY = (1u << 0), /**< file(s) treated as binary data */ + GIT_DIFF_FLAG_NOT_BINARY = (1u << 1), /**< file(s) treated as text data */ + GIT_DIFF_FLAG_VALID_ID = (1u << 2), /**< `id` value is known correct */ + GIT_DIFF_FLAG_EXISTS = (1u << 3), /**< file exists at this side of the delta */ + GIT_DIFF_FLAG_VALID_SIZE = (1u << 4) /**< file size value is known correct */ +} git_diff_flag_t; + +/** + * What type of change is described by a git_diff_delta? + * + * `GIT_DELTA_RENAMED` and `GIT_DELTA_COPIED` will only show up if you run + * `git_diff_find_similar()` on the diff object. + * + * `GIT_DELTA_TYPECHANGE` only shows up given `GIT_DIFF_INCLUDE_TYPECHANGE` + * in the option flags (otherwise type changes will be split into ADDED / + * DELETED pairs). + */ +typedef enum { + GIT_DELTA_UNMODIFIED = 0, /**< no changes */ + GIT_DELTA_ADDED = 1, /**< entry does not exist in old version */ + GIT_DELTA_DELETED = 2, /**< entry does not exist in new version */ + GIT_DELTA_MODIFIED = 3, /**< entry content changed between old and new */ + GIT_DELTA_RENAMED = 4, /**< entry was renamed between old and new */ + GIT_DELTA_COPIED = 5, /**< entry was copied from another old entry */ + GIT_DELTA_IGNORED = 6, /**< entry is ignored item in workdir */ + GIT_DELTA_UNTRACKED = 7, /**< entry is untracked item in workdir */ + GIT_DELTA_TYPECHANGE = 8, /**< type of entry changed between old and new */ + GIT_DELTA_UNREADABLE = 9, /**< entry is unreadable */ + GIT_DELTA_CONFLICTED = 10 /**< entry in the index is conflicted */ +} git_delta_t; + +/** + * Description of one side of a delta. + * + * Although this is called a "file", it could represent a file, a symbolic + * link, a submodule commit id, or even a tree (although that only if you + * are tracking type changes or ignored/untracked directories). + */ +typedef struct { + /** + * The `git_oid` of the item. If the entry represents an + * absent side of a diff (e.g. the `old_file` of a `GIT_DELTA_ADDED` delta), + * then the oid will be zeroes. + */ + git_oid id; + + /** + * The NUL-terminated path to the entry relative to the working + * directory of the repository. + */ + const char *path; + + /** + * The size of the entry in bytes. + */ + git_object_size_t size; + + /** + * A combination of the `git_diff_flag_t` types + */ + uint32_t flags; + + /** + * Roughly, the stat() `st_mode` value for the item. This will + * be restricted to one of the `git_filemode_t` values. + */ + uint16_t mode; + + /** + * Represents the known length of the `id` field, when + * converted to a hex string. It is generally `GIT_OID_SHA1_HEXSIZE`, unless this + * delta was created from reading a patch file, in which case it may be + * abbreviated to something reasonable, like 7 characters. + */ + uint16_t id_abbrev; + + /// Use later GIT_EXTERN(const git_index_entry *) git_index_get_bypath(git_index *index, const char *path, int stage); + /// PATCH + git_time_t ctime; + git_time_t mtime; +} git_diff_file; + +/** + * Description of changes to one entry. + * + * A `delta` is a file pair with an old and new revision. The old version + * may be absent if the file was just created and the new version may be + * absent if the file was deleted. A diff is mostly just a list of deltas. + * + * When iterating over a diff, this will be passed to most callbacks and + * you can use the contents to understand exactly what has changed. + * + * The `old_file` represents the "from" side of the diff and the `new_file` + * represents to "to" side of the diff. What those means depend on the + * function that was used to generate the diff and will be documented below. + * You can also use the `GIT_DIFF_REVERSE` flag to flip it around. + * + * Although the two sides of the delta are named "old_file" and "new_file", + * they actually may correspond to entries that represent a file, a symbolic + * link, a submodule commit id, or even a tree (if you are tracking type + * changes or ignored/untracked directories). + * + * Under some circumstances, in the name of efficiency, not all fields will + * be filled in, but we generally try to fill in as much as possible. One + * example is that the "flags" field may not have either the `BINARY` or the + * `NOT_BINARY` flag set to avoid examining file contents if you do not pass + * in hunk and/or line callbacks to the diff foreach iteration function. It + * will just use the git attributes for those files. + * + * The similarity score is zero unless you call `git_diff_find_similar()` + * which does a similarity analysis of files in the diff. Use that + * function to do rename and copy detection, and to split heavily modified + * files in add/delete pairs. After that call, deltas with a status of + * GIT_DELTA_RENAMED or GIT_DELTA_COPIED will have a similarity score + * between 0 and 100 indicating how similar the old and new sides are. + * + * If you ask `git_diff_find_similar` to find heavily modified files to + * break, but to not *actually* break the records, then GIT_DELTA_MODIFIED + * records may have a non-zero similarity score if the self-similarity is + * below the split threshold. To display this value like core Git, invert + * the score (a la `printf("M%03d", 100 - delta->similarity)`). + */ +typedef struct { + git_delta_t status; + uint32_t flags; /**< git_diff_flag_t values */ + uint16_t similarity; /**< for RENAMED and COPIED, value 0-100 */ + uint16_t nfiles; /**< number of files in this delta */ + git_diff_file old_file; + git_diff_file new_file; +} git_diff_delta; + +/** + * Diff notification callback function. + * + * The callback will be called for each file, just before the `git_diff_delta` + * gets inserted into the diff. + * + * 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. + * + * @param diff_so_far the diff structure as it currently exists + * @param delta_to_add the delta that is to be added + * @param matched_pathspec the pathspec + * @param payload the user-specified callback payload + * @return 0 on success, 1 to skip this delta, or an error code + */ +typedef int GIT_CALLBACK(git_diff_notify_cb)( + const git_diff *diff_so_far, + const git_diff_delta *delta_to_add, + const char *matched_pathspec, + void *payload); + +/** + * Diff progress callback. + * + * Called before each file comparison. + * + * @param diff_so_far The diff being generated. + * @param old_path The path to the old file or NULL. + * @param new_path The path to the new file or NULL. + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_progress_cb)( + const git_diff *diff_so_far, + const char *old_path, + const char *new_path, + void *payload); + +/** + * Structure describing options about how the diff should be executed. + * + * Setting all values of the structure to zero will yield the default + * values. Similarly, passing NULL for the options structure will + * give the defaults. The default values are marked below. + * + */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** + * A combination of `git_diff_option_t` values above. + * Defaults to GIT_DIFF_NORMAL + */ + uint32_t flags; + + /* options controlling which files are in the diff */ + + /** Overrides the submodule ignore setting for all submodules in the diff. */ + git_submodule_ignore_t ignore_submodules; + + /** + * An array of paths / fnmatch patterns to constrain diff. + * All paths are included by default. + */ + git_strarray pathspec; + + /** + * An optional callback function, notifying the consumer of changes to + * the diff as new deltas are added. + */ + git_diff_notify_cb notify_cb; + + /** + * An optional callback function, notifying the consumer of which files + * are being examined as the diff is generated. + */ + git_diff_progress_cb progress_cb; + + /** The payload to pass to the callback functions. */ + void *payload; + + /* options controlling how to diff text is generated */ + + /** + * The number of unchanged lines that define the boundary of a hunk + * (and to display before and after). Defaults to 3. + */ + uint32_t context_lines; + /** + * The maximum number of unchanged lines between hunk boundaries before + * the hunks will be merged into one. Defaults to 0. + */ + uint32_t interhunk_lines; + + /** + * The object ID type to emit in diffs; this is used by functions + * that operate without a repository - namely `git_diff_buffers`, + * or `git_diff_blobs` and `git_diff_blob_to_buffer` when one blob + * is `NULL`. + * + * This may be omitted (set to `0`). If a repository is available, + * the object ID format of the repository will be used. If no + * repository is available then the default is `GIT_OID_SHA`. + * + * If this is specified and a repository is available, then the + * specified `oid_type` must match the repository's object ID + * format. + */ + git_oid_t oid_type; + + /** + * The abbreviation length to use when formatting object ids. + * Defaults to the value of 'core.abbrev' from the config, or 7 if unset. + */ + uint16_t id_abbrev; + + /** + * A size (in bytes) above which a blob will be marked as binary + * automatically; pass a negative value to disable. + * Defaults to 512MB. + */ + git_off_t max_size; + + /** + * The virtual "directory" prefix for old file names in hunk headers. + * Default is "a". + */ + const char *old_prefix; + + /** + * The virtual "directory" prefix for new file names in hunk headers. + * Defaults to "b". + */ + const char *new_prefix; +} git_diff_options; + +/** The current version of the diff options structure */ +#define GIT_DIFF_OPTIONS_VERSION 1 + +/** Stack initializer for diff options. Alternatively use + * `git_diff_options_init` programmatic initialization. + */ +#define GIT_DIFF_OPTIONS_INIT \ + {GIT_DIFF_OPTIONS_VERSION, 0, GIT_SUBMODULE_IGNORE_UNSPECIFIED, {NULL,0}, NULL, NULL, NULL, 3} + +/** + * Initialize git_diff_options structure + * + * Initializes a `git_diff_options` with default values. Equivalent to creating + * an instance with GIT_DIFF_OPTIONS_INIT. + * + * @param opts The `git_diff_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_options_init( + git_diff_options *opts, + unsigned int version); + +/** + * When iterating over a diff, callback that will be made per file. + * + * @param delta A pointer to the delta data for the file + * @param progress Goes from 0 to 1 over the diff + * @param payload User-specified pointer from foreach function + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_file_cb)( + const git_diff_delta *delta, + float progress, + void *payload); + +/** Maximum size of the hunk header */ +#define GIT_DIFF_HUNK_HEADER_SIZE 128 + +/** + * When producing a binary diff, the binary data returned will be + * either the deflated full ("literal") contents of the file, or + * the deflated binary delta between the two sides (whichever is + * smaller). + */ +typedef enum { + /** There is no binary delta. */ + GIT_DIFF_BINARY_NONE, + + /** The binary data is the literal contents of the file. */ + GIT_DIFF_BINARY_LITERAL, + + /** The binary data is the delta from one side to the other. */ + GIT_DIFF_BINARY_DELTA +} git_diff_binary_t; + +/** The contents of one of the files in a binary diff. */ +typedef struct { + /** The type of binary data for this file. */ + git_diff_binary_t type; + + /** The binary data, deflated. */ + const char *data; + + /** The length of the binary data. */ + size_t datalen; + + /** The length of the binary data after inflation. */ + size_t inflatedlen; +} git_diff_binary_file; + +/** + * Structure describing the binary contents of a diff. + * + * A `binary` file / delta is a file (or pair) for which no text diffs + * should be generated. A diff can contain delta entries that are + * binary, but no diff content will be output for those files. There is + * a base heuristic for binary detection and you can further tune the + * behavior with git attributes or diff flags and option settings. + */ +typedef struct { + /** + * Whether there is data in this binary structure or not. + * + * If this is `1`, then this was produced and included binary content. + * If this is `0` then this was generated knowing only that a binary + * file changed but without providing the data, probably from a patch + * that said `Binary files a/file.txt and b/file.txt differ`. + */ + unsigned int contains_data; + git_diff_binary_file old_file; /**< The contents of the old file. */ + git_diff_binary_file new_file; /**< The contents of the new file. */ +} git_diff_binary; + +/** + * When iterating over a diff, callback that will be made for + * binary content within the diff. + * + * @param delta the delta + * @param binary the binary content + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_binary_cb)( + const git_diff_delta *delta, + const git_diff_binary *binary, + void *payload); + +/** + * Structure describing a hunk of a diff. + * + * A `hunk` is a span of modified lines in a delta along with some stable + * surrounding context. You can configure the amount of context and other + * properties of how hunks are generated. Each hunk also comes with a + * header that described where it starts and ends in both the old and new + * versions in the delta. + */ +typedef struct { + int old_start; /**< Starting line number in old_file */ + int old_lines; /**< Number of lines in old_file */ + int new_start; /**< Starting line number in new_file */ + int new_lines; /**< Number of lines in new_file */ + size_t header_len; /**< Number of bytes in header text */ + char header[GIT_DIFF_HUNK_HEADER_SIZE]; /**< Header text, NUL-byte terminated */ +} git_diff_hunk; + +/** + * When iterating over a diff, callback that will be made per hunk. + * + * @param delta the delta + * @param hunk the hunk + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_hunk_cb)( + const git_diff_delta *delta, + const git_diff_hunk *hunk, + void *payload); + +/** + * Line origin constants. + * + * These values describe where a line came from and will be passed to + * the git_diff_line_cb when iterating over a diff. There are some + * special origin constants at the end that are used for the text + * output callbacks to demarcate lines that are actually part of + * the file or hunk headers. + */ +typedef enum { + /* These values will be sent to `git_diff_line_cb` along with the line */ + GIT_DIFF_LINE_CONTEXT = ' ', + GIT_DIFF_LINE_ADDITION = '+', + GIT_DIFF_LINE_DELETION = '-', + + GIT_DIFF_LINE_CONTEXT_EOFNL = '=', /**< Both files have no LF at end */ + GIT_DIFF_LINE_ADD_EOFNL = '>', /**< Old has no LF at end, new does */ + GIT_DIFF_LINE_DEL_EOFNL = '<', /**< Old has LF at end, new does not */ + + /* The following values will only be sent to a `git_diff_line_cb` when + * the content of a diff is being formatted through `git_diff_print`. + */ + GIT_DIFF_LINE_FILE_HDR = 'F', + GIT_DIFF_LINE_HUNK_HDR = 'H', + GIT_DIFF_LINE_BINARY = 'B' /**< For "Binary files x and y differ" */ +} git_diff_line_t; + +/** + * Structure describing a line (or data span) of a diff. + * + * A `line` is a range of characters inside a hunk. It could be a context + * line (i.e. in both old and new versions), an added line (i.e. only in + * the new version), or a removed line (i.e. only in the old version). + * Unfortunately, we don't know anything about the encoding of data in the + * file being diffed, so we cannot tell you much about the line content. + * Line data will not be NUL-byte terminated, however, because it will be + * just a span of bytes inside the larger file. + */ +typedef struct { + char origin; /**< A git_diff_line_t value */ + int old_lineno; /**< Line number in old file or -1 for added line */ + int new_lineno; /**< Line number in new file or -1 for deleted line */ + int num_lines; /**< Number of newline characters in content */ + size_t content_len; /**< Number of bytes of data */ + git_off_t content_offset; /**< Offset in the original file to the content */ + const char *content; /**< Pointer to diff text, not NUL-byte terminated */ +} git_diff_line; + +/** + * When iterating over a diff, callback that will be made per text diff + * line. In this context, the provided range will be NULL. + * + * 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. + * + * @param delta the delta that contains the line + * @param hunk the hunk that contains the line + * @param line the line in the diff + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_line_cb)( + const git_diff_delta *delta, /**< delta that contains this data */ + const git_diff_hunk *hunk, /**< hunk containing this data */ + const git_diff_line *line, /**< line data */ + void *payload); /**< user reference data */ + +/** + * Flags to control the behavior of diff rename/copy detection. + */ +typedef enum { + /** Obey `diff.renames`. Overridden by any other GIT_DIFF_FIND_... flag. */ + GIT_DIFF_FIND_BY_CONFIG = 0, + + /** Look for renames? (`--find-renames`) */ + GIT_DIFF_FIND_RENAMES = (1u << 0), + + /** Consider old side of MODIFIED for renames? (`--break-rewrites=N`) */ + GIT_DIFF_FIND_RENAMES_FROM_REWRITES = (1u << 1), + + /** Look for copies? (a la `--find-copies`). */ + GIT_DIFF_FIND_COPIES = (1u << 2), + + /** Consider UNMODIFIED as copy sources? (`--find-copies-harder`). + * + * For this to work correctly, use GIT_DIFF_INCLUDE_UNMODIFIED when + * the initial `git_diff` is being generated. + */ + GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED = (1u << 3), + + /** Mark significant rewrites for split (`--break-rewrites=/M`) */ + GIT_DIFF_FIND_REWRITES = (1u << 4), + /** Actually split large rewrites into delete/add pairs */ + GIT_DIFF_BREAK_REWRITES = (1u << 5), + /** Mark rewrites for split and break into delete/add pairs */ + GIT_DIFF_FIND_AND_BREAK_REWRITES = + (GIT_DIFF_FIND_REWRITES | GIT_DIFF_BREAK_REWRITES), + + /** Find renames/copies for UNTRACKED items in working directory. + * + * For this to work correctly, use GIT_DIFF_INCLUDE_UNTRACKED when the + * initial `git_diff` is being generated (and obviously the diff must + * be against the working directory for this to make sense). + */ + GIT_DIFF_FIND_FOR_UNTRACKED = (1u << 6), + + /** Turn on all finding features. */ + GIT_DIFF_FIND_ALL = (0x0ff), + + /** Measure similarity ignoring leading whitespace (default) */ + GIT_DIFF_FIND_IGNORE_LEADING_WHITESPACE = 0, + /** Measure similarity ignoring all whitespace */ + GIT_DIFF_FIND_IGNORE_WHITESPACE = (1u << 12), + /** Measure similarity including all data */ + GIT_DIFF_FIND_DONT_IGNORE_WHITESPACE = (1u << 13), + /** Measure similarity only by comparing SHAs (fast and cheap) */ + GIT_DIFF_FIND_EXACT_MATCH_ONLY = (1u << 14), + + /** Do not break rewrites unless they contribute to a rename. + * + * Normally, GIT_DIFF_FIND_AND_BREAK_REWRITES will measure the self- + * similarity of modified files and split the ones that have changed a + * lot into a DELETE / ADD pair. Then the sides of that pair will be + * considered candidates for rename and copy detection. + * + * If you add this flag in and the split pair is *not* used for an + * actual rename or copy, then the modified record will be restored to + * a regular MODIFIED record instead of being split. + */ + GIT_DIFF_BREAK_REWRITES_FOR_RENAMES_ONLY = (1u << 15), + + /** Remove any UNMODIFIED deltas after find_similar is done. + * + * Using GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED to emulate the + * --find-copies-harder behavior requires building a diff with the + * GIT_DIFF_INCLUDE_UNMODIFIED flag. If you do not want UNMODIFIED + * records in the final result, pass this flag to have them removed. + */ + GIT_DIFF_FIND_REMOVE_UNMODIFIED = (1u << 16) +} git_diff_find_t; + +/** + * Pluggable similarity metric + */ +typedef struct { + int GIT_CALLBACK(file_signature)( + void **out, const git_diff_file *file, + const char *fullpath, void *payload); + int GIT_CALLBACK(buffer_signature)( + void **out, const git_diff_file *file, + const char *buf, size_t buflen, void *payload); + void GIT_CALLBACK(free_signature)(void *sig, void *payload); + int GIT_CALLBACK(similarity)(int *score, void *siga, void *sigb, void *payload); + void *payload; +} git_diff_similarity_metric; + +/** + * Control behavior of rename and copy detection + * + * These options mostly mimic parameters that can be passed to git-diff. + */ +typedef struct { + unsigned int version; + + /** + * Combination of git_diff_find_t values (default GIT_DIFF_FIND_BY_CONFIG). + * NOTE: if you don't explicitly set this, `diff.renames` could be set + * to false, resulting in `git_diff_find_similar` doing nothing. + */ + uint32_t flags; + + /** + * Threshold above which similar files will be considered renames. + * This is equivalent to the -M option. Defaults to 50. + */ + uint16_t rename_threshold; + + /** + * Threshold below which similar files will be eligible to be a rename source. + * This is equivalent to the first part of the -B option. Defaults to 50. + */ + uint16_t rename_from_rewrite_threshold; + + /** + * Threshold above which similar files will be considered copies. + * This is equivalent to the -C option. Defaults to 50. + */ + uint16_t copy_threshold; + + /** + * Threshold below which similar files will be split into a delete/add pair. + * This is equivalent to the last part of the -B option. Defaults to 60. + */ + uint16_t break_rewrite_threshold; + + /** + * Maximum number of matches to consider for a particular file. + * + * This is a little different from the `-l` option from Git because we + * will still process up to this many matches before abandoning the search. + * Defaults to 1000. + */ + size_t rename_limit; + + /** + * The `metric` option allows you to plug in a custom similarity metric. + * + * Set it to NULL to use the default internal metric. + * + * The default metric is based on sampling hashes of ranges of data in + * the file, which is a pretty good similarity approximation that should + * work fairly well for both text and binary data while still being + * pretty fast with a fixed memory overhead. + */ + git_diff_similarity_metric *metric; +} git_diff_find_options; + +/** Current version for the `git_diff_find_options` structure */ +#define GIT_DIFF_FIND_OPTIONS_VERSION 1 + +/** Static constructor for `git_diff_find_options` */ +#define GIT_DIFF_FIND_OPTIONS_INIT {GIT_DIFF_FIND_OPTIONS_VERSION} + +/** + * Initialize git_diff_find_options structure + * + * Initializes a `git_diff_find_options` with default values. Equivalent to creating + * an instance with GIT_DIFF_FIND_OPTIONS_INIT. + * + * @param opts The `git_diff_find_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_FIND_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_find_options_init( + git_diff_find_options *opts, + unsigned int version); + +/** @name Diff Generator Functions + * + * These are the functions you would use to create (or destroy) a + * git_diff from various objects in a repository. + */ +/**@{*/ + +/** + * Deallocate a diff. + * + * @param diff The previously created diff; cannot be used after free. + */ +GIT_EXTERN(void) git_diff_free(git_diff *diff); + +/** + * Create a diff with the difference between two tree objects. + * + * This is equivalent to `git diff ` + * + * 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`. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository containing the trees. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param new_tree A git_tree object to diff to, or NULL for empty tree. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_tree( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + git_tree *new_tree, + const git_diff_options *opts); + +/** + * Create a diff between a tree and repository index. + * + * This is equivalent to `git diff --cached ` or if you pass + * the HEAD tree, then like `git diff --cached`. + * + * 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. + * + * 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. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository containing the tree and index. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param index The index to diff with; repo index used if NULL. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_index( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + git_index *index, + const git_diff_options *opts); + +/** + * Create a diff between the repository index and the workdir directory. + * + * 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 ` + * using libgit2. + * + * 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. + * + * 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. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository. + * @param index The index to diff from; repo index used if NULL. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_index_to_workdir( + git_diff **diff, + git_repository *repo, + git_index *index, + const git_diff_options *opts); + +/** + * Create a diff between a tree and the working directory. + * + * 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. + * + * This is not the same as `git diff ` or `git diff-index + * `. 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. + * + * 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. + * + * @param diff A pointer to a git_diff pointer that will be allocated. + * @param repo The repository containing the tree. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_workdir( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + const git_diff_options *opts); + +/** + * Create a diff between a tree and the working directory using index data + * to account for staged deletes, tracked files, etc. + * + * This emulates `git diff ` 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. + * + * @param diff A pointer to a git_diff pointer that will be allocated. + * @param repo The repository containing the tree. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_workdir_with_index( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + const git_diff_options *opts); + +/** + * Create a diff with the difference between two index objects. + * + * The first index will be used for the "old_file" side of the delta and the + * second index will be used for the "new_file" side of the delta. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository containing the indexes. + * @param old_index A git_index object to diff from. + * @param new_index A git_index object to diff to. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_index_to_index( + git_diff **diff, + git_repository *repo, + git_index *old_index, + git_index *new_index, + const git_diff_options *opts); + +/** + * Merge one diff into another. + * + * This merges items from the "from" list into the "onto" list. The + * resulting diff will have all items that appear in either list. + * If an item appears in both lists, then it will be "merged" to appear + * as if the old version was from the "onto" list and the new version + * is from the "from" list (with the exception that if the item has a + * pending DELETE in the middle, then it will show as deleted). + * + * @param onto Diff to merge into. + * @param from Diff to merge. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_merge( + git_diff *onto, + const git_diff *from); + +/** + * Transform a diff marking file renames, copies, etc. + * + * 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. + * + * @param diff diff to run detection algorithms on + * @param options Control how detection should be run, NULL for defaults + * @return 0 on success, -1 on failure + */ +GIT_EXTERN(int) git_diff_find_similar( + git_diff *diff, + const git_diff_find_options *options); + +/**@}*/ + + +/** @name Diff Processor Functions + * + * These are the functions you apply to a diff to process it + * or read it in some way. + */ +/**@{*/ + +/** + * Query how many diff records are there in a diff. + * + * @param diff A git_diff generated by one of the above functions + * @return Count of number of deltas in the list + */ +GIT_EXTERN(size_t) git_diff_num_deltas(const git_diff *diff); + +/** + * Query how many diff deltas are there in a diff filtered by type. + * + * This works just like `git_diff_num_deltas()` with an extra parameter + * that is a `git_delta_t` and returns just the count of how many deltas + * match that particular type. + * + * @param diff A git_diff generated by one of the above functions + * @param type A git_delta_t value to filter the count + * @return Count of number of deltas matching delta_t type + */ +GIT_EXTERN(size_t) git_diff_num_deltas_of_type( + const git_diff *diff, git_delta_t type); + +/** + * Return the diff delta for an entry in the diff list. + * + * The `git_diff_delta` pointer points to internal data and you do not + * have to release it when you are done with it. It will go away when + * the * `git_diff` (or any associated `git_patch`) goes away. + * + * Note that the flags on the delta related to whether it has binary + * content or not may not be set if there are no attributes set for the + * file and there has been no reason to load the file data at this point. + * For now, if you need those flags to be up to date, your only option is + * to either use `git_diff_foreach` or create a `git_patch`. + * + * @param diff Diff list object + * @param idx Index into diff list + * @return Pointer to git_diff_delta (or NULL if `idx` out of range) + */ +GIT_EXTERN(const git_diff_delta *) git_diff_get_delta( + const git_diff *diff, size_t idx); + +/** + * Check if deltas are sorted case sensitively or insensitively. + * + * @param diff diff to check + * @return 0 if case sensitive, 1 if case is ignored + */ +GIT_EXTERN(int) git_diff_is_sorted_icase(const git_diff *diff); + +/** + * Loop over all deltas in a diff issuing callbacks. + * + * This will iterate through all of the files described in a diff. You + * should provide a file callback to learn about each file. + * + * The "hunk" and "line" callbacks are optional, and the text diff of the + * files will only be calculated if they are not NULL. Of course, these + * callbacks will not be invoked for binary files on the diff or for + * files whose only changed is a file mode change. + * + * Returning a non-zero value from any of the callbacks will terminate + * the iteration and return the value to the user. + * + * @param diff A git_diff generated by one of the above functions. + * @param file_cb Callback function to make per file in the diff. + * @param binary_cb Optional callback to make for binary files. + * @param hunk_cb Optional callback to make per hunk of text diff. This + * callback is called to describe a range of lines in the + * diff. It will not be issued for binary files. + * @param line_cb Optional callback to make per line of diff text. This + * same callback will be made for context lines, added, and + * removed lines, and even for a deleted trailing newline. + * @param payload Reference pointer that will be passed to your callbacks. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_foreach( + git_diff *diff, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/** + * Look up the single character abbreviation for a delta status code. + * + * When you run `git diff --name-status` it uses single letter codes in + * the output such as 'A' for added, 'D' for deleted, 'M' for modified, + * etc. This function converts a git_delta_t value into these letters for + * your own purposes. GIT_DELTA_UNTRACKED will return a space (i.e. ' '). + * + * @param status The git_delta_t value to look up + * @return The single character label for that code + */ +GIT_EXTERN(char) git_diff_status_char(git_delta_t status); + +/** + * Possible output formats for diff data + */ +typedef enum { + GIT_DIFF_FORMAT_PATCH = 1u, /**< full git diff */ + GIT_DIFF_FORMAT_PATCH_HEADER = 2u, /**< just the file headers of patch */ + GIT_DIFF_FORMAT_RAW = 3u, /**< like git diff --raw */ + GIT_DIFF_FORMAT_NAME_ONLY = 4u, /**< like git diff --name-only */ + GIT_DIFF_FORMAT_NAME_STATUS = 5u, /**< like git diff --name-status */ + GIT_DIFF_FORMAT_PATCH_ID = 6u /**< git diff as used by git patch-id */ +} git_diff_format_t; + +/** + * Iterate over a diff generating formatted text output. + * + * Returning a non-zero value from the callbacks will terminate the + * iteration and return the non-zero value to the caller. + * + * @param diff A git_diff generated by one of the above functions. + * @param format A git_diff_format_t value to pick the text format. + * @param print_cb Callback to make per line of diff text. + * @param payload Reference pointer that will be passed to your callback. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_print( + git_diff *diff, + git_diff_format_t format, + git_diff_line_cb print_cb, + void *payload); + +/** + * Produce the complete formatted text output from a diff into a + * buffer. + * + * @param out A pointer to a user-allocated git_buf that will + * contain the diff text + * @param diff A git_diff generated by one of the above functions. + * @param format A git_diff_format_t value to pick the text format. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_diff_to_buf( + git_buf *out, + git_diff *diff, + git_diff_format_t format); + +/**@}*/ + +/* + * Low-level file comparison, invoking callbacks per difference. + */ + +/** + * Directly run a diff on two blobs. + * + * Compared to a file, a blob lacks some contextual information. As such, + * the `git_diff_file` given to the callback will have some fake data; i.e. + * `mode` will be 0 and `path` will be NULL. + * + * NULL is allowed for either `old_blob` or `new_blob` and will be treated + * as an empty blob, with the `oid` set to NULL in the `git_diff_file` data. + * Passing NULL for both blobs is a noop; no callbacks will be made at all. + * + * We do run a binary content check on the blob content and if either blob + * looks like binary data, the `git_diff_delta` binary attribute will be set + * to 1 and no call to the hunk_cb nor line_cb will be made (unless you pass + * `GIT_DIFF_FORCE_TEXT` of course). + * + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param new_blob Blob for new side of diff, or NULL for empty blob + * @param new_as_path Treat new blob as if it had this filename; can be NULL + * @param options Options for diff, or NULL for default options + * @param file_cb Callback for "file"; made once if there is a diff; can be NULL + * @param binary_cb Callback for binary files; can be NULL + * @param hunk_cb Callback for each hunk in diff; can be NULL + * @param line_cb Callback for each line in diff; can be NULL + * @param payload Payload passed to each callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_blobs( + const git_blob *old_blob, + const char *old_as_path, + const git_blob *new_blob, + const char *new_as_path, + const git_diff_options *options, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/** + * Directly run a diff between a blob and a buffer. + * + * As with `git_diff_blobs`, comparing a blob and buffer lacks some context, + * so the `git_diff_file` parameters to the callbacks will be faked a la the + * rules for `git_diff_blobs()`. + * + * Passing NULL for `old_blob` will be treated as an empty blob (i.e. the + * `file_cb` will be invoked with GIT_DELTA_ADDED and the diff will be the + * entire content of the buffer added). Passing NULL to the buffer will do + * the reverse, with GIT_DELTA_REMOVED and blob content removed. + * + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param buffer Raw data for new side of diff, or NULL for empty + * @param buffer_len Length of raw data for new side of diff + * @param buffer_as_path Treat buffer as if it had this filename; can be NULL + * @param options Options for diff, or NULL for default options + * @param file_cb Callback for "file"; made once if there is a diff; can be NULL + * @param binary_cb Callback for binary files; can be NULL + * @param hunk_cb Callback for each hunk in diff; can be NULL + * @param line_cb Callback for each line in diff; can be NULL + * @param payload Payload passed to each callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_blob_to_buffer( + const git_blob *old_blob, + const char *old_as_path, + const char *buffer, + size_t buffer_len, + const char *buffer_as_path, + const git_diff_options *options, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/** + * Directly run a diff between two buffers. + * + * Even more than with `git_diff_blobs`, comparing two buffer lacks + * context, so the `git_diff_file` parameters to the callbacks will be + * faked a la the rules for `git_diff_blobs()`. + * + * @param old_buffer Raw data for old side of diff, or NULL for empty + * @param old_len Length of the raw data for old side of the diff + * @param old_as_path Treat old buffer as if it had this filename; can be NULL + * @param new_buffer Raw data for new side of diff, or NULL for empty + * @param new_len Length of raw data for new side of diff + * @param new_as_path Treat buffer as if it had this filename; can be NULL + * @param options Options for diff, or NULL for default options + * @param file_cb Callback for "file"; made once if there is a diff; can be NULL + * @param binary_cb Callback for binary files; can be NULL + * @param hunk_cb Callback for each hunk in diff; can be NULL + * @param line_cb Callback for each line in diff; can be NULL + * @param payload Payload passed to each callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_buffers( + const void *old_buffer, + size_t old_len, + const char *old_as_path, + const void *new_buffer, + size_t new_len, + const char *new_as_path, + const git_diff_options *options, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/* Patch file parsing. */ + +/** + * Options for parsing a diff / patch file. + */ +typedef struct { + unsigned int version; + git_oid_t oid_type; +} git_diff_parse_options; + +/** The current version of the diff parse options structure */ +#define GIT_DIFF_PARSE_OPTIONS_VERSION 1 + +/** Stack initializer for diff parse options. Alternatively use + * `git_diff_parse_options_init` programmatic initialization. + */ +#define GIT_DIFF_PARSE_OPTIONS_INIT \ + { GIT_DIFF_PARSE_OPTIONS_VERSION, GIT_OID_DEFAULT } + +/** + * Read the contents of a git patch file into a `git_diff` object. + * + * The diff object produced is similar to the one that would be + * produced if you actually produced it computationally by comparing + * two trees, however there may be subtle differences. For example, + * a patch file likely contains abbreviated object IDs, so the + * object IDs in a `git_diff_delta` produced by this function will + * also be abbreviated. + * + * This function will only read patch files created by a git + * implementation, it will not read unified diffs produced by + * the `diff` program, nor any other types of patch files. + * + * @param out A pointer to a git_diff pointer that will be allocated. + * @param content The contents of a patch file + * @param content_len The length of the patch file contents + * @return 0 or an error code + */ +GIT_EXTERN(int) git_diff_from_buffer( + git_diff **out, + const char *content, + size_t content_len +#ifdef GIT_EXPERIMENTAL_SHA256 + , git_diff_parse_options *opts +#endif + ); + +/** + * This is an opaque structure which is allocated by `git_diff_get_stats`. + * You are responsible for releasing the object memory when done, using the + * `git_diff_stats_free()` function. + */ +typedef struct git_diff_stats git_diff_stats; + +/** + * Formatting options for diff stats + */ +typedef enum { + /** No stats*/ + GIT_DIFF_STATS_NONE = 0, + + /** Full statistics, equivalent of `--stat` */ + GIT_DIFF_STATS_FULL = (1u << 0), + + /** Short statistics, equivalent of `--shortstat` */ + GIT_DIFF_STATS_SHORT = (1u << 1), + + /** Number statistics, equivalent of `--numstat` */ + GIT_DIFF_STATS_NUMBER = (1u << 2), + + /** Extended header information such as creations, renames and mode changes, equivalent of `--summary` */ + GIT_DIFF_STATS_INCLUDE_SUMMARY = (1u << 3) +} git_diff_stats_format_t; + +/** + * Accumulate diff statistics for all patches. + * + * @param out Structure containing the diff statistics. + * @param diff A git_diff generated by one of the above functions. + * @return 0 on success; non-zero on error + */ +GIT_EXTERN(int) git_diff_get_stats( + git_diff_stats **out, + git_diff *diff); + +/** + * Get the total number of files changed in a diff + * + * @param stats A `git_diff_stats` generated by one of the above functions. + * @return total number of files changed in the diff + */ +GIT_EXTERN(size_t) git_diff_stats_files_changed( + const git_diff_stats *stats); + +/** + * Get the total number of insertions in a diff + * + * @param stats A `git_diff_stats` generated by one of the above functions. + * @return total number of insertions in the diff + */ +GIT_EXTERN(size_t) git_diff_stats_insertions( + const git_diff_stats *stats); + +/** + * Get the total number of deletions in a diff + * + * @param stats A `git_diff_stats` generated by one of the above functions. + * @return total number of deletions in the diff + */ +GIT_EXTERN(size_t) git_diff_stats_deletions( + const git_diff_stats *stats); + +/** + * Print diff statistics to a `git_buf`. + * + * @param out buffer to store the formatted diff statistics in. + * @param stats A `git_diff_stats` generated by one of the above functions. + * @param format Formatting option. + * @param width Target width for output (only affects GIT_DIFF_STATS_FULL) + * @return 0 on success; non-zero on error + */ +GIT_EXTERN(int) git_diff_stats_to_buf( + git_buf *out, + const git_diff_stats *stats, + git_diff_stats_format_t format, + size_t width); + +/** + * Deallocate a `git_diff_stats`. + * + * @param stats The previously created statistics object; + * cannot be used after free. + */ +GIT_EXTERN(void) git_diff_stats_free(git_diff_stats *stats); + +/** + * Patch ID options structure + * + * Initialize with `GIT_PATCHID_OPTIONS_INIT`. Alternatively, you can + * use `git_diff_patchid_options_init`. + * + */ +typedef struct git_diff_patchid_options { + unsigned int version; +} git_diff_patchid_options; + +/** Current version for the `git_diff_patchid_options` structure */ +#define GIT_DIFF_PATCHID_OPTIONS_VERSION 1 + +/** Static constructor for `git_diff_patchid_options` */ +#define GIT_DIFF_PATCHID_OPTIONS_INIT { GIT_DIFF_PATCHID_OPTIONS_VERSION } + +/** + * Initialize git_diff_patchid_options structure + * + * Initializes a `git_diff_patchid_options` with default values. Equivalent to + * creating an instance with `GIT_DIFF_PATCHID_OPTIONS_INIT`. + * + * @param opts The `git_diff_patchid_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_PATCHID_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_patchid_options_init( + git_diff_patchid_options *opts, + unsigned int version); + +/** + * Calculate the patch ID for the given patch. + * + * 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. + * + * 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. + * + * @param out Pointer where the calculated patch ID should be stored + * @param diff The diff to calculate the ID for + * @param opts Options for how to calculate the patch ID. This is + * intended for future changes, as currently no options are + * available. + * @return 0 on success, an error code otherwise. + */ +GIT_EXTERN(int) git_diff_patchid(git_oid *out, git_diff *diff, git_diff_patchid_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/email.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/email.h new file mode 100644 index 00000000..ad37e424 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/email.h @@ -0,0 +1,107 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_email_h__ +#define INCLUDE_git_email_h__ + +#include "common.h" +#include "diff.h" + +/** + * @file git2/email.h + * @brief Produce email-ready patches + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Formatting options for diff e-mail generation + */ +typedef enum { + /** Normal patch, the default */ + GIT_EMAIL_CREATE_DEFAULT = 0, + + /** Do not include patch numbers in the subject prefix. */ + GIT_EMAIL_CREATE_OMIT_NUMBERS = (1u << 0), + + /** + * Include numbers in the subject prefix even when the + * patch is for a single commit (1/1). + */ + GIT_EMAIL_CREATE_ALWAYS_NUMBER = (1u << 1), + + /** Do not perform rename or similarity detection. */ + GIT_EMAIL_CREATE_NO_RENAMES = (1u << 2) +} git_email_create_flags_t; + +/** + * Options for controlling the formatting of the generated e-mail. + */ +typedef struct { + unsigned int version; + + /** see `git_email_create_flags_t` above */ + uint32_t flags; + + /** Options to use when creating diffs */ + git_diff_options diff_opts; + + /** Options for finding similarities within diffs */ + git_diff_find_options diff_find_opts; + + /** + * The subject prefix, by default "PATCH". If set to an empty + * string ("") then only the patch numbers will be shown in the + * prefix. If the subject_prefix is empty and patch numbers + * are not being shown, the prefix will be omitted entirely. + */ + const char *subject_prefix; + + /** + * The starting patch number; this cannot be 0. By default, + * this is 1. + */ + size_t start_number; + + /** The "re-roll" number. By default, there is no re-roll. */ + size_t reroll_number; +} git_email_create_options; + +/** Current version for the `git_email_create_options` structure */ +#define GIT_EMAIL_CREATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_email_create_options` + * + * By default, our options include rename detection and binary + * diffs to match `git format-patch`. + */ +#define GIT_EMAIL_CREATE_OPTIONS_INIT \ +{ \ + GIT_EMAIL_CREATE_OPTIONS_VERSION, \ + GIT_EMAIL_CREATE_DEFAULT, \ + { GIT_DIFF_OPTIONS_VERSION, GIT_DIFF_SHOW_BINARY, GIT_SUBMODULE_IGNORE_UNSPECIFIED, {NULL,0}, NULL, NULL, NULL, 3 }, \ + GIT_DIFF_FIND_OPTIONS_INIT \ +} + +/** + * Create a diff for a commit in mbox format for sending via email. + * The commit must not be a merge commit. + * + * @param out buffer to store the e-mail patch in + * @param commit commit to create a patch for + * @param opts email creation options + * @return 0 or an error code + */ +GIT_EXTERN(int) git_email_create_from_commit( + git_buf *out, + git_commit *commit, + const git_email_create_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/errors.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/errors.h new file mode 100644 index 00000000..11413907 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/errors.h @@ -0,0 +1,154 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_errors_h__ +#define INCLUDE_git_errors_h__ + +#include "common.h" + +/** + * @file git2/errors.h + * @brief Error handling routines and variables + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Generic return codes */ +typedef enum { + /** + * No error occurred; the call was successful. + */ + GIT_OK = 0, + + /** + * An error occurred; call `git_error_last` for more information. + */ + GIT_ERROR = -1, + + GIT_ENOTFOUND = -3, /**< Requested object could not be found. */ + GIT_EEXISTS = -4, /**< Object exists preventing operation. */ + GIT_EAMBIGUOUS = -5, /**< More than one object matches. */ + GIT_EBUFS = -6, /**< Output buffer too short to hold data. */ + + /** + * GIT_EUSER is a special error that is never generated by libgit2 + * code. You can return it from a callback (e.g to stop an iteration) + * to know that it was generated by the callback and not by libgit2. + */ + GIT_EUSER = -7, + + GIT_EBAREREPO = -8, /**< Operation not allowed on bare repository. */ + GIT_EUNBORNBRANCH = -9, /**< HEAD refers to branch with no commits. */ + GIT_EUNMERGED = -10, /**< Merge in progress prevented operation */ + GIT_ENONFASTFORWARD = -11, /**< Reference was not fast-forwardable */ + GIT_EINVALIDSPEC = -12, /**< Name/ref spec was not in a valid format */ + GIT_ECONFLICT = -13, /**< Checkout conflicts prevented operation */ + GIT_ELOCKED = -14, /**< Lock file prevented operation */ + GIT_EMODIFIED = -15, /**< Reference value does not match expected */ + GIT_EAUTH = -16, /**< Authentication error */ + GIT_ECERTIFICATE = -17, /**< Server certificate is invalid */ + GIT_EAPPLIED = -18, /**< Patch/merge has already been applied */ + GIT_EPEEL = -19, /**< The requested peel operation is not possible */ + GIT_EEOF = -20, /**< Unexpected EOF */ + GIT_EINVALID = -21, /**< Invalid operation or input */ + GIT_EUNCOMMITTED = -22, /**< Uncommitted changes in index prevented operation */ + GIT_EDIRECTORY = -23, /**< The operation is not valid for a directory */ + GIT_EMERGECONFLICT = -24, /**< A merge conflict exists and cannot continue */ + + GIT_PASSTHROUGH = -30, /**< A user-configured callback refused to act */ + GIT_ITEROVER = -31, /**< Signals end of iteration with iterator */ + GIT_RETRY = -32, /**< Internal only */ + GIT_EMISMATCH = -33, /**< Hashsum mismatch in object */ + GIT_EINDEXDIRTY = -34, /**< Unsaved changes in the index would be overwritten */ + GIT_EAPPLYFAIL = -35, /**< Patch application failed */ + GIT_EOWNER = -36, /**< The object is not owned by the current user */ + GIT_TIMEOUT = -37, /**< The operation timed out */ + GIT_EUNCHANGED = -38, /**< There were no changes */ + GIT_ENOTSUPPORTED = -39, /**< An option is not supported */ + GIT_EREADONLY = -40 /**< The subject is read-only */ +} git_error_code; + +/** + * Error classes are the category of error. They reflect the area of the + * code where an error occurred. + */ +typedef enum { + GIT_ERROR_NONE = 0, + GIT_ERROR_NOMEMORY, + GIT_ERROR_OS, + GIT_ERROR_INVALID, + GIT_ERROR_REFERENCE, + GIT_ERROR_ZLIB, + GIT_ERROR_REPOSITORY, + GIT_ERROR_CONFIG, + GIT_ERROR_REGEX, + GIT_ERROR_ODB, + GIT_ERROR_INDEX, + GIT_ERROR_OBJECT, + GIT_ERROR_NET, + GIT_ERROR_TAG, + GIT_ERROR_TREE, + GIT_ERROR_INDEXER, + GIT_ERROR_SSL, + GIT_ERROR_SUBMODULE, + GIT_ERROR_THREAD, + GIT_ERROR_STASH, + GIT_ERROR_CHECKOUT, + GIT_ERROR_FETCHHEAD, + GIT_ERROR_MERGE, + GIT_ERROR_SSH, + GIT_ERROR_FILTER, + GIT_ERROR_REVERT, + GIT_ERROR_CALLBACK, + GIT_ERROR_CHERRYPICK, + GIT_ERROR_DESCRIBE, + GIT_ERROR_REBASE, + GIT_ERROR_FILESYSTEM, + GIT_ERROR_PATCH, + GIT_ERROR_WORKTREE, + GIT_ERROR_SHA, + GIT_ERROR_HTTP, + GIT_ERROR_INTERNAL, + GIT_ERROR_GRAFTS +} git_error_t; + +/** + * Structure to store extra details of the last error that occurred. + * + * 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 + */ +typedef struct { + char *message; /**< The error message for the last error. */ + int klass; /**< The category of the last error. @type git_error_t */ +} git_error; + +/** + * Return the last `git_error` object that was generated for the + * current thread. + * + * This function will never return NULL. + * + * 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. + * + * 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.) + * + * The memory for this object is managed by libgit2. It should not + * be freed. + * + * @return A pointer to a `git_error` object that describes the error. + */ +GIT_EXTERN(const git_error *) git_error_last(void); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/experimental.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/experimental.h new file mode 100644 index 00000000..543f62f9 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/experimental.h @@ -0,0 +1,13 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_experimental_h__ +#define INCLUDE_experimental_h__ + +/* #undef GIT_EXPERIMENTAL_SHA256 */ + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/filter.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/filter.h new file mode 100644 index 00000000..cf6c5f59 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/filter.h @@ -0,0 +1,283 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_filter_h__ +#define INCLUDE_git_filter_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "buffer.h" + +/** + * @file git2/filter.h + * @brief Filters modify files during checkout or commit + * @ingroup Git + * + * During checkout, filters update a file from a "canonical" state to + * a format appropriate for the local filesystem; during commit, filters + * produce the canonical state. For example, on Windows, the line ending + * filters _may_ take a canonical state (with Unix-style newlines) in + * the repository, and place the contents on-disk with Windows-style + * `\r\n` line endings. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Filters are applied in one of two directions: smudging - which is + * exporting a file from the Git object database to the working directory, + * and cleaning - which is importing a file from the working directory to + * the Git object database. These values control which direction of + * change is being applied. + */ +typedef enum { + GIT_FILTER_TO_WORKTREE = 0, + GIT_FILTER_SMUDGE = GIT_FILTER_TO_WORKTREE, + GIT_FILTER_TO_ODB = 1, + GIT_FILTER_CLEAN = GIT_FILTER_TO_ODB +} git_filter_mode_t; + +/** + * Filter option flags. + */ +typedef enum { + GIT_FILTER_DEFAULT = 0u, + + /** Don't error for `safecrlf` violations, allow them to continue. */ + GIT_FILTER_ALLOW_UNSAFE = (1u << 0), + + /** Don't load `/etc/gitattributes` (or the system equivalent) */ + GIT_FILTER_NO_SYSTEM_ATTRIBUTES = (1u << 1), + + /** Load attributes from `.gitattributes` in the root of HEAD */ + GIT_FILTER_ATTRIBUTES_FROM_HEAD = (1u << 2), + + /** + * Load attributes from `.gitattributes` in a given commit. + * This can only be specified in a `git_filter_options`. + */ + GIT_FILTER_ATTRIBUTES_FROM_COMMIT = (1u << 3) +} git_filter_flag_t; + +/** + * Filtering options + */ +typedef struct { + unsigned int version; + + /** See `git_filter_flag_t` above */ + uint32_t flags; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + git_oid *commit_id; +#endif + + /** + * The commit to load attributes from, when + * `GIT_FILTER_ATTRIBUTES_FROM_COMMIT` is specified. + */ + git_oid attr_commit_id; +} git_filter_options; + +/** Current version for the `git_filter_options` structure */ +#define GIT_FILTER_OPTIONS_VERSION 1 + +/** Static constructor for `git_filter_options` */ +#define GIT_FILTER_OPTIONS_INIT {GIT_FILTER_OPTIONS_VERSION} + +/** + * A filter that can transform file data + * + * 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). + * + * The two builtin filters are: + * + * * "crlf" which uses the complex rules with the "text", "eol", and + * "crlf" file attributes to decide how to convert between LF and CRLF + * line endings + * * "ident" which replaces "$Id$" in a blob with "$Id: $" upon + * checkout and replaced "$Id: $" with "$Id$" on checkin. + */ +typedef struct git_filter git_filter; + +/** + * List of filters to be applied + * + * 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. + */ +typedef struct git_filter_list git_filter_list; + +/** + * Load the filter list for a given path. + * + * This will return 0 (success) but set the output git_filter_list to NULL + * if no filters are requested for the given file. + * + * @param filters Output newly created git_filter_list (or NULL) + * @param repo Repository object that contains `path` + * @param blob The blob to which the filter will be applied (if known) + * @param path Relative path of the file to be filtered + * @param mode Filtering direction (WT->ODB or ODB->WT) + * @param flags Combination of `git_filter_flag_t` flags + * @return 0 on success (which could still return NULL if no filters are + * needed for the requested file), <0 on error + */ +GIT_EXTERN(int) git_filter_list_load( + git_filter_list **filters, + git_repository *repo, + git_blob *blob, /* can be NULL */ + const char *path, + git_filter_mode_t mode, + uint32_t flags); + +/** + * Load the filter list for a given path. + * + * This will return 0 (success) but set the output git_filter_list to NULL + * if no filters are requested for the given file. + * + * @param filters Output newly created git_filter_list (or NULL) + * @param repo Repository object that contains `path` + * @param blob The blob to which the filter will be applied (if known) + * @param path Relative path of the file to be filtered + * @param mode Filtering direction (WT->ODB or ODB->WT) + * @param opts The `git_filter_options` to use when loading filters + * @return 0 on success (which could still return NULL if no filters are + * needed for the requested file), <0 on error + */ +GIT_EXTERN(int) git_filter_list_load_ext( + git_filter_list **filters, + git_repository *repo, + git_blob *blob, + const char *path, + git_filter_mode_t mode, + git_filter_options *opts); + +/** + * Query the filter list to see if a given filter (by name) will run. + * The built-in filters "crlf" and "ident" can be queried, otherwise this + * is the name of the filter specified by the filter attribute. + * + * This will return 0 if the given filter is not in the list, or 1 if + * the filter will be applied. + * + * @param filters A loaded git_filter_list (or NULL) + * @param name The name of the filter to query + * @return 1 if the filter is in the list, 0 otherwise + */ +GIT_EXTERN(int) git_filter_list_contains( + git_filter_list *filters, + const char *name); + +/** + * Apply filter list to a data buffer. + * + * @param out Buffer to store the result of the filtering + * @param filters A loaded git_filter_list (or NULL) + * @param in Buffer containing the data to filter + * @param in_len The length of the input buffer + * @return 0 on success, an error code otherwise + */ +GIT_EXTERN(int) git_filter_list_apply_to_buffer( + git_buf *out, + git_filter_list *filters, + const char *in, + size_t in_len); + +/** + * Apply a filter list to the contents of a file on disk + * + * @param out buffer into which to store the filtered file + * @param filters the list of filters to apply + * @param repo the repository in which to perform the filtering + * @param path the path of the file to filter, a relative path will be + * taken as relative to the workdir + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_apply_to_file( + git_buf *out, + git_filter_list *filters, + git_repository *repo, + const char *path); + +/** + * Apply a filter list to the contents of a blob + * + * @param out buffer into which to store the filtered file + * @param filters the list of filters to apply + * @param blob the blob to filter + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_apply_to_blob( + git_buf *out, + git_filter_list *filters, + git_blob *blob); + +/** + * Apply a filter list to an arbitrary buffer as a stream + * + * @param filters the list of filters to apply + * @param buffer the buffer to filter + * @param len the size of the buffer + * @param target the stream into which the data will be written + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_stream_buffer( + git_filter_list *filters, + const char *buffer, + size_t len, + git_writestream *target); + +/** + * Apply a filter list to a file as a stream + * + * @param filters the list of filters to apply + * @param repo the repository in which to perform the filtering + * @param path the path of the file to filter, a relative path will be + * taken as relative to the workdir + * @param target the stream into which the data will be written + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_stream_file( + git_filter_list *filters, + git_repository *repo, + const char *path, + git_writestream *target); + +/** + * Apply a filter list to a blob as a stream + * + * @param filters the list of filters to apply + * @param blob the blob to filter + * @param target the stream into which the data will be written + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_stream_blob( + git_filter_list *filters, + git_blob *blob, + git_writestream *target); + +/** + * Free a git_filter_list + * + * @param filters A git_filter_list created by `git_filter_list_load` + */ +GIT_EXTERN(void) git_filter_list_free(git_filter_list *filters); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_branch.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_branch.h new file mode 100644 index 00000000..8135a22a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_branch.h @@ -0,0 +1,24 @@ +#include "common.h" +#include "oid.h" +#include "types.h" +#include "branch.h" + +/** + * @file git2/branch.h + * @brief Git branch parsing routines + * @defgroup git_branch Git branch management + * @ingroup Git + * @{ + */ + +GIT_BEGIN_DECL +// PATCH +// These functions are aliases and can be safely removed. +// Use `git_#{func}` instead. +// Replace and remove this file later. +GIT_EXTERN(int) gitup_branch_upstream_name(git_buf *out, git_repository *repo, const char *refname); +GIT_EXTERN(int) gitup_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *refname); +GIT_EXTERN(int) gitup_branch_upstream_merge(git_buf *buf, git_repository *repo, const char *refname); + +/** @} */ +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_clone.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_clone.h new file mode 100644 index 00000000..be1b6cd5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_clone.h @@ -0,0 +1,24 @@ +#include "clone.h" +#include "common.h" +#include "types.h" +#include "indexer.h" +#include "checkout.h" +#include "remote.h" +#include "transport.h" + +/** + * @file git2/clone.h + * @brief Git cloning routines + * @defgroup git_clone Git cloning routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +GIT_EXTERN(int) gitup_clone_into(git_repository *repo, + git_remote *remote, + const git_fetch_options *fetch_opts, + const git_checkout_options *checkout_opts, + const char *branch); + +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_config.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_config.h new file mode 100644 index 00000000..af563bd5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_config.h @@ -0,0 +1,19 @@ +#include "config.h" + +GIT_BEGIN_DECL + +/** + * Locate the path to the local configuration file + * + * The returned path may be used on any `git_config` call to load the local + * configuration file. + * + * @param repo The repository whose local configuration file to find + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a local configuration file has been found. Its path will be stored in `out`. + */ +/// This function uses repository method item path. +/// Maybe it is better to use `repository` method `gitup_repository_find_local_config` +GIT_EXTERN(int) gitup_config_find_local(git_repository *repo, git_buf *out); + +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_refs.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_refs.h new file mode 100644 index 00000000..18d8c406 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_refs.h @@ -0,0 +1,35 @@ +#include "refs.h" + +GIT_BEGIN_DECL + +/** + * Create a virtual direct reference. + * + * This is wrapper for + * git_reference_create(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const char *log_message); + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference virtually lives + * @param name The name of the reference + * @param id The object id pointed to by the reference + * @return 0 on success or an error code + */ +GIT_EXTERN(int) gitup_reference_create_virtual(git_reference **out, git_repository *repo, const char *name, const git_oid *id); + +/** + * Create a virtual symbolic reference. + * + * Discussion + * + * This is a wrapper for + * git_reference_symbolic_create(git_reference **out, git_repository *repo, const char *name, const char *target, int force, const char *log_message); + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference virtually lives + * @param name The name of the reference + * @param target The target of the reference + * @return 0 on success or an error code + */ +GIT_EXTERN(int) gitup_reference_symbolic_create_virtual(git_reference **out, git_repository *repo, const char *name, const char *target); + +GIT_END_DECL \ No newline at end of file diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_repository.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_repository.h new file mode 100644 index 00000000..330f9408 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_repository.h @@ -0,0 +1,35 @@ +#include "repository.h" +#include "common.h" +#include "types.h" +#include "oid.h" +#include "buffer.h" + +/** + * @file git2/gitup_repository.h + * @brief Git repository management routines + * @defgroup git_repository Git repository management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Update or rewrite the gitlink in the workdir + */ +GIT_EXTERN(int) gitup_repository_update_gitlink( + git_repository *repo, int use_relative_path); + +/** + * Locate the path to the local configuration file + * + * The returned path may be used on any `git_config` call to load the local + * configuration file. + * + * @param repo The repository whose local configuration file to find + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a local configuration file has been found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) gitup_repository_local_config_path(git_buf *out, git_repository *repo); + +/** @} */ +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_submodule.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_submodule.h new file mode 100644 index 00000000..9ca1cc20 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/gitup_submodule.h @@ -0,0 +1,12 @@ +#include "submodule.h" + +GIT_BEGIN_DECL + +/** + * Retains a submodule + * + * @param submodule Submodule object + */ +GIT_EXTERN(void) gitup_submodule_dup(git_submodule *submodule); + +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/global.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/global.h new file mode 100644 index 00000000..f15eb2d2 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/global.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_global_h__ +#define INCLUDE_git_global_h__ + +#include "common.h" + +/** + * @file git2/global.h + * @brief libgit2 library initializer and shutdown functionality + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Init the global state + * + * This function must be called before any other libgit2 function in + * order to set up global state and threading. + * + * 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. + * + * @return the number of initializations of the library, or an error code. + */ +GIT_EXTERN(int) git_libgit2_init(void); + +/** + * Shutdown the global state + * + * Clean up the global state and threading context after calling it as + * many times as `git_libgit2_init()` was called - it will return the + * number of remainining initializations that have not been shutdown + * (after this one). + * + * @return the number of remaining initializations of the library, or an + * error code. + */ +GIT_EXTERN(int) git_libgit2_shutdown(void); + +/** @} */ +GIT_END_DECL + +#endif + diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/graph.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/graph.h new file mode 100644 index 00000000..1792020a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/graph.h @@ -0,0 +1,78 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_graph_h__ +#define INCLUDE_git_graph_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/graph.h + * @brief Graph traversal routines + * @defgroup git_revwalk Git graph traversal routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Count the number of unique commits between two commit objects + * + * There is no need for branches containing the commits to have any + * upstream relationship, but it helps to think of one as a branch and + * the other as its upstream, the `ahead` and `behind` values will be + * what git would report for the branches. + * + * @param ahead number of unique from commits in `upstream` + * @param behind number of unique from commits in `local` + * @param repo the repository where the commits exist + * @param local the commit for local + * @param upstream the commit for upstream + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo, const git_oid *local, const git_oid *upstream); + + +/** + * Determine if a commit is the descendant of another commit. + * + * Note that a commit is not considered a descendant of itself, in contrast + * to `git merge-base --is-ancestor`. + * + * @param repo the repository where the commits exist + * @param commit a previously loaded commit + * @param ancestor a potential ancestor commit + * @return 1 if the given commit is a descendant of the potential ancestor, + * 0 if not, error code otherwise. + */ +GIT_EXTERN(int) git_graph_descendant_of( + git_repository *repo, + const git_oid *commit, + const git_oid *ancestor); + +/** + * Determine if a commit is reachable from any of a list of commits by + * following parent edges. + * + * @param repo the repository where the commits exist + * @param commit a previously loaded commit + * @param descendant_array oids of the commits + * @param length the number of commits in the provided `descendant_array` + * @return 1 if the given commit is an ancestor of any of the given potential + * descendants, 0 if not, error code otherwise. + */ +GIT_EXTERN(int) git_graph_reachable_from_any( + git_repository *repo, + const git_oid *commit, + const git_oid descendant_array[], + size_t length); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/ignore.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/ignore.h new file mode 100644 index 00000000..730f2214 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/ignore.h @@ -0,0 +1,88 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_ignore_h__ +#define INCLUDE_git_ignore_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/ignore.h + * @brief Ignore particular untracked files + * @ingroup Git + * @{ + * + * When examining the repository status, git can optionally ignore + * specified untracked files. + */ +GIT_BEGIN_DECL + +/** + * Add ignore rules for a repository. + * + * Excludesfile rules (i.e. .gitignore rules) are generally read from + * .gitignore files in the repository tree or from a shared system file + * only if a "core.excludesfile" config value is set. The library also + * keeps a set of per-repository internal ignores that can be configured + * in-memory and will not persist. This function allows you to add to + * that internal rules list. + * + * Example usage: + * + * error = git_ignore_add_rule(myrepo, "*.c\ndir/\nFile with space\n"); + * + * This would add three rules to the ignores. + * + * @param repo The repository to add ignore rules to. + * @param rules Text of rules, the contents to add on a .gitignore file. + * It is okay to have multiple rules in the text; if so, + * each rule should be terminated with a newline. + * @return 0 on success + */ +GIT_EXTERN(int) git_ignore_add_rule( + git_repository *repo, + const char *rules); + +/** + * Clear ignore rules that were explicitly added. + * + * Resets to the default internal ignore rules. This will not turn off + * rules in .gitignore files that actually exist in the filesystem. + * + * The default internal ignores ignore ".", ".." and ".git" entries. + * + * @param repo The repository to remove ignore rules from. + * @return 0 on success + */ +GIT_EXTERN(int) git_ignore_clear_internal_rules( + git_repository *repo); + +/** + * Test if the ignore rules apply to a given path. + * + * 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. + * + * 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? + * + * @param ignored boolean returning 0 if the file is not ignored, 1 if it is + * @param repo a repository object + * @param path the file to check ignores for, relative to the repo's workdir. + * @return 0 if ignore rules could be processed for the file (regardless + * of whether it exists or not), or an error < 0 if they could not. + */ +GIT_EXTERN(int) git_ignore_path_is_ignored( + int *ignored, + git_repository *repo, + const char *path); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/index.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/index.h new file mode 100644 index 00000000..0adff1ab --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/index.h @@ -0,0 +1,933 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_index_h__ +#define INCLUDE_git_index_h__ + +#include "common.h" +#include "indexer.h" +#include "types.h" +#include "oid.h" +#include "strarray.h" + +/** + * @file git2/index.h + * @brief Index (aka "cache" aka "staging area") + * @defgroup git_index Git index parsing and manipulation routines + * @ingroup Git + * + * The index (or "cache", or "staging area") is the contents of the + * next commit. In addition, the index stores other data, such as + * conflicts that occurred during the last merge operation, and + * the "treecache" to speed up various on-disk operations. + * @{ + */ +GIT_BEGIN_DECL + +/** Time structure used in a git index entry */ +typedef struct { + int32_t seconds; + /* nsec should not be stored as time_t compatible */ + uint32_t nanoseconds; +} git_index_time; + +/** + * In-memory representation of a file entry in the index. + * + * This is a public structure that represents a file entry in the index. + * The meaning of the fields corresponds to core Git's documentation (in + * "Documentation/technical/index-format.txt"). + * + * The `flags` field consists of a number of bit fields which can be + * accessed via the first set of `GIT_INDEX_ENTRY_...` bitmasks below. + * These flags are all read from and persisted to disk. + * + * The `flags_extended` field also has a number of bit fields which can be + * accessed via the later `GIT_INDEX_ENTRY_...` bitmasks below. Some of + * these flags are read from and written to disk, but some are set aside + * for in-memory only reference. + * + * Note that the time and size fields are truncated to 32 bits. This + * is enough to detect changes, which is enough for the index to + * function as a cache, but it should not be taken as an authoritative + * source for that data. + */ +typedef struct git_index_entry { + git_index_time ctime; + git_index_time mtime; + + uint32_t dev; + uint32_t ino; + uint32_t mode; + uint32_t uid; + uint32_t gid; + uint32_t file_size; + + git_oid id; + + uint16_t flags; + uint16_t flags_extended; + + const char *path; +} git_index_entry; + +/** + * Bitmasks for on-disk fields of `git_index_entry`'s `flags` + * + * These bitmasks match the four fields in the `git_index_entry` `flags` + * value both in memory and on disk. You can use them to interpret the + * data in the `flags`. + */ + +/** Mask for name length */ +#define GIT_INDEX_ENTRY_NAMEMASK (0x0fff) +/** Mask for index entry stage */ +#define GIT_INDEX_ENTRY_STAGEMASK (0x3000) +/** Shift bits for index entry */ +#define GIT_INDEX_ENTRY_STAGESHIFT 12 + +/** + * Flags for index entries + */ +typedef enum { + GIT_INDEX_ENTRY_EXTENDED = (0x4000), + GIT_INDEX_ENTRY_VALID = (0x8000) +} git_index_entry_flag_t; + +/** + * Macro to get the stage value (0 for the "main index", or a conflict + * value) from an index entry. + */ +#define GIT_INDEX_ENTRY_STAGE(E) \ + (((E)->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT) + +/** + * Macro to set the stage value (0 for the "main index", or a conflict + * value) for an index entry. + */ +#define GIT_INDEX_ENTRY_STAGE_SET(E,S) do { \ + (E)->flags = ((E)->flags & ~GIT_INDEX_ENTRY_STAGEMASK) | \ + (((S) & 0x03) << GIT_INDEX_ENTRY_STAGESHIFT); } while (0) + +/** + * Bitmasks for on-disk fields of `git_index_entry`'s `flags_extended` + * + * In memory, the `flags_extended` fields are divided into two parts: the + * fields that are read from and written to disk, and other fields that + * in-memory only and used by libgit2. Only the flags in + * `GIT_INDEX_ENTRY_EXTENDED_FLAGS` will get saved on-disk. + * + * Thee first three bitmasks match the three fields in the + * `git_index_entry` `flags_extended` value that belong on disk. You + * can use them to interpret the data in the `flags_extended`. + * + * The rest of the bitmasks match the other fields in the `git_index_entry` + * `flags_extended` value that are only used in-memory by libgit2. + * You can use them to interpret the data in the `flags_extended`. + * + */ +typedef enum { + GIT_INDEX_ENTRY_INTENT_TO_ADD = (1 << 13), + GIT_INDEX_ENTRY_SKIP_WORKTREE = (1 << 14), + + GIT_INDEX_ENTRY_EXTENDED_FLAGS = (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE), + + GIT_INDEX_ENTRY_UPTODATE = (1 << 2) +} git_index_entry_extended_flag_t; + +/** Capabilities of system that affect index actions. */ +typedef enum { + GIT_INDEX_CAPABILITY_IGNORE_CASE = 1, + GIT_INDEX_CAPABILITY_NO_FILEMODE = 2, + GIT_INDEX_CAPABILITY_NO_SYMLINKS = 4, + GIT_INDEX_CAPABILITY_FROM_OWNER = -1 +} git_index_capability_t; + + +/** + * Callback for APIs that add/remove/update files matching pathspec + * + * @param path the path + * @param matched_pathspec the given pathspec + * @param payload the user-specified payload + * @return 0 to continue with the index operation, positive number to skip this file for the index operation, negative number on failure + */ +typedef int GIT_CALLBACK(git_index_matched_path_cb)( + const char *path, const char *matched_pathspec, void *payload); + +/** Flags for APIs that add files matching pathspec */ +typedef enum { + GIT_INDEX_ADD_DEFAULT = 0, + GIT_INDEX_ADD_FORCE = (1u << 0), + GIT_INDEX_ADD_DISABLE_PATHSPEC_MATCH = (1u << 1), + GIT_INDEX_ADD_CHECK_PATHSPEC = (1u << 2) +} git_index_add_option_t; + +/** Git index stage states */ +typedef enum { + /** + * Match any index stage. + * + * Some index APIs take a stage to match; pass this value to match + * any entry matching the path regardless of stage. + */ + GIT_INDEX_STAGE_ANY = -1, + + /** A normal staged file in the index. */ + GIT_INDEX_STAGE_NORMAL = 0, + + /** The ancestor side of a conflict. */ + GIT_INDEX_STAGE_ANCESTOR = 1, + + /** The "ours" side of a conflict. */ + GIT_INDEX_STAGE_OURS = 2, + + /** The "theirs" side of a conflict. */ + GIT_INDEX_STAGE_THEIRS = 3 +} git_index_stage_t; + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * The options for opening or creating an index. + * + * Initialize with `GIT_INDEX_OPTIONS_INIT`. Alternatively, you can + * use `git_index_options_init`. + * + * @options[version] GIT_INDEX_OPTIONS_VERSION + * @options[init_macro] GIT_INDEX_OPTIONS_INIT + * @options[init_function] git_index_options_init + */ +typedef struct git_index_options { + unsigned int version; /**< The version */ + + /** + * The object ID type for the object IDs that exist in the index. + * + * If this is not specified, this defaults to `GIT_OID_SHA1`. + */ + git_oid_t oid_type; +} git_index_options; + +/** Current version for the `git_index_options` structure */ +#define GIT_INDEX_OPTIONS_VERSION 1 + +/** Static constructor for `git_index_options` */ +#define GIT_INDEX_OPTIONS_INIT { GIT_INDEX_OPTIONS_VERSION } + +/** + * Initialize git_index_options structure + * + * Initializes a `git_index_options` with default values. Equivalent to creating + * an instance with GIT_INDEX_OPTIONS_INIT. + * + * @param opts The `git_index_options` struct to initialize. + * @param version The struct version; pass `GIT_INDEX_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_index_options_init( + git_index_options *opts, + unsigned int version); + +/** + * Creates a new bare Git index object, without a repository to back + * it. This index object is capable of storing SHA256 objects. + * + * @param index_out the pointer for the new index + * @param index_path the path to the index file in disk + * @param opts the options for opening the index, or NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_open( + git_index **index_out, + const char *index_path, + const git_index_options *opts); + +/** + * Create an in-memory index object. + * + * @param index_out the pointer for the new index + * @param opts the options for opening the index, or NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_new(git_index **index_out, const git_index_options *opts); + +#else + +/** + * Create a new bare Git index object as a memory representation + * of the Git index file in 'index_path', without a repository + * to back it. + * + * 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. + * + * If you need to access the index of an actual repository, + * use the `git_repository_index` wrapper. + * + * The index must be freed once it's no longer in use. + * + * @param index_out the pointer for the new index + * @param index_path the path to the index file in disk + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_open(git_index **index_out, const char *index_path); + +/** + * Create an in-memory index object. + * + * This index object cannot be read/written to the filesystem, + * but may be used to perform in-memory index operations. + * + * The index must be freed once it's no longer in use. + * + * @param index_out the pointer for the new index + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_new(git_index **index_out); + +#endif + +/** + * Free an existing index object. + * + * @param index an existing index object + */ +GIT_EXTERN(void) git_index_free(git_index *index); + +/** + * Get the repository this index relates to + * + * @param index The index + * @return A pointer to the repository + */ +GIT_EXTERN(git_repository *) git_index_owner(const git_index *index); + +/** + * Read index capabilities flags. + * + * @param index An existing index object + * @return A combination of GIT_INDEX_CAPABILITY values + */ +GIT_EXTERN(int) git_index_caps(const git_index *index); + +/** + * Set index capabilities flags. + * + * If you pass `GIT_INDEX_CAPABILITY_FROM_OWNER` for the caps, then + * capabilities will be read from the config of the owner object, + * looking at `core.ignorecase`, `core.filemode`, `core.symlinks`. + * + * @param index An existing index object + * @param caps A combination of GIT_INDEX_CAPABILITY values + * @return 0 on success, -1 on failure + */ +GIT_EXTERN(int) git_index_set_caps(git_index *index, int caps); + +/** + * Get index on-disk version. + * + * Valid return values are 2, 3, or 4. If 3 is returned, an index + * with version 2 may be written instead, if the extension data in + * version 3 is not necessary. + * + * @param index An existing index object + * @return the index version + */ +GIT_EXTERN(unsigned int) git_index_version(git_index *index); + +/** + * Set index on-disk version. + * + * Valid values are 2, 3, or 4. If 2 is given, git_index_write may + * write an index with version 3 instead, if necessary to accurately + * represent the index. + * + * @param index An existing index object + * @param version The new version number + * @return 0 on success, -1 on failure + */ +GIT_EXTERN(int) git_index_set_version(git_index *index, unsigned int version); + +/** + * Update the contents of an existing index object in memory by reading + * from the hard disk. + * + * If `force` is true, this performs a "hard" read that discards in-memory + * changes and always reloads the on-disk index data. If there is no + * on-disk version, the index will be cleared. + * + * If `force` is false, this does a "soft" read that reloads the index + * data from disk only if it has changed since the last time it was + * loaded. Purely in-memory index data will be untouched. Be aware: if + * there are changes on disk, unwritten in-memory changes are discarded. + * + * @param index an existing index object + * @param force if true, always reload, vs. only read if file has changed + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_read(git_index *index, int force); + +/** + * Write an existing index object from memory back to disk + * using an atomic file lock. + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_write(git_index *index); + +/** + * Get the full path to the index file on disk. + * + * @param index an existing index object + * @return path to index file or NULL for in-memory index + */ +GIT_EXTERN(const char *) git_index_path(const git_index *index); + +#ifndef GIT_DEPRECATE_HARD +/** + * Get the checksum of the index + * + * This checksum is the SHA-1 hash over the index file (except the + * last 20 bytes which are the checksum itself). In cases where the + * index does not exist on-disk, it will be zeroed out. + * + * @deprecated this function is deprecated with no replacement + * @param index an existing index object + * @return a pointer to the checksum of the index + */ +GIT_EXTERN(const git_oid *) git_index_checksum(git_index *index); +#endif + +/** + * Read a tree into the index file with stats + * + * The current index contents will be replaced by the specified tree. + * + * @param index an existing index object + * @param tree tree to read + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_read_tree(git_index *index, const git_tree *tree); + +/** + * Write the index as a tree + * + * 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. + * + * The index instance cannot be bare, and needs to be associated + * to an existing repository. + * + * The index must not contain any file in conflict. + * + * @param out Pointer where to store the OID of the written tree + * @param index Index to write + * @return 0 on success, GIT_EUNMERGED when the index is not clean + * or an error code + */ +GIT_EXTERN(int) git_index_write_tree(git_oid *out, git_index *index); + +/** + * Write the index as a tree to the given repository + * + * This method will do the same as `git_index_write_tree`, but + * letting the user choose the repository where the tree will + * be written. + * + * The index must not contain any file in conflict. + * + * @param out Pointer where to store OID of the written tree + * @param index Index to write + * @param repo Repository where to write the tree + * @return 0 on success, GIT_EUNMERGED when the index is not clean + * or an error code + */ +GIT_EXTERN(int) git_index_write_tree_to(git_oid *out, git_index *index, git_repository *repo); + +/**@}*/ + +/** @name Raw Index Entry Functions + * + * These functions work on index entries, and allow for raw manipulation + * of the entries. + */ +/**@{*/ + +/* Index entry manipulation */ + +/** + * Get the count of entries currently in the index + * + * @param index an existing index object + * @return integer of count of current entries + */ +GIT_EXTERN(size_t) git_index_entrycount(const git_index *index); + +/** + * Clear the contents (all the entries) of an index object. + * + * This clears the index object in memory; changes must be explicitly + * written to disk for them to take effect persistently. + * + * @param index an existing index object + * @return 0 on success, error code < 0 on failure + */ +GIT_EXTERN(int) git_index_clear(git_index *index); + +/** + * Get a pointer to one of the entries in the index + * + * 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. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the entry; NULL if out of bounds + */ +GIT_EXTERN(const git_index_entry *) git_index_get_byindex( + git_index *index, size_t n); + +/** + * Get a pointer to one of the entries in the index + * + * 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. + * + * @param index an existing index object + * @param path path to search + * @param stage stage to search + * @return a pointer to the entry; NULL if it was not found + */ +GIT_EXTERN(const git_index_entry *) git_index_get_bypath( + git_index *index, const char *path, int stage); + +/** + * Remove an entry from the index + * + * @param index an existing index object + * @param path path to search + * @param stage stage to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_remove(git_index *index, const char *path, int stage); + +/** + * Remove all entries from the index under a given directory + * + * @param index an existing index object + * @param dir container directory path + * @param stage stage to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_remove_directory( + git_index *index, const char *dir, int stage); + +/** + * Add or update an index entry from an in-memory struct + * + * If a previous index entry exists that has the same path and stage + * as the given 'source_entry', it will be replaced. Otherwise, the + * 'source_entry' will be added. + * + * A full copy (including the 'path' string) of the given + * 'source_entry' will be inserted on the index. + * + * @param index an existing index object + * @param source_entry new entry object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add(git_index *index, const git_index_entry *source_entry); + +/** + * Return the stage number from a git index entry + * + * This entry is calculated from the entry's flag attribute like this: + * + * (entry->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT + * + * @param entry The entry + * @return the stage number + */ +GIT_EXTERN(int) git_index_entry_stage(const git_index_entry *entry); + +/** + * Return whether the given index entry is a conflict (has a high stage + * entry). This is simply shorthand for `git_index_entry_stage > 0`. + * + * @param entry The entry + * @return 1 if the entry is a conflict entry, 0 otherwise + */ +GIT_EXTERN(int) git_index_entry_is_conflict(const git_index_entry *entry); + +/**@}*/ + +/** @name Index Entry Iteration Functions + * + * These functions provide an iterator for index entries. + */ +/**@{*/ + +/** + * Create an iterator that will return every entry contained in the + * index at the time of creation. Entries are returned in order, + * sorted by path. This iterator is backed by a snapshot that allows + * callers to modify the index while iterating without affecting the + * iterator. + * + * @param iterator_out The newly created iterator + * @param index The index to iterate + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_index_iterator_new( + git_index_iterator **iterator_out, + git_index *index); + +/** + * Return the next index entry in-order from the iterator. + * + * @param out Pointer to store the index entry in + * @param iterator The iterator + * @return 0, GIT_ITEROVER on iteration completion or an error code + */ +GIT_EXTERN(int) git_index_iterator_next( + const git_index_entry **out, + git_index_iterator *iterator); + +/** + * Free the index iterator + * + * @param iterator The iterator to free + */ +GIT_EXTERN(void) git_index_iterator_free(git_index_iterator *iterator); + +/**@}*/ + +/** @name Workdir Index Entry Functions + * + * These functions work on index entries specifically in the working + * directory (ie, stage 0). + */ +/**@{*/ + +/** + * Add or update an index entry from a file on disk + * + * The file `path` must be relative to the repository's + * working folder and must be readable. + * + * This method will fail in bare index instances. + * + * This forces the file to be added to the index, not looking + * at gitignore rules. Those rules can be evaluated through + * the git_status APIs (in status.h) before calling this. + * + * If this file currently is the result of a merge conflict, this + * file will no longer be marked as conflicting. The data about + * the conflict will be moved to the "resolve undo" (REUC) section. + * + * @param index an existing index object + * @param path filename to add + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add_bypath(git_index *index, const char *path); + +/** + * Add or update an index entry from a buffer in memory + * + * This method will create a blob in the repository that owns the + * index and then add the index entry to the index. The `path` of the + * entry represents the position of the blob relative to the + * repository's root folder. + * + * If a previous index entry exists that has the same path as the + * given 'entry', it will be replaced. Otherwise, the 'entry' will be + * added. + * + * This forces the file to be added to the index, not looking + * at gitignore rules. Those rules can be evaluated through + * the git_status APIs (in status.h) before calling this. + * + * If this file currently is the result of a merge conflict, this + * file will no longer be marked as conflicting. The data about + * the conflict will be moved to the "resolve undo" (REUC) section. + * + * @param index an existing index object + * @param entry filename to add + * @param buffer data to be written into the blob + * @param len length of the data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add_from_buffer( + git_index *index, + const git_index_entry *entry, + const void *buffer, size_t len); + +/** + * Remove an index entry corresponding to a file on disk + * + * The file `path` must be relative to the repository's + * working folder. It may exist. + * + * If this file currently is the result of a merge conflict, this + * file will no longer be marked as conflicting. The data about + * the conflict will be moved to the "resolve undo" (REUC) section. + * + * @param index an existing index object + * @param path filename to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_remove_bypath(git_index *index, const char *path); + +/** + * Add or update index entries matching files in the working directory. + * + * This method will fail in bare index instances. + * + * 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. + * + * 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. + * + * 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. + * + * 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. + * + * 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. + * + * 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. + * + * @param index an existing index object + * @param pathspec array of path patterns + * @param flags combination of git_index_add_option_t flags + * @param callback notification callback for each added/updated path (also + * gets index of matching pathspec entry); can be NULL; + * return 0 to add, >0 to skip, <0 to abort scan. + * @param payload payload passed through to callback function + * @return 0 on success, negative callback return value, or error code + */ +GIT_EXTERN(int) git_index_add_all( + git_index *index, + const git_strarray *pathspec, + unsigned int flags, + git_index_matched_path_cb callback, + void *payload); + +/** + * Remove all matching index entries. + * + * If you provide a callback function, it will be invoked on each matching + * item in the index immediately *before* it is removed. Return 0 to + * remove the item, > 0 to skip the item, and < 0 to abort the scan. + * + * @param index An existing index object + * @param pathspec array of path patterns + * @param callback notification callback for each removed path (also + * gets index of matching pathspec entry); can be NULL; + * return 0 to add, >0 to skip, <0 to abort scan. + * @param payload payload passed through to callback function + * @return 0 on success, negative callback return value, or error code + */ +GIT_EXTERN(int) git_index_remove_all( + git_index *index, + const git_strarray *pathspec, + git_index_matched_path_cb callback, + void *payload); + +/** + * Update all index entries to match the working directory + * + * This method will fail in bare index instances. + * + * 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). + * + * 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. + * + * @param index An existing index object + * @param pathspec array of path patterns + * @param callback notification callback for each updated path (also + * gets index of matching pathspec entry); can be NULL; + * return 0 to add, >0 to skip, <0 to abort scan. + * @param payload payload passed through to callback function + * @return 0 on success, negative callback return value, or error code + */ +GIT_EXTERN(int) git_index_update_all( + git_index *index, + const git_strarray *pathspec, + git_index_matched_path_cb callback, + void *payload); + +/** + * Find the first position of any entries which point to given + * path in the Git index. + * + * @param at_pos the address to which the position of the index entry is written (optional) + * @param index an existing index object + * @param path path to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_find(size_t *at_pos, git_index *index, const char *path); + +/** + * Find the first position of any entries matching a prefix. To find the first position + * of a path inside a given folder, suffix the prefix with a '/'. + * + * @param at_pos the address to which the position of the index entry is written (optional) + * @param index an existing index object + * @param prefix the prefix to search for + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_find_prefix(size_t *at_pos, git_index *index, const char *prefix); + +/**@}*/ + +/** @name Conflict Index Entry Functions + * + * These functions work on conflict index entries specifically (ie, stages 1-3) + */ +/**@{*/ + +/** + * Add or update index entries to represent a conflict. Any staged + * entries that exist at the given paths will be removed. + * + * The entries are the entries from the tree included in the merge. Any + * entry may be null to indicate that that file was not present in the + * trees during the merge. For example, ancestor_entry may be NULL to + * indicate that a file was added in both branches and must be resolved. + * + * @param index an existing index object + * @param ancestor_entry the entry data for the ancestor of the conflict + * @param our_entry the entry data for our side of the merge conflict + * @param their_entry the entry data for their side of the merge conflict + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_add( + git_index *index, + const git_index_entry *ancestor_entry, + const git_index_entry *our_entry, + const git_index_entry *their_entry); + +/** + * Get the index entries that represent a conflict of a single file. + * + * The entries are 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. + * + * @param ancestor_out Pointer to store the ancestor entry + * @param our_out Pointer to store the our entry + * @param their_out Pointer to store the their entry + * @param index an existing index object + * @param path path to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_get( + const git_index_entry **ancestor_out, + const git_index_entry **our_out, + const git_index_entry **their_out, + git_index *index, + const char *path); + +/** + * Removes the index entries that represent a conflict of a single file. + * + * @param index an existing index object + * @param path path to remove conflicts for + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_remove(git_index *index, const char *path); + +/** + * Remove all conflicts in the index (entries with a stage greater than 0). + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_cleanup(git_index *index); + +/** + * Determine if the index contains entries representing file conflicts. + * + * @param index An existing index object. + * @return 1 if at least one conflict is found, 0 otherwise. + */ +GIT_EXTERN(int) git_index_has_conflicts(const git_index *index); + +/** + * Create an iterator for the conflicts in the index. + * + * The index must not be modified while iterating; the results are undefined. + * + * @param iterator_out The newly created conflict iterator + * @param index The index to scan + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_iterator_new( + git_index_conflict_iterator **iterator_out, + git_index *index); + +/** + * Returns the current conflict (ancestor, ours and theirs entry) and + * advance the iterator internally to the next value. + * + * @param ancestor_out Pointer to store the ancestor side of the conflict + * @param our_out Pointer to store our side of the conflict + * @param their_out Pointer to store their side of the conflict + * @param iterator The conflict iterator. + * @return 0 (no error), GIT_ITEROVER (iteration is done) or an error code + * (negative value) + */ +GIT_EXTERN(int) git_index_conflict_next( + const git_index_entry **ancestor_out, + const git_index_entry **our_out, + const git_index_entry **their_out, + git_index_conflict_iterator *iterator); + +/** + * Frees a `git_index_conflict_iterator`. + * + * @param iterator pointer to the iterator + */ +GIT_EXTERN(void) git_index_conflict_iterator_free( + git_index_conflict_iterator *iterator); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/indexer.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/indexer.h new file mode 100644 index 00000000..9aaedc3c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/indexer.h @@ -0,0 +1,212 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_indexer_h__ +#define INCLUDE_git_indexer_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/indexer.h + * @brief Packfile indexing + * @ingroup Git + * @{ + * + * Indexing is the operation of taking a packfile - which is simply a + * collection of unordered commits - and producing an "index" so that + * one can lookup a commit in the packfile by object ID. + */ +GIT_BEGIN_DECL + +/** A git indexer object */ +typedef struct git_indexer git_indexer; + +/** + * This structure is used to provide callers information about the + * progress of indexing a packfile, either directly or part of a + * fetch or clone that downloads a packfile. + */ +typedef struct git_indexer_progress { + /** number of objects in the packfile being indexed */ + unsigned int total_objects; + + /** received objects that have been hashed */ + unsigned int indexed_objects; + + /** received_objects: objects which have been downloaded */ + unsigned int received_objects; + + /** + * locally-available objects that have been injected in order + * to fix a thin pack + */ + unsigned int local_objects; + + /** number of deltas in the packfile being indexed */ + unsigned int total_deltas; + + /** received deltas that have been indexed */ + unsigned int indexed_deltas; + + /** size of the packfile received up to now */ + size_t received_bytes; +} git_indexer_progress; + +/** + * Type for progress callbacks during indexing. Return a value less + * than zero to cancel the indexing or download. + * + * @param stats Structure containing information about the state of the transfer + * @param payload Payload provided by caller + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_indexer_progress_cb)(const git_indexer_progress *stats, void *payload); + +/** + * Options for indexer configuration + */ +typedef struct git_indexer_options { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** permissions to use creating packfile or 0 for defaults */ + unsigned int mode; + + /** the type of object ids in the packfile or 0 for SHA1 */ + git_oid_t oid_type; + + /** + * object database from which to read base objects when + * fixing thin packs. This can be NULL if there are no thin + * packs; if a thin pack is encountered, an error will be + * returned if there are bases missing. + */ + git_odb *odb; +#endif + + /** progress_cb function to call with progress information */ + git_indexer_progress_cb progress_cb; + + /** progress_cb_payload payload for the progress callback */ + void *progress_cb_payload; + + /** Do connectivity checks for the received pack */ + unsigned char verify; +} git_indexer_options; + +/** Current version for the `git_indexer_options` structure */ +#define GIT_INDEXER_OPTIONS_VERSION 1 + +/** Static constructor for `git_indexer_options` */ +#define GIT_INDEXER_OPTIONS_INIT { GIT_INDEXER_OPTIONS_VERSION } + +/** + * Initializes a `git_indexer_options` with default values. Equivalent to + * creating an instance with GIT_INDEXER_OPTIONS_INIT. + * + * @param opts the `git_indexer_options` struct to initialize. + * @param version Version of struct; pass `GIT_INDEXER_OPTIONS_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_indexer_options_init( + git_indexer_options *opts, + unsigned int version); + +#ifdef GIT_EXPERIMENTAL_SHA256 +/** + * Create a new indexer instance + * + * @param out where to store the indexer instance + * @param path to the directory where the packfile should be stored + * @param opts the options to create the indexer with + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_new( + git_indexer **out, + const char *path, + git_indexer_options *opts); +#else +/** + * Create a new indexer instance + * + * @param out where to store the indexer instance + * @param path to the directory where the packfile should be stored + * @param mode permissions to use creating packfile or 0 for defaults + * @param odb object database from which to read base objects when + * fixing thin packs. Pass NULL if no thin pack is expected (an error + * will be returned if there are bases missing) + * @param opts Optional structure containing additional options. See + * `git_indexer_options` above. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_new( + git_indexer **out, + const char *path, + unsigned int mode, + git_odb *odb, + git_indexer_options *opts); +#endif + +/** + * Add data to the indexer + * + * @param idx the indexer + * @param data the data to add + * @param size the size of the data in bytes + * @param stats stat storage + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_append(git_indexer *idx, const void *data, size_t size, git_indexer_progress *stats); + +/** + * Finalize the pack and index + * + * Resolve any pending deltas and write out the index file + * + * @param idx the indexer + * @param stats Stat storage. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_commit(git_indexer *idx, git_indexer_progress *stats); + +#ifndef GIT_DEPRECATE_HARD +/** + * Get the packfile's hash + * + * A packfile's name is derived from the sorted hashing of all object + * names. This is only correct after the index has been finalized. + * + * @deprecated use git_indexer_name + * @param idx the indexer instance + * @return the packfile's hash + */ +GIT_EXTERN(const git_oid *) git_indexer_hash(const git_indexer *idx); +#endif + +/** + * Get the unique name for the resulting packfile. + * + * The packfile's name is derived from the packfile's content. + * This is only correct after the index has been finalized. + * + * @param idx the indexer instance + * @return a NUL terminated string for the packfile name + */ +GIT_EXTERN(const char *) git_indexer_name(const git_indexer *idx); + +/** + * Free the indexer and its resources + * + * @param idx the indexer to free + */ +GIT_EXTERN(void) git_indexer_free(git_indexer *idx); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/mailmap.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/mailmap.h new file mode 100644 index 00000000..fd6ae717 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/mailmap.h @@ -0,0 +1,121 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_mailmap_h__ +#define INCLUDE_git_mailmap_h__ + +#include "common.h" +#include "types.h" +#include "buffer.h" + +/** + * @file git2/mailmap.h + * @brief Mailmaps provide alternate email addresses for users + * @defgroup git_mailmap Git mailmap routines + * @ingroup Git + * @{ + * + * A mailmap can be used to specify alternate email addresses for + * repository committers or authors. This allows systems to map + * commits made using different email addresses to the same logical + * person. + */ +GIT_BEGIN_DECL + +/** + * Allocate a new mailmap object. + * + * This object is empty, so you'll have to add a mailmap file before you can do + * anything with it. The mailmap must be freed with 'git_mailmap_free'. + * + * @param out pointer to store the new mailmap + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_new(git_mailmap **out); + +/** + * Free the mailmap and its associated memory. + * + * @param mm the mailmap to free + */ +GIT_EXTERN(void) git_mailmap_free(git_mailmap *mm); + +/** + * Add a single entry to the given mailmap object. If the entry already exists, + * it will be replaced with the new entry. + * + * @param mm mailmap to add the entry to + * @param real_name the real name to use, or NULL + * @param real_email the real email to use, or NULL + * @param replace_name the name to replace, or NULL + * @param replace_email the email to replace + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_add_entry( + git_mailmap *mm, const char *real_name, const char *real_email, + const char *replace_name, const char *replace_email); + +/** + * Create a new mailmap instance containing a single mailmap file + * + * @param out pointer to store the new mailmap + * @param buf buffer to parse the mailmap from + * @param len the length of the input buffer + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_from_buffer( + git_mailmap **out, const char *buf, size_t len); + +/** + * Create a new mailmap instance from a repository, loading mailmap files based + * on the repository's configuration. + * + * Mailmaps are loaded in the following order: + * 1. '.mailmap' in the root of the repository's working directory, if present. + * 2. The blob object identified by the 'mailmap.blob' config entry, if set. + * [NOTE: 'mailmap.blob' defaults to 'HEAD:.mailmap' in bare repositories] + * 3. The path in the 'mailmap.file' config entry, if set. + * + * @param out pointer to store the new mailmap + * @param repo repository to load mailmap information from + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_from_repository( + git_mailmap **out, git_repository *repo); + +/** + * Resolve a name and email to the corresponding real name and email. + * + * The lifetime of the strings are tied to `mm`, `name`, and `email` parameters. + * + * @param real_name pointer to store the real name + * @param real_email pointer to store the real email + * @param mm the mailmap to perform a lookup with (may be NULL) + * @param name the name to look up + * @param email the email to look up + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_resolve( + const char **real_name, const char **real_email, + const git_mailmap *mm, const char *name, const char *email); + +/** + * Resolve a signature to use real names and emails with a mailmap. + * + * Call `git_signature_free()` to free the data. + * + * @param out new signature + * @param mm mailmap to resolve with + * @param sig signature to resolve + * @return 0 or an error code + */ +GIT_EXTERN(int) git_mailmap_resolve_signature( + git_signature **out, const git_mailmap *mm, const git_signature *sig); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/merge.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/merge.h new file mode 100644 index 00000000..be3b065b --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/merge.h @@ -0,0 +1,671 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_merge_h__ +#define INCLUDE_git_merge_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "oidarray.h" +#include "checkout.h" +#include "index.h" +#include "annotated_commit.h" + +/** + * @file git2/merge.h + * @brief Merge re-joins diverging branches of history + * @defgroup git_merge Git merge routines + * @ingroup Git + * + * Merge will take two commits and attempt to produce a commit that + * includes the changes that were made in both branches. + * @{ + */ +GIT_BEGIN_DECL + +/** + * The file inputs to `git_merge_file`. Callers should populate the + * `git_merge_file_input` structure with descriptions of the files in + * each side of the conflict for use in producing the merge file. + */ +typedef struct { + unsigned int version; + + /** Pointer to the contents of the file. */ + const char *ptr; + + /** Size of the contents pointed to in `ptr`. */ + size_t size; + + /** File name of the conflicted file, or `NULL` to not merge the path. */ + const char *path; + + /** File mode of the conflicted file, or `0` to not merge the mode. */ + unsigned int mode; +} git_merge_file_input; + +/** Current version for the `git_merge_file_input_options` structure */ +#define GIT_MERGE_FILE_INPUT_VERSION 1 + +/** Static constructor for `git_merge_file_input_options` */ +#define GIT_MERGE_FILE_INPUT_INIT {GIT_MERGE_FILE_INPUT_VERSION} + +/** + * Initializes a `git_merge_file_input` with default values. Equivalent to + * creating an instance with GIT_MERGE_FILE_INPUT_INIT. + * + * @param opts the `git_merge_file_input` instance to initialize. + * @param version the version of the struct; you should pass + * `GIT_MERGE_FILE_INPUT_VERSION` here. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_merge_file_input_init( + git_merge_file_input *opts, + unsigned int version); + +/** + * Flags for `git_merge` options. A combination of these flags can be + * passed in via the `flags` value in the `git_merge_options`. + */ +typedef enum { + /** + * Detect renames that occur between the common ancestor and the "ours" + * side or the common ancestor and the "theirs" side. This will enable + * the ability to merge between a modified and renamed file. + */ + GIT_MERGE_FIND_RENAMES = (1 << 0), + + /** + * If a conflict occurs, exit immediately instead of attempting to + * continue resolving conflicts. The merge operation will fail with + * GIT_EMERGECONFLICT and no index will be returned. + */ + GIT_MERGE_FAIL_ON_CONFLICT = (1 << 1), + + /** + * Do not write the REUC extension on the generated index + */ + GIT_MERGE_SKIP_REUC = (1 << 2), + + /** + * If the commits being merged have multiple merge bases, do not build + * a recursive merge base (by merging the multiple merge bases), + * instead simply use the first base. This flag provides a similar + * merge base to `git-merge-resolve`. + */ + GIT_MERGE_NO_RECURSIVE = (1 << 3), + + /** + * Treat this merge as if it is to produce the virtual base + * of a recursive merge. This will ensure that there are + * no conflicts, any conflicting regions will keep conflict + * markers in the merge result. + */ + GIT_MERGE_VIRTUAL_BASE = (1 << 4) +} git_merge_flag_t; + +/** + * Merge file favor options for `git_merge_options` instruct the file-level + * merging functionality how to deal with conflicting regions of the files. + */ +typedef enum { + /** + * When a region of a file is changed in both branches, a conflict + * will be recorded in the index so that `git_checkout` can produce + * a merge file with conflict markers in the working directory. + * This is the default. + */ + GIT_MERGE_FILE_FAVOR_NORMAL = 0, + + /** + * When a region of a file is changed in both branches, the file + * created in the index will contain the "ours" side of any conflicting + * region. The index will not record a conflict. + */ + GIT_MERGE_FILE_FAVOR_OURS = 1, + + /** + * When a region of a file is changed in both branches, the file + * created in the index will contain the "theirs" side of any conflicting + * region. The index will not record a conflict. + */ + GIT_MERGE_FILE_FAVOR_THEIRS = 2, + + /** + * When a region of a file is changed in both branches, the file + * created in the index will contain each unique line from each side, + * which has the result of combining both files. The index will not + * record a conflict. + */ + GIT_MERGE_FILE_FAVOR_UNION = 3 +} git_merge_file_favor_t; + +/** + * File merging flags + */ +typedef enum { + /** Defaults */ + GIT_MERGE_FILE_DEFAULT = 0, + + /** Create standard conflicted merge files */ + GIT_MERGE_FILE_STYLE_MERGE = (1 << 0), + + /** Create diff3-style files */ + GIT_MERGE_FILE_STYLE_DIFF3 = (1 << 1), + + /** Condense non-alphanumeric regions for simplified diff file */ + GIT_MERGE_FILE_SIMPLIFY_ALNUM = (1 << 2), + + /** Ignore all whitespace */ + GIT_MERGE_FILE_IGNORE_WHITESPACE = (1 << 3), + + /** Ignore changes in amount of whitespace */ + GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE = (1 << 4), + + /** Ignore whitespace at end of line */ + GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL = (1 << 5), + + /** Use the "patience diff" algorithm */ + GIT_MERGE_FILE_DIFF_PATIENCE = (1 << 6), + + /** Take extra time to find minimal diff */ + GIT_MERGE_FILE_DIFF_MINIMAL = (1 << 7), + + /** Create zdiff3 ("zealous diff3")-style files */ + GIT_MERGE_FILE_STYLE_ZDIFF3 = (1 << 8), + + /** + * Do not produce file conflicts when common regions have + * changed; keep the conflict markers in the file and accept + * that as the merge result. + */ + GIT_MERGE_FILE_ACCEPT_CONFLICTS = (1 << 9) +} git_merge_file_flag_t; + +/** Default size for conflict markers */ +#define GIT_MERGE_CONFLICT_MARKER_SIZE 7 + +/** + * Options for merging a file + */ +typedef struct { + unsigned int version; + + /** + * Label for the ancestor file side of the conflict which will be prepended + * to labels in diff3-format merge files. + */ + const char *ancestor_label; + + /** + * Label for our file side of the conflict which will be prepended + * to labels in merge files. + */ + const char *our_label; + + /** + * Label for their file side of the conflict which will be prepended + * to labels in merge files. + */ + const char *their_label; + + /** The file to favor in region conflicts. */ + git_merge_file_favor_t favor; + + /** see `git_merge_file_flag_t` above */ + uint32_t flags; + + /** The size of conflict markers (eg, "<<<<<<<"). Default is + * GIT_MERGE_CONFLICT_MARKER_SIZE. */ + unsigned short marker_size; +} git_merge_file_options; + +/** Current version for the `git_merge_file_options` structure */ +#define GIT_MERGE_FILE_OPTIONS_VERSION 1 + +/** Static constructor for `git_merge_file_options` */ +#define GIT_MERGE_FILE_OPTIONS_INIT {GIT_MERGE_FILE_OPTIONS_VERSION} + +/** + * Initialize git_merge_file_options structure + * + * Initializes a `git_merge_file_options` with default values. Equivalent to + * creating an instance with `GIT_MERGE_FILE_OPTIONS_INIT`. + * + * @param opts The `git_merge_file_options` struct to initialize. + * @param version The struct version; pass `GIT_MERGE_FILE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_merge_file_options_init(git_merge_file_options *opts, unsigned int version); + +/** + * Information about file-level merging + */ +typedef struct { + /** + * True if the output was automerged, false if the output contains + * conflict markers. + */ + unsigned int automergeable; + + /** + * The path that the resultant merge file should use, or NULL if a + * filename conflict would occur. + */ + const char *path; + + /** The mode that the resultant merge file should use. */ + unsigned int mode; + + /** The contents of the merge. */ + const char *ptr; + + /** The length of the merge contents. */ + size_t len; +} git_merge_file_result; + +/** + * Merging options + */ +typedef struct { + unsigned int version; + + /** See `git_merge_flag_t` above */ + uint32_t flags; + + /** + * Similarity to consider a file renamed (default 50). If + * `GIT_MERGE_FIND_RENAMES` is enabled, added files will be compared + * with deleted files to determine their similarity. Files that are + * more similar than the rename threshold (percentage-wise) will be + * treated as a rename. + */ + unsigned int rename_threshold; + + /** + * Maximum similarity sources to examine for renames (default 200). + * If the number of rename candidates (add / delete pairs) is greater + * than this value, inexact rename detection is aborted. + * + * This setting overrides the `merge.renameLimit` configuration value. + */ + unsigned int target_limit; + + /** Pluggable similarity metric; pass NULL to use internal metric */ + git_diff_similarity_metric *metric; + + /** + * Maximum number of times to merge common ancestors to build a + * virtual merge base when faced with criss-cross merges. When this + * limit is reached, the next ancestor will simply be used instead of + * attempting to merge it. The default is unlimited. + */ + unsigned int recursion_limit; + + /** + * Default merge driver to be used when both sides of a merge have + * changed. The default is the `text` driver. + */ + const char *default_driver; + + /** + * Flags for handling conflicting content, to be used with the standard + * (`text`) merge driver. + */ + git_merge_file_favor_t file_favor; + + /** see `git_merge_file_flag_t` above */ + uint32_t file_flags; +} git_merge_options; + +/** Current version for the `git_merge_options` structure */ +#define GIT_MERGE_OPTIONS_VERSION 1 + +/** Static constructor for `git_merge_options` */ +#define GIT_MERGE_OPTIONS_INIT { \ + GIT_MERGE_OPTIONS_VERSION, GIT_MERGE_FIND_RENAMES } + +/** + * Initialize git_merge_options structure + * + * Initializes a `git_merge_options` with default values. Equivalent to + * creating an instance with `GIT_MERGE_OPTIONS_INIT`. + * + * @param opts The `git_merge_options` struct to initialize. + * @param version The struct version; pass `GIT_MERGE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_merge_options_init(git_merge_options *opts, unsigned int version); + +/** + * The results of `git_merge_analysis` indicate the merge opportunities. + */ +typedef enum { + /** No merge is possible. (Unused.) */ + GIT_MERGE_ANALYSIS_NONE = 0, + + /** + * A "normal" merge; both HEAD and the given merge input have diverged + * from their common ancestor. The divergent commits must be merged. + */ + GIT_MERGE_ANALYSIS_NORMAL = (1 << 0), + + /** + * All given merge inputs are reachable from HEAD, meaning the + * repository is up-to-date and no merge needs to be performed. + */ + GIT_MERGE_ANALYSIS_UP_TO_DATE = (1 << 1), + + /** + * The given merge input is a fast-forward from HEAD and no merge + * needs to be performed. Instead, the client can check out the + * given merge input. + */ + GIT_MERGE_ANALYSIS_FASTFORWARD = (1 << 2), + + /** + * The HEAD of the current repository is "unborn" and does not point to + * a valid commit. No merge can be performed, but the caller may wish + * to simply set HEAD to the target commit(s). + */ + GIT_MERGE_ANALYSIS_UNBORN = (1 << 3) +} git_merge_analysis_t; + +/** + * The user's stated preference for merges. + */ +typedef enum { + /** + * No configuration was found that suggests a preferred behavior for + * merge. + */ + GIT_MERGE_PREFERENCE_NONE = 0, + + /** + * There is a `merge.ff=false` configuration setting, suggesting that + * the user does not want to allow a fast-forward merge. + */ + GIT_MERGE_PREFERENCE_NO_FASTFORWARD = (1 << 0), + + /** + * There is a `merge.ff=only` configuration setting, suggesting that + * the user only wants fast-forward merges. + */ + GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY = (1 << 1) +} git_merge_preference_t; + +/** + * Analyzes the given branch(es) and determines the opportunities for + * merging them into the HEAD of the repository. + * + * @param analysis_out analysis enumeration that the result is written into + * @param preference_out One of the `git_merge_preference_t` flag. + * @param repo the repository to merge + * @param their_heads the heads to merge into + * @param their_heads_len the number of heads to merge + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_analysis( + git_merge_analysis_t *analysis_out, + git_merge_preference_t *preference_out, + git_repository *repo, + const git_annotated_commit **their_heads, + size_t their_heads_len); + +/** + * Analyzes the given branch(es) and determines the opportunities for + * merging them into a reference. + * + * @param analysis_out analysis enumeration that the result is written into + * @param preference_out One of the `git_merge_preference_t` flag. + * @param repo the repository to merge + * @param our_ref the reference to perform the analysis from + * @param their_heads the heads to merge into + * @param their_heads_len the number of heads to merge + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_analysis_for_ref( + git_merge_analysis_t *analysis_out, + git_merge_preference_t *preference_out, + git_repository *repo, + git_reference *our_ref, + const git_annotated_commit **their_heads, + size_t their_heads_len); + +/** + * Find a merge base between two commits + * + * @param out the OID of a merge base between 'one' and 'two' + * @param repo the repository where the commits exist + * @param one one of the commits + * @param two the other commit + * @return 0 on success, GIT_ENOTFOUND if not found or error code + */ +GIT_EXTERN(int) git_merge_base( + git_oid *out, + git_repository *repo, + const git_oid *one, + const git_oid *two); + +/** + * Find merge bases between two commits + * + * @param out array in which to store the resulting ids + * @param repo the repository where the commits exist + * @param one one of the commits + * @param two the other commit + * @return 0 on success, GIT_ENOTFOUND if not found or error code + */ +GIT_EXTERN(int) git_merge_bases( + git_oidarray *out, + git_repository *repo, + const git_oid *one, + const git_oid *two); + +/** + * Find a merge base given a list of commits + * + * @param out the OID of a merge base considering all the commits + * @param repo the repository where the commits exist + * @param length The number of commits in the provided `input_array` + * @param input_array oids of the commits + * @return Zero on success; GIT_ENOTFOUND or -1 on failure. + */ +GIT_EXTERN(int) git_merge_base_many( + git_oid *out, + git_repository *repo, + size_t length, + const git_oid input_array[]); + +/** + * Find all merge bases given a list of commits + * + * This behaves similar to [`git merge-base`](https://git-scm.com/docs/git-merge-base#_discussion). + * + * Given three commits `a`, `b`, and `c`, `merge_base_many` + * will compute a hypothetical commit `m`, which is a merge between `b` + * and `c`. + + * For example, with the following topology: + * ```text + * o---o---o---o---C + * / + * / o---o---o---B + * / / + * ---2---1---o---o---o---A + * ``` + * + * 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 + * ``` + * + * and the result of `merge_base_many` given `a` and `m` is 1. + * + * If you're looking to recieve the common ancestor between all the + * given commits, use `merge_base_octopus`. + * + * @param out array in which to store the resulting ids + * @param repo the repository where the commits exist + * @param length The number of commits in the provided `input_array` + * @param input_array oids of the commits + * @return Zero on success; GIT_ENOTFOUND or -1 on failure. + */ +GIT_EXTERN(int) git_merge_bases_many( + git_oidarray *out, + git_repository *repo, + size_t length, + const git_oid input_array[]); + +/** + * Find a merge base in preparation for an octopus merge + * + * @param out the OID of a merge base considering all the commits + * @param repo the repository where the commits exist + * @param length The number of commits in the provided `input_array` + * @param input_array oids of the commits + * @return Zero on success; GIT_ENOTFOUND or -1 on failure. + */ +GIT_EXTERN(int) git_merge_base_octopus( + git_oid *out, + git_repository *repo, + size_t length, + const git_oid input_array[]); + +/** + * Merge two files as they exist in the in-memory data structures, using + * the given common ancestor as the baseline, producing a + * `git_merge_file_result` that reflects the merge result. The + * `git_merge_file_result` must be freed with `git_merge_file_result_free`. + * + * Note that this function does not reference a repository and any + * configuration must be passed as `git_merge_file_options`. + * + * @param out The git_merge_file_result to be filled in + * @param ancestor The contents of the ancestor file + * @param ours The contents of the file in "our" side + * @param theirs The contents of the file in "their" side + * @param opts The merge file options or `NULL` for defaults + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_file( + git_merge_file_result *out, + const git_merge_file_input *ancestor, + const git_merge_file_input *ours, + const git_merge_file_input *theirs, + const git_merge_file_options *opts); + +/** + * Merge two files as they exist in the index, using the given common + * ancestor as the baseline, producing a `git_merge_file_result` that + * reflects the merge result. The `git_merge_file_result` must be freed with + * `git_merge_file_result_free`. + * + * @param out The git_merge_file_result to be filled in + * @param repo The repository + * @param ancestor The index entry for the ancestor file (stage level 1) + * @param ours The index entry for our file (stage level 2) + * @param theirs The index entry for their file (stage level 3) + * @param opts The merge file options or NULL + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_file_from_index( + git_merge_file_result *out, + git_repository *repo, + const git_index_entry *ancestor, + const git_index_entry *ours, + const git_index_entry *theirs, + const git_merge_file_options *opts); + +/** + * Frees a `git_merge_file_result`. + * + * @param result The result to free or `NULL` + */ +GIT_EXTERN(void) git_merge_file_result_free(git_merge_file_result *result); + +/** + * Merge two trees, producing a `git_index` that reflects the result of + * the merge. The index may be written as-is to the working directory + * or checked out. If the index is to be converted to a tree, the caller + * should resolve any conflicts that arose as part of the merge. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo repository that contains the given trees + * @param ancestor_tree the common ancestor between the trees (or null if none) + * @param our_tree the tree that reflects the destination tree + * @param their_tree the tree to merge in to `our_tree` + * @param opts the merge tree options (or null for defaults) + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_trees( + git_index **out, + git_repository *repo, + const git_tree *ancestor_tree, + const git_tree *our_tree, + const git_tree *their_tree, + const git_merge_options *opts); + +/** + * Merge two commits, producing a `git_index` that reflects the result of + * the merge. The index may be written as-is to the working directory + * or checked out. If the index is to be converted to a tree, the caller + * should resolve any conflicts that arose as part of the merge. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo repository that contains the given trees + * @param our_commit the commit that reflects the destination tree + * @param their_commit the commit to merge in to `our_commit` + * @param opts the merge tree options (or null for defaults) + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_commits( + git_index **out, + git_repository *repo, + const git_commit *our_commit, + const git_commit *their_commit, + const git_merge_options *opts); + +/** + * Merges the given commit(s) into HEAD, writing the results into the working + * directory. Any changes are staged for commit and any conflicts are written + * to the index. Callers should inspect the repository's index after this + * completes, resolve any conflicts and prepare a commit. + * + * 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()`. + * + * @param repo the repository to merge + * @param their_heads the heads to merge into + * @param their_heads_len the number of heads to merge + * @param merge_opts merge options + * @param checkout_opts checkout options + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge( + git_repository *repo, + const git_annotated_commit **their_heads, + size_t their_heads_len, + const git_merge_options *merge_opts, + const git_checkout_options *checkout_opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/message.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/message.h new file mode 100644 index 00000000..874d027f --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/message.h @@ -0,0 +1,86 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_message_h__ +#define INCLUDE_git_message_h__ + +#include "common.h" +#include "buffer.h" + +/** + * @file git2/message.h + * @brief Commit messages + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Clean up excess whitespace and make sure there is a trailing newline in the message. + * + * Optionally, it can remove lines which start with the comment character. + * + * @param out The user-allocated git_buf which will be filled with the + * cleaned up message. + * + * @param message The message to be prettified. + * + * @param strip_comments Non-zero to remove comment lines, 0 to leave them in. + * + * @param comment_char Comment character. Lines starting with this character + * are considered to be comments and removed if `strip_comments` is non-zero. + * + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_message_prettify(git_buf *out, const char *message, int strip_comments, char comment_char); + +/** + * Represents a single git message trailer. + */ +typedef struct { + const char *key; + const char *value; +} git_message_trailer; + +/** + * Represents an array of git message trailers. + * + * Struct members under the private comment are private, subject to change + * and should not be used by callers. + */ +typedef struct { + git_message_trailer *trailers; + size_t count; + + /* private */ + char *_trailer_block; +} git_message_trailer_array; + +/** + * Parse trailers out of a message, filling the array pointed to by +arr+. + * + * Trailers are key/value pairs in the last paragraph of a message, not + * including any patches or conflicts that may be present. + * + * @param arr A pre-allocated git_message_trailer_array struct to be filled in + * with any trailers found during parsing. + * @param message The message to be parsed + * @return 0 on success, or non-zero on error. + */ +GIT_EXTERN(int) git_message_trailers(git_message_trailer_array *arr, const char *message); + +/** + * Clean's up any allocated memory in the git_message_trailer_array filled by + * a call to git_message_trailers. + * + * @param arr The trailer to free. + */ +GIT_EXTERN(void) git_message_trailer_array_free(git_message_trailer_array *arr); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/net.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/net.h new file mode 100644 index 00000000..93bdac49 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/net.h @@ -0,0 +1,56 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_net_h__ +#define INCLUDE_git_net_h__ + +#include "common.h" +#include "oid.h" +#include "types.h" + +/** + * @file git2/net.h + * @brief Low-level networking functionality + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Default git protocol port number */ +#define GIT_DEFAULT_PORT "9418" + +/** + * Direction of the connection. + * + * We need this because we need to know whether we should call + * git-upload-pack or git-receive-pack on the remote end when get_refs + * gets called. + */ +typedef enum { + GIT_DIRECTION_FETCH = 0, + GIT_DIRECTION_PUSH = 1 +} git_direction; + +/** + * Description of a reference advertised by a remote server, given out + * on `ls` calls. + */ +struct git_remote_head { + int local; /* available locally */ + git_oid oid; + git_oid loid; + char *name; + /** + * If the server send a symref mapping for this ref, this will + * point to the target. + */ + char *symref_target; +}; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/notes.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/notes.h new file mode 100644 index 00000000..3784d5f5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/notes.h @@ -0,0 +1,309 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_note_h__ +#define INCLUDE_git_note_h__ + +#include "oid.h" + +/** + * @file git2/notes.h + * @brief Notes are metadata attached to an object + * @defgroup git_note Git notes management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Callback for git_note_foreach. + * + * @param blob_id object id of the blob containing the message + * @param annotated_object_id the id of the object being annotated + * @param payload user-specified data to the foreach function + * @return 0 on success, or a negative number on failure + */ +typedef int GIT_CALLBACK(git_note_foreach_cb)( + const git_oid *blob_id, + const git_oid *annotated_object_id, + void *payload); + +/** + * note iterator + */ +typedef struct git_iterator git_note_iterator; + +/** + * Creates a new iterator for notes + * + * The iterator must be freed manually by the user. + * + * @param out pointer to the iterator + * @param repo repository where to look up the note + * @param notes_ref canonical name of the reference to use (optional); defaults to + * "refs/notes/commits" + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_iterator_new( + git_note_iterator **out, + git_repository *repo, + const char *notes_ref); + +/** + * Creates a new iterator for notes from a commit + * + * The iterator must be freed manually by the user. + * + * @param out pointer to the iterator + * @param notes_commit a pointer to the notes commit object + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_iterator_new( + git_note_iterator **out, + git_commit *notes_commit); + +/** + * Frees an git_note_iterator + * + * @param it pointer to the iterator + */ +GIT_EXTERN(void) git_note_iterator_free(git_note_iterator *it); + +/** + * Return the current item (note_id and annotated_id) and advance the iterator + * internally to the next value + * + * @param note_id id of blob containing the message + * @param annotated_id id of the git object being annotated + * @param it pointer to the iterator + * + * @return 0 (no error), GIT_ITEROVER (iteration is done) or an error code + * (negative value) + */ +GIT_EXTERN(int) git_note_next( + git_oid *note_id, + git_oid *annotated_id, + git_note_iterator *it); + + +/** + * Read the note for an object + * + * The note must be freed manually by the user. + * + * @param out pointer to the read note; NULL in case of error + * @param repo repository where to look up the note + * @param notes_ref canonical name of the reference to use (optional); defaults to + * "refs/notes/commits" + * @param oid OID of the git object to read the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_read( + git_note **out, + git_repository *repo, + const char *notes_ref, + const git_oid *oid); + + +/** + * Read the note for an object from a note commit + * + * The note must be freed manually by the user. + * + * @param out pointer to the read note; NULL in case of error + * @param repo repository where to look up the note + * @param notes_commit a pointer to the notes commit object + * @param oid OID of the git object to read the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_read( + git_note **out, + git_repository *repo, + git_commit *notes_commit, + const git_oid *oid); + +/** + * Get the note author + * + * @param note the note + * @return the author + */ +GIT_EXTERN(const git_signature *) git_note_author(const git_note *note); + +/** + * Get the note committer + * + * @param note the note + * @return the committer + */ +GIT_EXTERN(const git_signature *) git_note_committer(const git_note *note); + + +/** + * Get the note message + * + * @param note the note + * @return the note message + */ +GIT_EXTERN(const char *) git_note_message(const git_note *note); + + +/** + * Get the note object's id + * + * @param note the note + * @return the note object's id + */ +GIT_EXTERN(const git_oid *) git_note_id(const git_note *note); + +/** + * Add a note for an object + * + * @param out pointer to store the OID (optional); NULL in case of error + * @param repo repository where to store the note + * @param notes_ref canonical name of the reference to use (optional); + * defaults to "refs/notes/commits" + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to decorate + * @param note Content of the note to add for object oid + * @param force Overwrite existing note + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_create( + 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); + +/** + * Add a note for an object from a commit + * + * This function will create a notes commit for a given object, + * the commit is a dangling commit, no reference is created. + * + * @param notes_commit_out pointer to store the commit (optional); + * NULL in case of error + * @param notes_blob_out a point to the id of a note blob (optional) + * @param repo repository where the note will live + * @param parent Pointer to parent note + * or NULL if this shall start a new notes tree + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to decorate + * @param note Content of the note to add for object oid + * @param allow_note_overwrite Overwrite existing note + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_create( + 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); + +/** + * Remove the note for an object + * + * @param repo repository where the note lives + * @param notes_ref canonical name of the reference to use (optional); + * defaults to "refs/notes/commits" + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to remove the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_remove( + git_repository *repo, + const char *notes_ref, + const git_signature *author, + const git_signature *committer, + const git_oid *oid); + +/** + * Remove the note for an object + * + * @param notes_commit_out pointer to store the new notes commit (optional); + * NULL in case of error. + * When removing a note a new tree containing all notes + * sans the note to be removed is created and a new commit + * pointing to that tree is also created. + * In the case where the resulting tree is an empty tree + * a new commit pointing to this empty tree will be returned. + * @param repo repository where the note lives + * @param notes_commit a pointer to the notes commit object + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to remove the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_remove( + git_oid *notes_commit_out, + git_repository *repo, + git_commit *notes_commit, + const git_signature *author, + const git_signature *committer, + const git_oid *oid); + +/** + * Free a git_note object + * + * @param note git_note object + */ +GIT_EXTERN(void) git_note_free(git_note *note); + +/** + * Get the default notes reference for a repository + * + * @param out buffer in which to store the name of the default notes reference + * @param repo The Git repository + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_default_ref(git_buf *out, git_repository *repo); + +/** + * Loop over all the notes within a specified namespace + * and issue a callback for each one. + * + * @param repo Repository where to find the notes. + * + * @param notes_ref Reference to read from (optional); defaults to + * "refs/notes/commits". + * + * @param note_cb Callback to invoke per found annotation. Return non-zero + * to stop looping. + * + * @param payload Extra parameter to callback function. + * + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_note_foreach( + git_repository *repo, + const char *notes_ref, + git_note_foreach_cb note_cb, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/object.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/object.h new file mode 100644 index 00000000..8a50239f --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/object.h @@ -0,0 +1,280 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_object_h__ +#define INCLUDE_git_object_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "buffer.h" + +/** + * @file git2/object.h + * @brief Objects are blobs (files), trees (directories), commits, and annotated tags + * @defgroup git_object Git revision object management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Maximum size of a git object */ +#define GIT_OBJECT_SIZE_MAX UINT64_MAX + +/** + * Lookup a reference to one of the objects in a repository. + * + * The generated reference is owned by the repository and + * should be closed with the `git_object_free` method + * instead of free'd manually. + * + * 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. + * + * @param object pointer to the looked-up object + * @param repo the repository to look up the object + * @param id the unique identifier for the object + * @param type the type of the object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_object_lookup( + git_object **object, + git_repository *repo, + const git_oid *id, + git_object_t type); + +/** + * Lookup a reference to one of the objects in a repository, + * given a prefix of its identifier (short id). + * + * 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. + * + * The generated reference is owned by the repository and + * should be closed with the `git_object_free` method + * instead of free'd manually. + * + * 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. + * + * @param object_out pointer where to store the looked-up object + * @param repo the repository to look up the object + * @param id a short identifier for the object + * @param len the length of the short identifier + * @param type the type of the object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_object_lookup_prefix( + git_object **object_out, + git_repository *repo, + const git_oid *id, + size_t len, + git_object_t type); + + +/** + * Lookup an object that represents a tree entry. + * + * @param out buffer that receives a pointer to the object (which must be freed + * by the caller) + * @param treeish root object that can be peeled to a tree + * @param path relative path from the root object to the desired object + * @param type type of object desired + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_object_lookup_bypath( + git_object **out, + const git_object *treeish, + const char *path, + git_object_t type); + +/** + * Get the id (SHA1) of a repository object + * + * @param obj the repository object + * @return the SHA1 id + */ +GIT_EXTERN(const git_oid *) git_object_id(const git_object *obj); + +/** + * Get a short abbreviated OID string for the object + * + * 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). + * + * @param out Buffer to write string into + * @param obj The object to get an ID for + * @return 0 on success, <0 for error + */ +GIT_EXTERN(int) git_object_short_id(git_buf *out, const git_object *obj); + +/** + * Get the object type of an object + * + * @param obj the repository object + * @return the object's type + */ +GIT_EXTERN(git_object_t) git_object_type(const git_object *obj); + +/** + * Get the repository that owns this object + * + * Freeing or calling `git_repository_close` on the + * returned pointer will invalidate the actual object. + * + * Any other operation may be run on the repository without + * affecting the object. + * + * @param obj the object + * @return the repository who owns this object + */ +GIT_EXTERN(git_repository *) git_object_owner(const git_object *obj); + +/** + * Close an open object + * + * This method instructs the library to close an existing + * object; note that git_objects are owned and cached by the repository + * so the object may or may not be freed after this library call, + * depending on how aggressive is the caching mechanism used + * by the repository. + * + * IMPORTANT: + * It *is* necessary to call this method when you stop using + * an object. Failure to do so will cause a memory leak. + * + * @param object the object to close + */ +GIT_EXTERN(void) git_object_free(git_object *object); + +/** + * Convert an object type to its string representation. + * + * The result is a pointer to a string in static memory and + * should not be free()'ed. + * + * @param type object type to convert. + * @return the corresponding string representation. + */ +GIT_EXTERN(const char *) git_object_type2string(git_object_t type); + +/** + * Convert a string object type representation to it's git_object_t. + * + * @param str the string to convert. + * @return the corresponding git_object_t. + */ +GIT_EXTERN(git_object_t) git_object_string2type(const char *str); + +/** + * Determine if the given git_object_t is a valid loose object type. + * + * @param type object type to test. + * @return true if the type represents a valid loose object type, + * false otherwise. + */ +GIT_EXTERN(int) git_object_typeisloose(git_object_t type); + +/** + * Recursively peel an object until an object of the specified type is met. + * + * If the query cannot be satisfied due to the object model, + * GIT_EINVALIDSPEC will be returned (e.g. trying to peel a blob to a + * tree). + * + * If you pass `GIT_OBJECT_ANY` as the target type, then the object will + * be peeled until the type changes. A tag will be peeled until the + * referenced object is no longer a tag, and a commit will be peeled + * to a tree. Any other object type will return GIT_EINVALIDSPEC. + * + * If peeling a tag we discover an object which cannot be peeled to + * the target type due to the object model, GIT_EPEEL will be + * returned. + * + * You must free the returned object. + * + * @param peeled Pointer to the peeled git_object + * @param object The object to be processed + * @param target_type The type of the requested object (a GIT_OBJECT_ value) + * @return 0 on success, GIT_EINVALIDSPEC, GIT_EPEEL, or an error code + */ +GIT_EXTERN(int) git_object_peel( + git_object **peeled, + const git_object *object, + git_object_t target_type); + +/** + * Create an in-memory copy of a Git object. The copy must be + * explicitly free'd or it will leak. + * + * @param dest Pointer to store the copy of the object + * @param source Original object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_object_dup(git_object **dest, git_object *source); + +#ifdef GIT_EXPERIMENTAL_SHA256 +/** + * Analyzes a buffer of raw object content and determines its validity. + * Tree, commit, and tag objects will be parsed and ensured that they + * are valid, parseable content. (Blobs are always valid by definition.) + * An error message will be set with an informative message if the object + * is not valid. + * + * @warning This function is experimental and its signature may change in + * the future. + * + * @param valid Output pointer to set with validity of the object content + * @param buf The contents to validate + * @param len The length of the buffer + * @param object_type The type of the object in the buffer + * @param oid_type The object ID type for the OIDs in the given buffer + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_object_rawcontent_is_valid( + int *valid, + const char *buf, + size_t len, + git_object_t object_type, + git_oid_t oid_type); +#else +/** + * Analyzes a buffer of raw object content and determines its validity. + * Tree, commit, and tag objects will be parsed and ensured that they + * are valid, parseable content. (Blobs are always valid by definition.) + * An error message will be set with an informative message if the object + * is not valid. + * + * @warning This function is experimental and its signature may change in + * the future. + * + * @param[out] valid Output pointer to set with validity of the object content + * @param buf The contents to validate + * @param len The length of the buffer + * @param object_type The type of the object in the buffer + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_object_rawcontent_is_valid( + int *valid, + const char *buf, + size_t len, + git_object_t object_type); +#endif + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/odb.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/odb.h new file mode 100644 index 00000000..e809c36d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/odb.h @@ -0,0 +1,696 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_odb_h__ +#define INCLUDE_git_odb_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "oidarray.h" +#include "indexer.h" + +/** + * @file git2/odb.h + * @brief An object database manages the storage of git objects + * @defgroup git_odb Git object database routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Flags controlling the behavior of ODB lookup operations */ +typedef enum { + /** + * Don't call `git_odb_refresh` if the lookup fails. Useful when doing + * a batch of lookup operations for objects that may legitimately not + * exist. When using this flag, you may wish to manually call + * `git_odb_refresh` before processing a batch of objects. + */ + GIT_ODB_LOOKUP_NO_REFRESH = (1 << 0) +} git_odb_lookup_flags_t; + +/** + * Function type for callbacks from git_odb_foreach. + * + * @param id an id of an object in the object database + * @param payload the payload from the initial call to git_odb_foreach + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_odb_foreach_cb)(const git_oid *id, void *payload); + +/** Options for configuring a loose object backend. */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** + * Type of object IDs to use for this object database, or + * 0 for default (currently SHA1). + */ + git_oid_t oid_type; +} git_odb_options; + +/** The current version of the diff options structure */ +#define GIT_ODB_OPTIONS_VERSION 1 + +/** + * Stack initializer for odb options. Alternatively use + * `git_odb_options_init` programmatic initialization. + */ +#define GIT_ODB_OPTIONS_INIT { GIT_ODB_OPTIONS_VERSION } + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * Create a new object database with no backends. + * + * @param[out] odb location to store the database pointer, if opened. + * @param opts the options for this object database or NULL for defaults + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_new(git_odb **odb, const git_odb_options *opts); + +/** + * Create a new object database and automatically add loose and packed + * backends. + * + * @param[out] odb_out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param objects_dir path of the backends' "objects" directory. + * @param opts the options for this object database or NULL for defaults + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_open( + git_odb **odb_out, + const char *objects_dir, + const git_odb_options *opts); + +#else + +/** + * Create a new object database with no backends. + * + * Before the ODB can be used for read/writing, a custom database + * backend must be manually added using `git_odb_add_backend()` + * + * @param[out] odb location to store the database pointer, if opened. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_new(git_odb **odb); + +/** + * Create a new object database and automatically add + * the two default backends: + * + * - git_odb_backend_loose: read and write loose object files + * from disk, assuming `objects_dir` as the Objects folder + * + * - git_odb_backend_pack: read objects from packfiles, + * assuming `objects_dir` as the Objects folder which + * contains a 'pack/' folder with the corresponding data + * + * @param[out] odb_out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param objects_dir path of the backends' "objects" directory. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_open(git_odb **odb_out, const char *objects_dir); +#endif + +/** + * Add an on-disk alternate to an existing Object DB. + * + * Note that the added path must point to an `objects`, not + * to a full repository, to use it as an alternate store. + * + * Alternate backends are always checked for objects *after* + * all the main backends have been exhausted. + * + * Writing is disabled on alternate backends. + * + * @param odb database to add the backend to + * @param path path to the objects folder for the alternate + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_add_disk_alternate(git_odb *odb, const char *path); + +/** + * Close an open object database. + * + * @param db database pointer to close. If NULL no action is taken. + */ +GIT_EXTERN(void) git_odb_free(git_odb *db); + +/** + * Read an object from the database. + * + * This method queries all available ODB backends + * trying to read the given OID. + * + * The returned object is reference counted and + * internally cached, so it should be closed + * by the user once it's no longer in use. + * + * @param[out] obj pointer where to store the read object + * @param db database to search for the object in. + * @param id identity of the object to read. + * @return 0 if the object was read, GIT_ENOTFOUND if the object is + * not in the database. + */ +GIT_EXTERN(int) git_odb_read(git_odb_object **obj, git_odb *db, const git_oid *id); + +/** + * Read an object from the database, given a prefix + * of its identifier. + * + * This method queries all available ODB backends + * trying to match the 'len' first hexadecimal + * characters of the 'short_id'. + * The remaining (GIT_OID_SHA1_HEXSIZE-len)*4 bits of + * 'short_id' must be 0s. + * 'len' must be at least GIT_OID_MINPREFIXLEN, + * and the prefix must be long enough to identify + * a unique object in all the backends; the + * method will fail otherwise. + * + * The returned object is reference counted and + * internally cached, so it should be closed + * by the user once it's no longer in use. + * + * @param[out] obj pointer where to store the read object + * @param db database to search for the object in. + * @param short_id a prefix of the id of the object to read. + * @param len the length of the prefix + * @return 0 if the object was read, GIT_ENOTFOUND if the object is not in the + * database. GIT_EAMBIGUOUS if the prefix is ambiguous + * (several objects match the prefix) + */ +GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **obj, git_odb *db, const git_oid *short_id, size_t len); + +/** + * Read the header of an object from the database, without + * reading its full contents. + * + * The header includes the length and the type of an object. + * + * Note that most backends do not support reading only the header + * of an object, so the whole object will be read and then the + * header will be returned. + * + * @param[out] len_out pointer where to store the length + * @param[out] type_out pointer where to store the type + * @param db database to search for the object in. + * @param id identity of the object to read. + * @return 0 if the object was read, GIT_ENOTFOUND if the object is not + * in the database. + */ +GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_object_t *type_out, git_odb *db, const git_oid *id); + +/** + * Determine if the given object can be found in the object database. + * + * @param db database to be searched for the given object. + * @param id the object to search for. + * @return 1 if the object was found, 0 otherwise + */ +GIT_EXTERN(int) git_odb_exists(git_odb *db, const git_oid *id); + +/** + * Determine if the given object can be found in the object database, with + * extended options. + * + * @param db database to be searched for the given object. + * @param id the object to search for. + * @param flags flags affecting the lookup (see `git_odb_lookup_flags_t`) + * @return 1 if the object was found, 0 otherwise + */ +GIT_EXTERN(int) git_odb_exists_ext(git_odb *db, const git_oid *id, unsigned int flags); + +/** + * Determine if an object can be found in the object database by an + * abbreviated object ID. + * + * @param out The full OID of the found object if just one is found. + * @param db The database to be searched for the given object. + * @param short_id A prefix of the id of the object to read. + * @param len The length of the prefix. + * @return 0 if found, GIT_ENOTFOUND if not found, GIT_EAMBIGUOUS if multiple + * matches were found, other value < 0 if there was a read error. + */ +GIT_EXTERN(int) git_odb_exists_prefix( + git_oid *out, git_odb *db, const git_oid *short_id, size_t len); + +/** + * The information about object IDs to query in `git_odb_expand_ids`, + * which will be populated upon return. + */ +typedef struct git_odb_expand_id { + /** The object ID to expand */ + git_oid id; + + /** + * The length of the object ID (in nibbles, or packets of 4 bits; the + * number of hex characters) + * */ + unsigned short length; + + /** + * The (optional) type of the object to search for; leave as `0` or set + * to `GIT_OBJECT_ANY` to query for any object matching the ID. + */ + git_object_t type; +} git_odb_expand_id; + +/** + * Determine if one or more objects can be found in the object database + * by their abbreviated object ID and type. + * + * The given array will be updated in place: for each abbreviated ID that is + * unique in the database, and of the given type (if specified), + * the full object ID, object ID length (`GIT_OID_SHA1_HEXSIZE`) and type will be + * written back to the array. For IDs that are not found (or are ambiguous), + * the array entry will be zeroed. + * + * Note that since this function operates on multiple objects, the + * underlying database will not be asked to be reloaded if an object is + * not found (which is unlike other object database operations.) + * + * @param db The database to be searched for the given objects. + * @param ids An array of short object IDs to search for + * @param count The length of the `ids` array + * @return 0 on success or an error code on failure + */ +GIT_EXTERN(int) git_odb_expand_ids( + git_odb *db, + git_odb_expand_id *ids, + size_t count); + +/** + * Refresh the object database to load newly added files. + * + * If the object databases have changed on disk while the library + * is running, this function will force a reload of the underlying + * indexes. + * + * Use this function when you're confident that an external + * application has tampered with the ODB. + * + * NOTE that it is not necessary to call this function at all. The + * library will automatically attempt to refresh the ODB + * when a lookup fails, to see if the looked up object exists + * on disk but hasn't been loaded yet. + * + * @param db database to refresh + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_refresh(git_odb *db); + +/** + * List all objects available in the database + * + * The callback will be called for each object available in the + * database. Note that the objects are likely to be returned in the index + * order, which would make accessing the objects in that order inefficient. + * Return a non-zero value from the callback to stop looping. + * + * @param db database to use + * @param cb the callback to call for each object + * @param payload data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_odb_foreach( + git_odb *db, + git_odb_foreach_cb cb, + void *payload); + +/** + * Write an object directly into the ODB + * + * 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. + * + * This method is provided for compatibility with custom backends + * which are not able to support streaming writes + * + * @param out pointer to store the OID result of the write + * @param odb object database where to store the object + * @param data @type `const unsigned char *` buffer with the data to store + * @param len size of the buffer + * @param type type of the data to store + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_write(git_oid *out, git_odb *odb, const void *data, size_t len, git_object_t type); + +/** + * Open a stream to write an object into the ODB + * + * The type and final length of the object must be specified + * when opening the stream. + * + * The returned stream will be of type `GIT_STREAM_WRONLY`, and it + * won't be effective until `git_odb_stream_finalize_write` is called + * and returns without an error + * + * The stream must always be freed when done with `git_odb_stream_free` or + * will leak memory. + * + * @see git_odb_stream + * + * @param out pointer where to store the stream + * @param db object database where the stream will write + * @param size final size of the object that will be written + * @param type type of the object that will be written + * @return 0 if the stream was created; error code otherwise + */ +GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **out, git_odb *db, git_object_size_t size, git_object_t type); + +/** + * Write to an odb stream + * + * This method will fail if the total number of received bytes exceeds the + * size declared with `git_odb_open_wstream()` + * + * @param stream the stream + * @param buffer the data to write + * @param len the buffer's length + * @return 0 if the write succeeded, error code otherwise + */ +GIT_EXTERN(int) git_odb_stream_write(git_odb_stream *stream, const char *buffer, size_t len); + +/** + * Finish writing to an odb stream + * + * The object will take its final name and will be available to the + * odb. + * + * This method will fail if the total number of received bytes + * differs from the size declared with `git_odb_open_wstream()` + * + * @param out pointer to store the resulting object's id + * @param stream the stream + * @return 0 on success, an error code otherwise + */ +GIT_EXTERN(int) git_odb_stream_finalize_write(git_oid *out, git_odb_stream *stream); + +/** + * Read from an odb stream + * + * Most backends don't implement streaming reads + * + * @param stream the stream + * @param buffer a user-allocated buffer to store the data in. + * @param len the buffer's length + * @return the number of bytes read if succeeded, error code otherwise + */ +GIT_EXTERN(int) git_odb_stream_read(git_odb_stream *stream, char *buffer, size_t len); + +/** + * Free an odb stream + * + * @param stream the stream to free + */ +GIT_EXTERN(void) git_odb_stream_free(git_odb_stream *stream); + +/** + * Open a stream to read an object from the ODB + * + * Note that most backends do *not* support streaming reads + * because they store their objects as compressed/delta'ed blobs. + * + * It's recommended to use `git_odb_read` instead, which is + * assured to work on all backends. + * + * The returned stream will be of type `GIT_STREAM_RDONLY` and + * will have the following methods: + * + * - stream->read: read `n` bytes from the stream + * - stream->free: free the stream + * + * The stream must always be free'd or will leak memory. + * + * @see git_odb_stream + * + * @param out pointer where to store the stream + * @param len pointer where to store the length of the object + * @param type pointer where to store the type of the object + * @param db object database where the stream will read from + * @param oid oid of the object the stream will read from + * @return 0 if the stream was created, error code otherwise + */ +GIT_EXTERN(int) git_odb_open_rstream( + git_odb_stream **out, + size_t *len, + git_object_t *type, + git_odb *db, + const git_oid *oid); + +/** + * Open a stream for writing a pack file to the ODB. + * + * If the ODB layer understands pack files, then the given + * packfile will likely be streamed directly to disk (and a + * corresponding index created). If the ODB layer does not + * understand pack files, the objects will be stored in whatever + * format the ODB layer uses. + * + * @see git_odb_writepack + * + * @param out pointer to the writepack functions + * @param db object database where the stream will read from + * @param progress_cb function to call with progress information. + * Be aware that this is called inline with network and indexing operations, + * so performance may be affected. + * @param progress_payload payload for the progress callback + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_odb_write_pack( + git_odb_writepack **out, + git_odb *db, + git_indexer_progress_cb progress_cb, + void *progress_payload); + +/** + * Write a `multi-pack-index` file from all the `.pack` files in the ODB. + * + * 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). + * + * @param db object database where the `multi-pack-index` file will be written. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_odb_write_multi_pack_index( + git_odb *db); + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * Generate the object ID (in SHA1 or SHA256 format) for a given data buffer. + * + * @param[out] oid the resulting object ID. + * @param data data to hash + * @param len size of the data + * @param object_type of the data to hash + * @param oid_type the oid type to hash to + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hash( + git_oid *oid, + const void *data, + size_t len, + git_object_t object_type, + git_oid_t oid_type); + +/** + * Determine the object ID of a file on disk. + * + * @param[out] oid oid structure the result is written into. + * @param path file to read and determine object id for + * @param object_type of the data to hash + * @param oid_type the oid type to hash to + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hashfile( + git_oid *oid, + const char *path, + git_object_t object_type, + git_oid_t oid_type); +#else + +/** + * Determine the object-ID (sha1 or sha256 hash) of a data buffer + * + * The resulting OID will be the identifier for the data buffer as if + * the data buffer it were to written to the ODB. + * + * @param[out] oid the resulting object-ID. + * @param data data to hash + * @param len size of the data + * @param object_type of the data to hash + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hash(git_oid *oid, const void *data, size_t len, git_object_t object_type); + +/** + * Read a file from disk and fill a git_oid with the object id + * that the file would have if it were written to the Object + * Database as an object of the given type (w/o applying filters). + * Similar functionality to git.git's `git hash-object` without + * the `-w` flag, however, with the --no-filters flag. + * If you need filters, see git_repository_hashfile. + * + * @param[out] oid oid structure the result is written into. + * @param path file to read and determine object id for + * @param object_type of the data to hash + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hashfile(git_oid *oid, const char *path, git_object_t object_type); + +#endif + +/** + * Create a copy of an odb_object + * + * The returned copy must be manually freed with `git_odb_object_free`. + * Note that because of an implementation detail, the returned copy will be + * the same pointer as `source`: the object is internally refcounted, so the + * copy still needs to be freed twice. + * + * @param dest pointer where to store the copy + * @param source object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_object_dup(git_odb_object **dest, git_odb_object *source); + +/** + * Close an ODB object + * + * This method must always be called once a `git_odb_object` is no + * longer needed, otherwise memory will leak. + * + * @param object object to close + */ +GIT_EXTERN(void) git_odb_object_free(git_odb_object *object); + +/** + * Return the OID of an ODB object + * + * This is the OID from which the object was read from + * + * @param object the object + * @return a pointer to the OID + */ +GIT_EXTERN(const git_oid *) git_odb_object_id(git_odb_object *object); + +/** + * Return the data of an ODB object + * + * This is the uncompressed, raw data as read from the ODB, + * without the leading header. + * + * This pointer is owned by the object and shall not be free'd. + * + * @param object the object + * @return @type `const unsigned char *` a pointer to the data + */ +GIT_EXTERN(const void *) git_odb_object_data(git_odb_object *object); + +/** + * Return the size of an ODB object + * + * This is the real size of the `data` buffer, not the + * actual size of the object. + * + * @param object the object + * @return the size + */ +GIT_EXTERN(size_t) git_odb_object_size(git_odb_object *object); + +/** + * Return the type of an ODB object + * + * @param object the object + * @return the type + */ +GIT_EXTERN(git_object_t) git_odb_object_type(git_odb_object *object); + +/** + * Add a custom backend to an existing Object DB + * + * The backends are checked in relative ordering, based on the + * value of the `priority` parameter. + * + * Read for more information. + * + * @param odb database to add the backend to + * @param backend pointer to a git_odb_backend instance + * @param priority Value for ordering the backends queue + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_add_backend(git_odb *odb, git_odb_backend *backend, int priority); + +/** + * Add a custom backend to an existing Object DB; this + * backend will work as an alternate. + * + * Alternate backends are always checked for objects *after* + * all the main backends have been exhausted. + * + * The backends are checked in relative ordering, based on the + * value of the `priority` parameter. + * + * Writing is disabled on alternate backends. + * + * Read for more information. + * + * @param odb database to add the backend to + * @param backend pointer to a git_odb_backend instance + * @param priority Value for ordering the backends queue + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_add_alternate(git_odb *odb, git_odb_backend *backend, int priority); + +/** + * Get the number of ODB backend objects + * + * @param odb object database + * @return number of backends in the ODB + */ +GIT_EXTERN(size_t) git_odb_num_backends(git_odb *odb); + +/** + * Lookup an ODB backend object by index + * + * @param out output pointer to ODB backend at pos + * @param odb object database + * @param pos index into object database backend list + * @return 0 on success, GIT_ENOTFOUND if pos is invalid, other errors < 0 + */ +GIT_EXTERN(int) git_odb_get_backend(git_odb_backend **out, git_odb *odb, size_t pos); + +/** + * Set the git commit-graph for the ODB. + * + * After a successful call, the ownership of the cgraph parameter will be + * transferred to libgit2, and the caller should not free it. + * + * The commit-graph can also be unset by explicitly passing NULL as the cgraph + * parameter. + * + * @param odb object database + * @param cgraph the git commit-graph + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_odb_set_commit_graph(git_odb *odb, git_commit_graph *cgraph); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/odb_backend.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/odb_backend.h new file mode 100644 index 00000000..88ca29fb --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/odb_backend.h @@ -0,0 +1,251 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_odb_backend_h__ +#define INCLUDE_git_odb_backend_h__ + +#include "common.h" +#include "types.h" +#include "indexer.h" + +/** + * @file git2/backend.h + * @brief Object database backends manage the storage of git objects + * @defgroup git_odb Git object database routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Options for configuring a packfile object backend. */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** + * Type of object IDs to use for this object database, or + * 0 for default (currently SHA1). + */ + git_oid_t oid_type; +} git_odb_backend_pack_options; + +/** The current version of the diff options structure */ +#define GIT_ODB_BACKEND_PACK_OPTIONS_VERSION 1 + +/** + * Stack initializer for odb pack backend options. Alternatively use + * `git_odb_backend_pack_options_init` programmatic initialization. + */ +#define GIT_ODB_BACKEND_PACK_OPTIONS_INIT \ + { GIT_ODB_BACKEND_PACK_OPTIONS_VERSION } + +typedef enum { + GIT_ODB_BACKEND_LOOSE_FSYNC = (1 << 0) +} git_odb_backend_loose_flag_t; + +/** Options for configuring a loose object backend. */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** A combination of the `git_odb_backend_loose_flag_t` types. */ + uint32_t flags; + + /** + * zlib compression level to use (0-9), where 1 is the fastest + * at the expense of larger files, and 9 produces the best + * compression at the expense of speed. 0 indicates that no + * compression should be performed. -1 is the default (currently + * optimizing for speed). + */ + int compression_level; + + /** Permissions to use creating a directory or 0 for defaults */ + unsigned int dir_mode; + + /** Permissions to use creating a file or 0 for defaults */ + unsigned int file_mode; + + /** + * Type of object IDs to use for this object database, or + * 0 for default (currently SHA1). + */ + git_oid_t oid_type; +} git_odb_backend_loose_options; + +/** The current version of the diff options structure */ +#define GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION 1 + +/** + * Stack initializer for odb loose backend options. Alternatively use + * `git_odb_backend_loose_options_init` programmatic initialization. + */ +#define GIT_ODB_BACKEND_LOOSE_OPTIONS_INIT \ + { GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION, 0, -1 } + +/* + * Constructors for in-box ODB backends. + */ + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * Create a backend for a directory containing packfiles. + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @param opts the options to use when creating the pack backend + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_pack( + git_odb_backend **out, + const char *objects_dir, + const git_odb_backend_pack_options *opts); + +/** + * Create a backend for a single packfile. + * + * @param[out] out location to store the odb backend pointer + * @param index_file path to the packfile's .idx file + * @param opts the options to use when creating the pack backend + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_one_pack( + git_odb_backend **out, + const char *index_file, + const git_odb_backend_pack_options *opts); + +/** + * Create a backend for loose objects + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @param opts options for the loose object backend or NULL + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_loose( + git_odb_backend **out, + const char *objects_dir, + git_odb_backend_loose_options *opts); + +#else + +/** + * Create a backend for a directory containing packfiles. + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_pack( + git_odb_backend **out, + const char *objects_dir); + +/** + * Create a backend out of a single packfile + * + * This can be useful for inspecting the contents of a single + * packfile. + * + * @param[out] out location to store the odb backend pointer + * @param index_file path to the packfile's .idx file + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_one_pack( + git_odb_backend **out, + const char *index_file); + +/** + * Create a backend for loose objects + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @param compression_level zlib compression level (0-9), or -1 for the default + * @param do_fsync if non-zero, perform an fsync on write + * @param dir_mode permission to use when creating directories, or 0 for default + * @param file_mode permission to use when creating directories, or 0 for default + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_loose( + git_odb_backend **out, + const char *objects_dir, + int compression_level, + int do_fsync, + unsigned int dir_mode, + unsigned int file_mode); + +#endif + +/** Streaming mode */ +typedef enum { + GIT_STREAM_RDONLY = (1 << 1), + GIT_STREAM_WRONLY = (1 << 2), + GIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY) +} git_odb_stream_t; + +/** + * A stream to read/write from a backend. + * + * This represents a stream of data being written to or read from a + * backend. When writing, the frontend functions take care of + * calculating the object's id and all `finalize_write` needs to do is + * store the object with the id it is passed. + */ +struct git_odb_stream { + git_odb_backend *backend; + unsigned int mode; + void *hash_ctx; + +#ifdef GIT_EXPERIMENTAL_SHA256 + git_oid_t oid_type; +#endif + + git_object_size_t declared_size; + git_object_size_t received_bytes; + + /** + * Write at most `len` bytes into `buffer` and advance the stream. + */ + int GIT_CALLBACK(read)(git_odb_stream *stream, char *buffer, size_t len); + + /** + * Write `len` bytes from `buffer` into the stream. + */ + int GIT_CALLBACK(write)(git_odb_stream *stream, const char *buffer, size_t len); + + /** + * Store the contents of the stream as an object with the id + * specified in `oid`. + * + * This method might not be invoked if: + * - an error occurs earlier with the `write` callback, + * - the object referred to by `oid` already exists in any backend, or + * - the final number of received bytes differs from the size declared + * with `git_odb_open_wstream()` + */ + int GIT_CALLBACK(finalize_write)(git_odb_stream *stream, const git_oid *oid); + + /** + * Free the stream's memory. + * + * This method might be called without a call to `finalize_write` if + * an error occurs or if the object is already present in the ODB. + */ + void GIT_CALLBACK(free)(git_odb_stream *stream); +}; + +/** A stream to write a pack file to the ODB */ +struct git_odb_writepack { + git_odb_backend *backend; + + int GIT_CALLBACK(append)(git_odb_writepack *writepack, const void *data, size_t size, git_indexer_progress *stats); + int GIT_CALLBACK(commit)(git_odb_writepack *writepack, git_indexer_progress *stats); + void GIT_CALLBACK(free)(git_odb_writepack *writepack); +}; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/oid.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/oid.h new file mode 100644 index 00000000..0af9737a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/oid.h @@ -0,0 +1,372 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_oid_h__ +#define INCLUDE_git_oid_h__ + +#include "common.h" +#include "types.h" +#include "experimental.h" + +/** + * @file git2/oid.h + * @brief Object IDs + * @defgroup git_oid Git object id routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** The type of object id. */ +typedef enum { + +#ifdef GIT_EXPERIMENTAL_SHA256 + GIT_OID_SHA1 = 1, /**< SHA1 */ + GIT_OID_SHA256 = 2 /**< SHA256 */ +#else + GIT_OID_SHA1 = 1 /**< SHA1 */ +#endif + +} git_oid_t; + +/* + * SHA1 is currently the only supported object ID type. + */ + +/** SHA1 is currently libgit2's default oid type. */ +#define GIT_OID_DEFAULT GIT_OID_SHA1 + +/** Size (in bytes) of a raw/binary sha1 oid */ +#define GIT_OID_SHA1_SIZE 20 +/** Size (in bytes) of a hex formatted sha1 oid */ +#define GIT_OID_SHA1_HEXSIZE (GIT_OID_SHA1_SIZE * 2) + +/** + * The binary representation of the null sha1 object ID. + */ +#ifndef GIT_EXPERIMENTAL_SHA256 +# define GIT_OID_SHA1_ZERO { { 0 } } +#else +# define GIT_OID_SHA1_ZERO { GIT_OID_SHA1, { 0 } } +#endif + +/** + * The string representation of the null sha1 object ID. + */ +#define GIT_OID_SHA1_HEXZERO "0000000000000000000000000000000000000000" + +/* + * Experimental SHA256 support is a breaking change to the API. + * This exists for application compatibility testing. + */ + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** Size (in bytes) of a raw/binary sha256 oid */ +# define GIT_OID_SHA256_SIZE 32 +/** Size (in bytes) of a hex formatted sha256 oid */ +# define GIT_OID_SHA256_HEXSIZE (GIT_OID_SHA256_SIZE * 2) + +/** + * The binary representation of the null sha256 object ID. + */ +# define GIT_OID_SHA256_ZERO { GIT_OID_SHA256, { 0 } } + +/** + * The string representation of the null sha256 object ID. + */ +# define GIT_OID_SHA256_HEXZERO "0000000000000000000000000000000000000000000000000000000000000000" + +#endif + +/** Maximum possible object ID size in raw format */ +#ifdef GIT_EXPERIMENTAL_SHA256 +# define GIT_OID_MAX_SIZE GIT_OID_SHA256_SIZE +#else +# define GIT_OID_MAX_SIZE GIT_OID_SHA1_SIZE +#endif + +/** Maximum possible object ID size in hex format */ +#ifdef GIT_EXPERIMENTAL_SHA256 +# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA256_HEXSIZE +#else +# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA1_HEXSIZE +#endif + +/** Minimum length (in number of hex characters, + * i.e. packets of 4 bits) of an oid prefix */ +#define GIT_OID_MINPREFIXLEN 4 + +/** Unique identity of any object (commit, tree, blob, tag). */ +typedef struct git_oid { + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** type of object id */ + unsigned char type; +#endif + + /** raw binary formatted id */ + unsigned char id[GIT_OID_MAX_SIZE]; +} git_oid; + +#ifdef GIT_EXPERIMENTAL_SHA256 + +GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str, git_oid_t type); +GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str, git_oid_t type); +GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length, git_oid_t type); +GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw, git_oid_t type); + +#else + +/** + * Parse a hex formatted object id into a git_oid. + * + * 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. + * + * @param out oid structure the result is written into. + * @param str input hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (40 bytes for sha1, + * 256 bytes for sha256). + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str); + +/** + * Parse a hex formatted NUL-terminated string into a git_oid. + * + * @param out oid structure the result is written into. + * @param str input hex string; must be null-terminated. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str); + +/** + * Parse N characters of a hex formatted object id into a git_oid. + * + * If N is odd, the last byte's high nibble will be read in and the + * low nibble set to zero. + * + * @param out oid structure the result is written into. + * @param str input hex string of at least size `length` + * @param length length of the input string + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length); + +/** + * Copy an already raw oid into a git_oid structure. + * + * @param out oid structure the result is written into. + * @param raw the raw input bytes to be copied. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw); + +#endif + +/** + * Format a git_oid into a hex string. + * + * @param out output hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (40 bytes for SHA1, + * 64 bytes for SHA256). Only the oid digits are written; + * a '\\0' terminator must be added by the caller if it is + * required. + * @param id oid structure to format. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_fmt(char *out, const git_oid *id); + +/** + * Format a git_oid into a partial hex string. + * + * @param out output hex string; you say how many bytes to write. + * If the number of bytes is > GIT_OID_SHA1_HEXSIZE, extra bytes + * will be zeroed; if not, a '\0' terminator is NOT added. + * @param n number of characters to write into out string + * @param id oid structure to format. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_nfmt(char *out, size_t n, const git_oid *id); + +/** + * Format a git_oid into a loose-object path string. + * + * The resulting string is "aa/...", where "aa" is the first two + * hex digits of the oid and "..." is the remaining 38 digits. + * + * @param out output hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (41 bytes for SHA1, + * 65 bytes for SHA256). Only the oid digits are written; + * a '\\0' terminator must be added by the caller if it + * is required. + * @param id oid structure to format. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_oid_pathfmt(char *out, const git_oid *id); + +/** + * Format a git_oid into a statically allocated c-string. + * + * The c-string is owned by the library and should not be freed + * by the user. If libgit2 is built with thread support, the string + * will be stored in TLS (i.e. one buffer per thread) to allow for + * concurrent calls of the function. + * + * @param oid The oid structure to format + * @return the c-string or NULL on failure + */ +GIT_EXTERN(char *) git_oid_tostr_s(const git_oid *oid); + +/** + * Format a git_oid into a buffer as a hex format c-string. + * + * If the buffer is smaller than the size of a hex-formatted oid string + * plus an additional byte (GIT_OID_SHA_HEXSIZE + 1 for SHA1 or + * GIT_OID_SHA256_HEXSIZE + 1 for SHA256), then the resulting + * oid c-string will be truncated to n-1 characters (but will still be + * NUL-byte terminated). + * + * If there are any input parameter errors (out == NULL, n == 0, oid == + * NULL), then a pointer to an empty string is returned, so that the + * return value can always be printed. + * + * @param out the buffer into which the oid string is output. + * @param n the size of the out buffer. + * @param id the oid structure to format. + * @return the out buffer pointer, assuming no input parameter + * errors, otherwise a pointer to an empty string. + */ +GIT_EXTERN(char *) git_oid_tostr(char *out, size_t n, const git_oid *id); + +/** + * Copy an oid from one structure to another. + * + * @param out oid structure the result is written into. + * @param src oid structure to copy from. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_cpy(git_oid *out, const git_oid *src); + +/** + * Compare two oid structures. + * + * @param a first oid structure. + * @param b second oid structure. + * @return <0, 0, >0 if a < b, a == b, a > b. + */ +GIT_EXTERN(int) git_oid_cmp(const git_oid *a, const git_oid *b); + +/** + * Compare two oid structures for equality + * + * @param a first oid structure. + * @param b second oid structure. + * @return true if equal, false otherwise + */ +GIT_EXTERN(int) git_oid_equal(const git_oid *a, const git_oid *b); + +/** + * Compare the first 'len' hexadecimal characters (packets of 4 bits) + * of two oid structures. + * + * @param a first oid structure. + * @param b second oid structure. + * @param len the number of hex chars to compare + * @return 0 in case of a match + */ +GIT_EXTERN(int) git_oid_ncmp(const git_oid *a, const git_oid *b, size_t len); + +/** + * Check if an oid equals an hex formatted object id. + * + * @param id oid structure. + * @param str input hex string of an object id. + * @return 0 in case of a match, -1 otherwise. + */ +GIT_EXTERN(int) git_oid_streq(const git_oid *id, const char *str); + +/** + * Compare an oid to an hex formatted object id. + * + * @param id oid structure. + * @param str input hex string of an object id. + * @return -1 if str is not valid, <0 if id sorts before str, + * 0 if id matches str, >0 if id sorts after str. + */ +GIT_EXTERN(int) git_oid_strcmp(const git_oid *id, const char *str); + +/** + * Check is an oid is all zeros. + * + * @param id the object ID to check + * @return 1 if all zeros, 0 otherwise. + */ +GIT_EXTERN(int) git_oid_is_zero(const git_oid *id); + +/** + * OID Shortener object + */ +typedef struct git_oid_shorten git_oid_shorten; + +/** + * Create a new OID shortener. + * + * The OID shortener is used to process a list of OIDs + * in text form and return the shortest length that would + * uniquely identify all of them. + * + * E.g. look at the result of `git log --abbrev`. + * + * @param min_length The minimal length for all identifiers, + * which will be used even if shorter OIDs would still + * be unique. + * @return a `git_oid_shorten` instance, NULL if OOM + */ +GIT_EXTERN(git_oid_shorten *) git_oid_shorten_new(size_t min_length); + +/** + * Add a new OID to set of shortened OIDs and calculate + * the minimal length to uniquely identify all the OIDs in + * the set. + * + * The OID is expected to be a 40-char hexadecimal string. + * The OID is owned by the user and will not be modified + * or freed. + * + * For performance reasons, there is a hard-limit of how many + * OIDs can be added to a single set (around ~32000, assuming + * a mostly randomized distribution), which should be enough + * for any kind of program, and keeps the algorithm fast and + * memory-efficient. + * + * Attempting to add more than those OIDs will result in a + * GIT_ERROR_INVALID error + * + * @param os a `git_oid_shorten` instance + * @param text_id an OID in text form + * @return the minimal length to uniquely identify all OIDs + * added so far to the set; or an error code (<0) if an + * error occurs. + */ +GIT_EXTERN(int) git_oid_shorten_add(git_oid_shorten *os, const char *text_id); + +/** + * Free an OID shortener instance + * + * @param os a `git_oid_shorten` instance + */ +GIT_EXTERN(void) git_oid_shorten_free(git_oid_shorten *os); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/oidarray.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/oidarray.h new file mode 100644 index 00000000..e79a5595 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/oidarray.h @@ -0,0 +1,43 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_oidarray_h__ +#define INCLUDE_git_oidarray_h__ + +#include "common.h" +#include "oid.h" + +/** + * @file git2/oidarray.h + * @brief An array of object IDs + * @defgroup git_oidarray Arrays of object IDs + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Array of object ids */ +typedef struct git_oidarray { + git_oid *ids; + size_t count; +} git_oidarray; + +/** + * Free the object IDs contained in an oid_array. This method should + * be called on `git_oidarray` objects that were provided by the + * library. Not doing so will result in a memory leak. + * + * This does not free the `git_oidarray` itself, since the library will + * never allocate that object directly itself. + * + * @param array git_oidarray from which to free oid data + */ +GIT_EXTERN(void) git_oidarray_dispose(git_oidarray *array); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/pack.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/pack.h new file mode 100644 index 00000000..3837e044 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/pack.h @@ -0,0 +1,279 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_pack_h__ +#define INCLUDE_git_pack_h__ + +#include "common.h" +#include "oid.h" +#include "indexer.h" + +/** + * @file git2/pack.h + * @brief Git pack management routines + * + * Packing objects + * --------------- + * + * Creation of packfiles requires two steps: + * + * - First, insert all the objects you want to put into the packfile + * using `git_packbuilder_insert` and `git_packbuilder_insert_tree`. + * It's important to add the objects in recency order ("in the order + * that they are 'reachable' from head"). + * + * "ANY order will give you a working pack, ... [but it is] the thing + * that gives packs good locality. It keeps the objects close to the + * head (whether they are old or new, but they are _reachable_ from the + * head) at the head of the pack. So packs actually have absolutely + * _wonderful_ IO patterns." - Linus Torvalds + * git.git/Documentation/technical/pack-heuristics.txt + * + * - Second, use `git_packbuilder_write` or `git_packbuilder_foreach` to + * write the resulting packfile. + * + * libgit2 will take care of the delta ordering and generation. + * `git_packbuilder_set_threads` can be used to adjust the number of + * threads used for the process. + * + * See tests/pack/packbuilder.c for an example. + * + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Stages that are reported by the packbuilder progress callback. + */ +typedef enum { + GIT_PACKBUILDER_ADDING_OBJECTS = 0, + GIT_PACKBUILDER_DELTAFICATION = 1 +} git_packbuilder_stage_t; + +/** + * Initialize a new packbuilder + * + * @param out The new packbuilder object + * @param repo The repository + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_new(git_packbuilder **out, git_repository *repo); + +/** + * Set number of threads to spawn + * + * By default, libgit2 won't spawn any threads at all; + * when set to 0, libgit2 will autodetect the number of + * CPUs. + * + * @param pb The packbuilder + * @param n Number of threads to spawn + * @return number of actual threads to be used + */ +GIT_EXTERN(unsigned int) git_packbuilder_set_threads(git_packbuilder *pb, unsigned int n); + +/** + * Insert a single object + * + * For an optimal pack it's mandatory to insert objects in recency order, + * commits followed by trees and blobs. + * + * @param pb The packbuilder + * @param id The oid of the commit + * @param name The name; might be NULL + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert(git_packbuilder *pb, const git_oid *id, const char *name); + +/** + * Insert a root tree object + * + * This will add the tree as well as all referenced trees and blobs. + * + * @param pb The packbuilder + * @param id The oid of the root tree + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_tree(git_packbuilder *pb, const git_oid *id); + +/** + * Insert a commit object + * + * This will add a commit as well as the completed referenced tree. + * + * @param pb The packbuilder + * @param id The oid of the commit + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_commit(git_packbuilder *pb, const git_oid *id); + +/** + * Insert objects as given by the walk + * + * Those commits and all objects they reference will be inserted into + * the packbuilder. + * + * @param pb the packbuilder + * @param walk the revwalk to use to fill the packbuilder + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_walk(git_packbuilder *pb, git_revwalk *walk); + +/** + * Recursively insert an object and its referenced objects + * + * Insert the object as well as any object it references. + * + * @param pb the packbuilder + * @param id the id of the root object to insert + * @param name optional name for the object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_recur(git_packbuilder *pb, const git_oid *id, const char *name); + +/** + * Write the contents of the packfile to an in-memory buffer + * + * The contents of the buffer will become a valid packfile, even though there + * will be no attached index + * + * @param buf Buffer where to write the packfile + * @param pb The packbuilder + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_write_buf(git_buf *buf, git_packbuilder *pb); + +/** + * Write the new pack and corresponding index file to path. + * + * @param pb The packbuilder + * @param path Path to the directory where the packfile and index should be stored, or NULL for default location + * @param mode permissions to use creating a packfile or 0 for defaults + * @param progress_cb function to call with progress information from the indexer (optional) + * @param progress_cb_payload payload for the progress callback (optional) + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_write( + git_packbuilder *pb, + const char *path, + unsigned int mode, + git_indexer_progress_cb progress_cb, + void *progress_cb_payload); + +#ifndef GIT_DEPRECATE_HARD +/** + * Get the packfile's hash + * + * A packfile's name is derived from the sorted hashing of all object + * names. This is only correct after the packfile has been written. + * + * @deprecated use git_packbuilder_name + * @param pb The packbuilder object + * @return 0 or an error code + */ +GIT_EXTERN(const git_oid *) git_packbuilder_hash(git_packbuilder *pb); +#endif + +/** + * Get the unique name for the resulting packfile. + * + * The packfile's name is derived from the packfile's content. + * This is only correct after the packfile has been written. + * + * @param pb the packbuilder instance + * @return a NUL terminated string for the packfile name + */ +GIT_EXTERN(const char *) git_packbuilder_name(git_packbuilder *pb); + +/** + * Callback used to iterate over packed objects + * + * @see git_packbuilder_foreach + * + * @param buf A pointer to the object's data + * @param size The size of the underlying object + * @param payload Payload passed to git_packbuilder_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_packbuilder_foreach_cb)(void *buf, size_t size, void *payload); + +/** + * Create the new pack and pass each object to the callback + * + * @param pb the packbuilder + * @param cb the callback to call with each packed object's buffer + * @param payload the callback's data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_foreach(git_packbuilder *pb, git_packbuilder_foreach_cb cb, void *payload); + +/** + * Get the total number of objects the packbuilder will write out + * + * @param pb the packbuilder + * @return the number of objects in the packfile + */ +GIT_EXTERN(size_t) git_packbuilder_object_count(git_packbuilder *pb); + +/** + * Get the number of objects the packbuilder has already written out + * + * @param pb the packbuilder + * @return the number of objects which have already been written + */ +GIT_EXTERN(size_t) git_packbuilder_written(git_packbuilder *pb); + +/** + * Packbuilder progress notification function. + * + * @param stage the stage of the packbuilder + * @param current the current object + * @param total the total number of objects + * @param payload the callback payload + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_packbuilder_progress)( + int stage, + uint32_t current, + uint32_t total, + void *payload); + +/** + * Set the callbacks for a packbuilder + * + * @param pb The packbuilder object + * @param progress_cb Function to call with progress information during + * pack building. Be aware that this is called inline with pack building + * operations, so performance may be affected. + * When progress_cb returns an error, the pack building process will be + * aborted and the error will be returned from the invoked function. + * `pb` must then be freed. + * @param progress_cb_payload Payload for progress callback. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_set_callbacks( + git_packbuilder *pb, + git_packbuilder_progress progress_cb, + void *progress_cb_payload); + +/** + * Free the packbuilder and all associated data + * + * @param pb The packbuilder + */ +GIT_EXTERN(void) git_packbuilder_free(git_packbuilder *pb); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/patch.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/patch.h new file mode 100644 index 00000000..78248215 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/patch.h @@ -0,0 +1,289 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_patch_h__ +#define INCLUDE_git_patch_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "diff.h" + +/** + * @file git2/patch.h + * @brief Patches store the textual diffs in a delta + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The diff patch is used to store all the text diffs for a delta. + * + * You can easily loop over the content of patches and get information about + * them. + */ +typedef struct git_patch git_patch; + +/** + * Get the repository associated with this patch. May be NULL. + * + * @param patch the patch + * @return a pointer to the repository + */ +GIT_EXTERN(git_repository *) git_patch_owner(const git_patch *patch); + +/** + * Return a patch for an entry in the diff list. + * + * The `git_patch` is a newly created object contains the text diffs + * for the delta. You have to call `git_patch_free()` when you are + * done with it. You can use the patch object to loop over all the hunks + * and lines in the diff of the one delta. + * + * For an unchanged file or a binary file, no `git_patch` will be + * created, the output will be set to NULL, and the `binary` flag will be + * set true in the `git_diff_delta` structure. + * + * It is okay to pass NULL for either of the output parameters; if you pass + * NULL for the `git_patch`, then the text diff will not be calculated. + * + * @param out Output parameter for the delta patch object + * @param diff Diff list object + * @param idx Index into diff list + * @return 0 on success, other value < 0 on error + */ +GIT_EXTERN(int) git_patch_from_diff( + git_patch **out, git_diff *diff, size_t idx); + +/** + * Directly generate a patch from the difference between two blobs. + * + * This is just like `git_diff_blobs()` 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. + * + * @param out The generated patch; NULL on error + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param new_blob Blob for new side of diff, or NULL for empty blob + * @param new_as_path Treat new blob as if it had this filename; can be NULL + * @param opts Options for diff, or NULL for default options + * @return 0 on success or error code < 0 + */ +GIT_EXTERN(int) git_patch_from_blobs( + git_patch **out, + const git_blob *old_blob, + const char *old_as_path, + const git_blob *new_blob, + const char *new_as_path, + const git_diff_options *opts); + +/** + * Directly generate a patch from the difference between a blob and a buffer. + * + * This is just like `git_diff_blob_to_buffer()` 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. + * + * @param out The generated patch; NULL on error + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param buffer Raw data for new side of diff, or NULL for empty + * @param buffer_len Length of raw data for new side of diff + * @param buffer_as_path Treat buffer as if it had this filename; can be NULL + * @param opts Options for diff, or NULL for default options + * @return 0 on success or error code < 0 + */ +GIT_EXTERN(int) git_patch_from_blob_and_buffer( + git_patch **out, + const git_blob *old_blob, + const char *old_as_path, + const void *buffer, + size_t buffer_len, + const char *buffer_as_path, + const git_diff_options *opts); + +/** + * Directly generate a patch from the difference between two buffers. + * + * 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. + * + * @param out The generated patch; NULL on error + * @param old_buffer Raw data for old side of diff, or NULL for empty + * @param old_len Length of the raw data for old side of the diff + * @param old_as_path Treat old buffer as if it had this filename; can be NULL + * @param new_buffer Raw data for new side of diff, or NULL for empty + * @param new_len Length of raw data for new side of diff + * @param new_as_path Treat buffer as if it had this filename; can be NULL + * @param opts Options for diff, or NULL for default options + * @return 0 on success or error code < 0 + */ +GIT_EXTERN(int) git_patch_from_buffers( + git_patch **out, + const void *old_buffer, + size_t old_len, + const char *old_as_path, + const void *new_buffer, + size_t new_len, + const char *new_as_path, + const git_diff_options *opts); + +/** + * Free a git_patch object. + * + * @param patch The patch to free. + */ +GIT_EXTERN(void) git_patch_free(git_patch *patch); + +/** + * Get the delta associated with a patch. This delta points to internal + * data and you do not have to release it when you are done with it. + * + * @param patch The patch in which to get the delta. + * @return The delta associated with the patch. + */ +GIT_EXTERN(const git_diff_delta *) git_patch_get_delta(const git_patch *patch); + +/** + * Get the number of hunks in a patch + * + * @param patch The patch in which to get the number of hunks. + * @return The number of hunks of the patch. + */ +GIT_EXTERN(size_t) git_patch_num_hunks(const git_patch *patch); + +/** + * Get line counts of each type in a patch. + * + * This helps imitate a diff --numstat type of output. For that purpose, + * you only need the `total_additions` and `total_deletions` values, but we + * include the `total_context` line count in case you want the total number + * of lines of diff output that will be generated. + * + * All outputs are optional. Pass NULL if you don't need a particular count. + * + * @param total_context Count of context lines in output, can be NULL. + * @param total_additions Count of addition lines in output, can be NULL. + * @param total_deletions Count of deletion lines in output, can be NULL. + * @param patch The git_patch object + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_patch_line_stats( + size_t *total_context, + size_t *total_additions, + size_t *total_deletions, + const git_patch *patch); + +/** + * Get the information about a hunk in a patch + * + * Given a patch and a hunk index into the patch, this returns detailed + * information about that hunk. Any of the output pointers can be passed + * as NULL if you don't care about that particular piece of information. + * + * @param out Output pointer to git_diff_hunk of hunk + * @param lines_in_hunk Output count of total lines in this hunk + * @param patch Input pointer to patch object + * @param hunk_idx Input index of hunk to get information about + * @return 0 on success, GIT_ENOTFOUND if hunk_idx out of range, <0 on error + */ +GIT_EXTERN(int) git_patch_get_hunk( + const git_diff_hunk **out, + size_t *lines_in_hunk, + git_patch *patch, + size_t hunk_idx); + +/** + * Get the number of lines in a hunk. + * + * @param patch The git_patch object + * @param hunk_idx Index of the hunk + * @return Number of lines in hunk or GIT_ENOTFOUND if invalid hunk index + */ +GIT_EXTERN(int) git_patch_num_lines_in_hunk( + const git_patch *patch, + size_t hunk_idx); + +/** + * Get data about a line in a hunk of a patch. + * + * Given a patch, a hunk index, and a line index in the hunk, this + * will return a lot of details about that line. If you pass a hunk + * index larger than the number of hunks or a line index larger than + * the number of lines in the hunk, this will return -1. + * + * @param out The git_diff_line data for this line + * @param patch The patch to look in + * @param hunk_idx The index of the hunk + * @param line_of_hunk The index of the line in the hunk + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_patch_get_line_in_hunk( + const git_diff_line **out, + git_patch *patch, + size_t hunk_idx, + size_t line_of_hunk); + +/** + * Look up size of patch diff data in bytes + * + * This returns the raw size of the patch data. This only includes the + * actual data from the lines of the diff, not the file or hunk headers. + * + * If you pass `include_context` as true (non-zero), this will be the size + * of all of the diff output; if you pass it as false (zero), this will + * only include the actual changed lines (as if `context_lines` was 0). + * + * @param patch A git_patch representing changes to one file + * @param include_context Include context lines in size if non-zero + * @param include_hunk_headers Include hunk header lines if non-zero + * @param include_file_headers Include file header lines if non-zero + * @return The number of bytes of data + */ +GIT_EXTERN(size_t) git_patch_size( + git_patch *patch, + int include_context, + int include_hunk_headers, + int include_file_headers); + +/** + * Serialize the patch to text via callback. + * + * Returning a non-zero value from the callback will terminate the iteration + * and return that value to the caller. + * + * @param patch A git_patch representing changes to one file + * @param print_cb Callback function to output lines of the patch. Will be + * called for file headers, hunk headers, and diff lines. + * @param payload Reference pointer that will be passed to your callbacks. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_patch_print( + git_patch *patch, + git_diff_line_cb print_cb, + void *payload); + +/** + * Get the content of a patch as a single diff text. + * + * @param out The git_buf to be filled in + * @param patch A git_patch representing changes to one file + * @return 0 on success, <0 on failure. + */ +GIT_EXTERN(int) git_patch_to_buf( + git_buf *out, + git_patch *patch); + +/**@}*/ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/pathspec.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/pathspec.h new file mode 100644 index 00000000..6f6918cd --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/pathspec.h @@ -0,0 +1,289 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_pathspec_h__ +#define INCLUDE_git_pathspec_h__ + +#include "common.h" +#include "types.h" +#include "strarray.h" +#include "diff.h" + +/** + * @file git2/pathspec.h + * @brief Specifiers for path matching + * @defgroup git_pathspec Specifiers for path matching + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Compiled pathspec + */ +typedef struct git_pathspec git_pathspec; + +/** + * List of filenames matching a pathspec + */ +typedef struct git_pathspec_match_list git_pathspec_match_list; + +/** + * Options controlling how pathspec match should be executed + */ +typedef enum { + GIT_PATHSPEC_DEFAULT = 0, + + /** + * GIT_PATHSPEC_IGNORE_CASE forces match to ignore case; otherwise + * match will use native case sensitivity of platform filesystem + */ + GIT_PATHSPEC_IGNORE_CASE = (1u << 0), + + /** + * GIT_PATHSPEC_USE_CASE forces case sensitive match; otherwise + * match will use native case sensitivity of platform filesystem + */ + GIT_PATHSPEC_USE_CASE = (1u << 1), + + /** + * GIT_PATHSPEC_NO_GLOB disables glob patterns and just uses simple + * string comparison for matching + */ + GIT_PATHSPEC_NO_GLOB = (1u << 2), + + /** + * GIT_PATHSPEC_NO_MATCH_ERROR means the match functions return error + * code GIT_ENOTFOUND if no matches are found; otherwise no matches is + * still success (return 0) but `git_pathspec_match_list_entrycount` + * will indicate 0 matches. + */ + GIT_PATHSPEC_NO_MATCH_ERROR = (1u << 3), + + /** + * GIT_PATHSPEC_FIND_FAILURES means that the `git_pathspec_match_list` + * should track which patterns matched which files so that at the end of + * the match we can identify patterns that did not match any files. + */ + GIT_PATHSPEC_FIND_FAILURES = (1u << 4), + + /** + * GIT_PATHSPEC_FAILURES_ONLY means that the `git_pathspec_match_list` + * does not need to keep the actual matching filenames. Use this to + * just test if there were any matches at all or in combination with + * GIT_PATHSPEC_FIND_FAILURES to validate a pathspec. + */ + GIT_PATHSPEC_FAILURES_ONLY = (1u << 5) +} git_pathspec_flag_t; + +/** + * Compile a pathspec + * + * @param out Output of the compiled pathspec + * @param pathspec A git_strarray of the paths to match + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_pathspec_new( + git_pathspec **out, const git_strarray *pathspec); + +/** + * Free a pathspec + * + * @param ps The compiled pathspec + */ +GIT_EXTERN(void) git_pathspec_free(git_pathspec *ps); + +/** + * Try to match a path against a pathspec + * + * Unlike most of the other pathspec matching functions, this will not + * fall back on the native case-sensitivity for your platform. You must + * explicitly pass flags to control case sensitivity or else this will + * fall back on being case sensitive. + * + * @param ps The compiled pathspec + * @param flags Combination of git_pathspec_flag_t options to control match + * @param path The pathname to attempt to match + * @return 1 is path matches spec, 0 if it does not + */ +GIT_EXTERN(int) git_pathspec_matches_path( + const git_pathspec *ps, uint32_t flags, const char *path); + +/** + * Match a pathspec against the working directory of a repository. + * + * This matches the pathspec against the current files in the working + * directory of the repository. It is an error to invoke this on a bare + * repo. This handles git ignores (i.e. ignored files will not be + * considered to match the `pathspec` unless the file is tracked in the + * index). + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param repo The repository in which to match; bare repo is an error + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag was given + */ +GIT_EXTERN(int) git_pathspec_match_workdir( + git_pathspec_match_list **out, + git_repository *repo, + uint32_t flags, + git_pathspec *ps); + +/** + * Match a pathspec against entries in an index. + * + * This matches the pathspec against the files in the repository index. + * + * NOTE: At the moment, the case sensitivity of this match is controlled + * by the current case-sensitivity of the index object itself and the + * USE_CASE and IGNORE_CASE flags will have no effect. This behavior will + * be corrected in a future release. + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param index The index to match against + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag is used + */ +GIT_EXTERN(int) git_pathspec_match_index( + git_pathspec_match_list **out, + git_index *index, + uint32_t flags, + git_pathspec *ps); + +/** + * Match a pathspec against files in a tree. + * + * This matches the pathspec against the files in the given tree. + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param tree The root-level tree to match against + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag is used + */ +GIT_EXTERN(int) git_pathspec_match_tree( + git_pathspec_match_list **out, + git_tree *tree, + uint32_t flags, + git_pathspec *ps); + +/** + * Match a pathspec against files in a diff list. + * + * This matches the pathspec against the files in the given diff list. + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param diff A generated diff list + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag is used + */ +GIT_EXTERN(int) git_pathspec_match_diff( + git_pathspec_match_list **out, + git_diff *diff, + uint32_t flags, + git_pathspec *ps); + +/** + * Free memory associates with a git_pathspec_match_list + * + * @param m The git_pathspec_match_list to be freed + */ +GIT_EXTERN(void) git_pathspec_match_list_free(git_pathspec_match_list *m); + +/** + * Get the number of items in a match list. + * + * @param m The git_pathspec_match_list object + * @return Number of items in match list + */ +GIT_EXTERN(size_t) git_pathspec_match_list_entrycount( + const git_pathspec_match_list *m); + +/** + * Get a matching filename by position. + * + * This routine cannot be used if the match list was generated by + * `git_pathspec_match_diff`. If so, it will always return NULL. + * + * @param m The git_pathspec_match_list object + * @param pos The index into the list + * @return The filename of the match + */ +GIT_EXTERN(const char *) git_pathspec_match_list_entry( + const git_pathspec_match_list *m, size_t pos); + +/** + * Get a matching diff delta by position. + * + * This routine can only be used if the match list was generated by + * `git_pathspec_match_diff`. Otherwise it will always return NULL. + * + * @param m The git_pathspec_match_list object + * @param pos The index into the list + * @return The filename of the match + */ +GIT_EXTERN(const git_diff_delta *) git_pathspec_match_list_diff_entry( + const git_pathspec_match_list *m, size_t pos); + +/** + * Get the number of pathspec items that did not match. + * + * This will be zero unless you passed GIT_PATHSPEC_FIND_FAILURES when + * generating the git_pathspec_match_list. + * + * @param m The git_pathspec_match_list object + * @return Number of items in original pathspec that had no matches + */ +GIT_EXTERN(size_t) git_pathspec_match_list_failed_entrycount( + const git_pathspec_match_list *m); + +/** + * Get an original pathspec string that had no matches. + * + * This will be return NULL for positions out of range. + * + * @param m The git_pathspec_match_list object + * @param pos The index into the failed items + * @return The pathspec pattern that didn't match anything + */ +GIT_EXTERN(const char *) git_pathspec_match_list_failed_entry( + const git_pathspec_match_list *m, size_t pos); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/proxy.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/proxy.h new file mode 100644 index 00000000..195ab75e --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/proxy.h @@ -0,0 +1,108 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_proxy_h__ +#define INCLUDE_git_proxy_h__ + +#include "common.h" + +#include "cert.h" +#include "credential.h" + +/** + * @file git2/proxy.h + * @brief TLS proxies + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The type of proxy to use. + */ +typedef enum { + /** + * Do not attempt to connect through a proxy + * + * If built against libcurl, it itself may attempt to connect + * to a proxy if the environment variables specify it. + */ + GIT_PROXY_NONE, + /** + * Try to auto-detect the proxy from the git configuration. + */ + GIT_PROXY_AUTO, + /** + * Connect via the URL given in the options + */ + GIT_PROXY_SPECIFIED +} git_proxy_t; + +/** + * Options for connecting through a proxy + * + * Note that not all types may be supported, depending on the platform + * and compilation options. + */ +typedef struct { + unsigned int version; + + /** + * The type of proxy to use, by URL, auto-detect. + */ + git_proxy_t type; + + /** + * The URL of the proxy. + */ + const char *url; + + /** + * This will be called if the remote host requires + * authentication in order to connect to it. + * + * Returning GIT_PASSTHROUGH will make libgit2 behave as + * though this field isn't set. + */ + git_credential_acquire_cb credentials; + + /** + * If cert verification fails, this will be called to let the + * user make the final decision of whether to allow the + * connection to proceed. Returns 0 to allow the connection + * or a negative value to indicate an error. + */ + git_transport_certificate_check_cb certificate_check; + + /** + * Payload to be provided to the credentials and certificate + * check callbacks. + */ + void *payload; +} git_proxy_options; + +/** Current version for the `git_proxy_options` structure */ +#define GIT_PROXY_OPTIONS_VERSION 1 + +/** Static constructor for `git_proxy_options` */ +#define GIT_PROXY_OPTIONS_INIT {GIT_PROXY_OPTIONS_VERSION} + +/** + * Initialize git_proxy_options structure + * + * Initializes a `git_proxy_options` with default values. Equivalent to + * creating an instance with `GIT_PROXY_OPTIONS_INIT`. + * + * @param opts The `git_proxy_options` struct to initialize. + * @param version The struct version; pass `GIT_PROXY_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_proxy_options_init(git_proxy_options *opts, unsigned int version); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/rebase.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/rebase.h new file mode 100644 index 00000000..3fb3e573 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/rebase.h @@ -0,0 +1,402 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_rebase_h__ +#define INCLUDE_git_rebase_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "annotated_commit.h" +#include "merge.h" +#include "checkout.h" +#include "commit.h" + +/** + * @file git2/rebase.h + * @brief Rebase manipulates commits, placing them on a new parent + * @defgroup git_rebase Rebase manipulates commits, placing them on a new parent + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Rebase options + * + * Use to tell the rebase machinery how to operate. + */ +typedef struct { + unsigned int version; + + /** + * Used by `git_rebase_init`, this will instruct other clients working + * on this rebase that you want a quiet rebase experience, which they + * may choose to provide in an application-specific manner. This has no + * effect upon libgit2 directly, but is provided for interoperability + * between Git tools. + */ + int quiet; + + /** + * Used by `git_rebase_init`, this will begin an in-memory rebase, + * which will allow callers to step through the rebase operations and + * commit the rebased changes, but will not rewind HEAD or update the + * repository to be in a rebasing state. This will not interfere with + * the working directory (if there is one). + */ + int inmemory; + + /** + * Used by `git_rebase_finish`, this is the name of the notes reference + * used to rewrite notes for rebased commits when finishing the rebase; + * if NULL, the contents of the configuration option `notes.rewriteRef` + * is examined, unless the configuration option `notes.rewrite.rebase` + * is set to false. If `notes.rewriteRef` is also NULL, notes will + * not be rewritten. + */ + const char *rewrite_notes_ref; + + /** + * Options to control how trees are merged during `git_rebase_next`. + */ + git_merge_options merge_options; + + /** + * Options to control how files are written during `git_rebase_init`, + * `git_rebase_next` and `git_rebase_abort`. Note that during + * `abort`, these options will add an implied `GIT_CHECKOUT_FORCE` + * to match git semantics. + */ + git_checkout_options checkout_options; + + /** + * Optional callback that allows users to override commit + * creation in `git_rebase_commit`. If specified, users can + * create their own commit and provide the commit ID, which + * may be useful for signing commits or otherwise customizing + * the commit creation. + * + * If this callback returns `GIT_PASSTHROUGH`, then + * `git_rebase_commit` will continue to create the commit. + */ + git_commit_create_cb commit_create_cb; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + /** + * If provided, this will be called with the commit content, allowing + * a signature to be added to the rebase commit. Can be skipped with + * GIT_PASSTHROUGH. If GIT_PASSTHROUGH is returned, a commit will be made + * without a signature. + * + * This field is only used when performing git_rebase_commit. + * + * This callback is not invoked if a `git_commit_create_cb` is + * specified. + * + * This callback is deprecated; users should provide a + * creation callback as `commit_create_cb` that produces a + * commit buffer, signs it, and commits it. + */ + int (*signing_cb)(git_buf *, git_buf *, const char *, void *); +#endif + + /** + * This will be passed to each of the callbacks in this struct + * as the last parameter. + */ + void *payload; +} git_rebase_options; + +/** + * Type of rebase operation in-progress after calling `git_rebase_next`. + */ +typedef enum { + /** + * The given commit is to be cherry-picked. The client should commit + * the changes and continue if there are no conflicts. + */ + GIT_REBASE_OPERATION_PICK = 0, + + /** + * The given commit is to be cherry-picked, but the client should prompt + * the user to provide an updated commit message. + */ + GIT_REBASE_OPERATION_REWORD, + + /** + * The given commit is to be cherry-picked, but the client should stop + * to allow the user to edit the changes before committing them. + */ + GIT_REBASE_OPERATION_EDIT, + + /** + * The given commit is to be squashed into the previous commit. The + * commit message will be merged with the previous message. + */ + GIT_REBASE_OPERATION_SQUASH, + + /** + * The given commit is to be squashed into the previous commit. The + * commit message from this commit will be discarded. + */ + GIT_REBASE_OPERATION_FIXUP, + + /** + * No commit will be cherry-picked. The client should run the given + * command and (if successful) continue. + */ + GIT_REBASE_OPERATION_EXEC +} git_rebase_operation_t; + +/** Current version for the `git_rebase_options` structure */ +#define GIT_REBASE_OPTIONS_VERSION 1 + +/** Static constructor for `git_rebase_options` */ +#define GIT_REBASE_OPTIONS_INIT \ + { GIT_REBASE_OPTIONS_VERSION, 0, 0, NULL, GIT_MERGE_OPTIONS_INIT, \ + GIT_CHECKOUT_OPTIONS_INIT, NULL, NULL } + +/** Indicates that a rebase operation is not (yet) in progress. */ +#define GIT_REBASE_NO_OPERATION SIZE_MAX + +/** + * A rebase operation + * + * Describes a single instruction/operation to be performed during the + * rebase. + */ +typedef struct { + /** The type of rebase operation. */ + git_rebase_operation_t type; + + /** + * The commit ID being cherry-picked. This will be populated for + * all operations except those of type `GIT_REBASE_OPERATION_EXEC`. + */ + const git_oid id; + + /** + * The executable the user has requested be run. This will only + * be populated for operations of type `GIT_REBASE_OPERATION_EXEC`. + */ + const char *exec; +} git_rebase_operation; + +/** + * Initialize git_rebase_options structure + * + * Initializes a `git_rebase_options` with default values. Equivalent to + * creating an instance with `GIT_REBASE_OPTIONS_INIT`. + * + * @param opts The `git_rebase_options` struct to initialize. + * @param version The struct version; pass `GIT_REBASE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_options_init( + git_rebase_options *opts, + unsigned int version); + +/** + * Initializes a rebase operation to rebase the changes in `branch` + * relative to `upstream` onto another branch. To begin the rebase + * process, call `git_rebase_next`. When you have finished with this + * object, call `git_rebase_free`. + * + * @param out Pointer to store the rebase object + * @param repo The repository to perform the rebase + * @param branch The terminal commit to rebase, or NULL to rebase the + * current branch + * @param upstream The commit to begin rebasing from, or NULL to rebase all + * reachable commits + * @param onto The branch to rebase onto, or NULL to rebase onto the given + * upstream + * @param opts Options to specify how rebase is performed, or NULL + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_init( + git_rebase **out, + git_repository *repo, + const git_annotated_commit *branch, + const git_annotated_commit *upstream, + const git_annotated_commit *onto, + const git_rebase_options *opts); + +/** + * Opens an existing rebase that was previously started by either an + * invocation of `git_rebase_init` or by another client. + * + * @param out Pointer to store the rebase object + * @param repo The repository that has a rebase in-progress + * @param opts Options to specify how rebase is performed + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_open( + git_rebase **out, + git_repository *repo, + const git_rebase_options *opts); + +/** + * Gets the original `HEAD` ref name for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The original `HEAD` ref name + */ +GIT_EXTERN(const char *) git_rebase_orig_head_name(git_rebase *rebase); + +/** + * Gets the original `HEAD` id for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The original `HEAD` id + */ +GIT_EXTERN(const git_oid *) git_rebase_orig_head_id(git_rebase *rebase); + +/** + * Gets the `onto` ref name for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The `onto` ref name + */ +GIT_EXTERN(const char *) git_rebase_onto_name(git_rebase *rebase); + +/** + * Gets the `onto` id for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The `onto` id + */ +GIT_EXTERN(const git_oid *) git_rebase_onto_id(git_rebase *rebase); + +/** + * Gets the count of rebase operations that are to be applied. + * + * @param rebase The in-progress rebase + * @return The number of rebase operations in total + */ +GIT_EXTERN(size_t) git_rebase_operation_entrycount(git_rebase *rebase); + +/** + * Gets the index of the rebase operation that is currently being applied. + * If the first operation has not yet been applied (because you have + * called `init` but not yet `next`) then this returns + * `GIT_REBASE_NO_OPERATION`. + * + * @param rebase The in-progress rebase + * @return The index of the rebase operation currently being applied. + */ +GIT_EXTERN(size_t) git_rebase_operation_current(git_rebase *rebase); + +/** + * Gets the rebase operation specified by the given index. + * + * @param rebase The in-progress rebase + * @param idx The index of the rebase operation to retrieve + * @return The rebase operation or NULL if `idx` was out of bounds + */ +GIT_EXTERN(git_rebase_operation *) git_rebase_operation_byindex( + git_rebase *rebase, + size_t idx); + +/** + * Performs the next rebase operation and returns the information about it. + * If the operation is one that applies a patch (which is any operation except + * GIT_REBASE_OPERATION_EXEC) then the patch will be applied and the index and + * working directory will be updated with the changes. If there are conflicts, + * you will need to address those before committing the changes. + * + * @param operation Pointer to store the rebase operation that is to be performed next + * @param rebase The rebase in progress + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_next( + git_rebase_operation **operation, + git_rebase *rebase); + +/** + * Gets the index produced by the last operation, which is the result + * of `git_rebase_next` and which will be committed by the next + * invocation of `git_rebase_commit`. This is useful for resolving + * conflicts in an in-memory rebase before committing them. You must + * call `git_index_free` when you are finished with this. + * + * This is only applicable for in-memory rebases; for rebases within + * a working directory, the changes were applied to the repository's + * index. + * + * @param index The result index of the last operation. + * @param rebase The in-progress rebase. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_rebase_inmemory_index( + git_index **index, + git_rebase *rebase); + +/** + * Commits the current patch. You must have resolved any conflicts that + * were introduced during the patch application from the `git_rebase_next` + * invocation. + * + * @param id Pointer in which to store the OID of the newly created commit + * @param rebase The rebase that is in-progress + * @param author The author of the updated commit, or NULL to keep the + * author from the original commit + * @param committer The committer of the rebase + * @param message_encoding The encoding for the message in the commit, + * represented with a standard encoding name. If message is NULL, + * this should also be NULL, and the encoding from the original + * commit will be maintained. If message is specified, this may be + * NULL to indicate that "UTF-8" is to be used. + * @param message The message for this commit, or NULL to use the message + * from the original commit. + * @return Zero on success, GIT_EUNMERGED if there are unmerged changes in + * the index, GIT_EAPPLIED if the current commit has already + * been applied to the upstream and there is nothing to commit, + * -1 on failure. + */ +GIT_EXTERN(int) git_rebase_commit( + git_oid *id, + git_rebase *rebase, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message); + +/** + * Aborts a rebase that is currently in progress, resetting the repository + * and working directory to their state before rebase began. + * + * @param rebase The rebase that is in-progress + * @return Zero on success; GIT_ENOTFOUND if a rebase is not in progress, + * -1 on other errors. + */ +GIT_EXTERN(int) git_rebase_abort(git_rebase *rebase); + +/** + * Finishes a rebase that is currently in progress once all patches have + * been applied. + * + * @param rebase The rebase that is in-progress + * @param signature The identity that is finishing the rebase (optional) + * @return Zero on success; -1 on error + */ +GIT_EXTERN(int) git_rebase_finish( + git_rebase *rebase, + const git_signature *signature); + +/** + * Frees the `git_rebase` object. + * + * @param rebase The rebase object + */ +GIT_EXTERN(void) git_rebase_free(git_rebase *rebase); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refdb.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refdb.h new file mode 100644 index 00000000..536ef10d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refdb.h @@ -0,0 +1,71 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refdb_h__ +#define INCLUDE_git_refdb_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "refs.h" + +/** + * @file git2/refdb.h + * @brief A database for references (branches and tags) + * @defgroup git_refdb A database for references (branches and tags) + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new reference database with no backends. + * + * Before the Ref DB can be used for read/writing, a custom database + * backend must be manually set using `git_refdb_set_backend()` + * + * @param out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_refdb_new(git_refdb **out, git_repository *repo); + +/** + * Create a new reference database and automatically add + * the default backends: + * + * - git_refdb_dir: read and write loose and packed refs + * from disk, assuming the repository dir as the folder + * + * @param out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_refdb_open(git_refdb **out, git_repository *repo); + +/** + * Suggests that the given refdb compress or optimize its references. + * This mechanism is implementation specific. For on-disk reference + * databases, for example, this may pack all loose references. + * + * @param refdb The reference database to optimize. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_refdb_compress(git_refdb *refdb); + +/** + * Close an open reference database. + * + * @param refdb reference database pointer or NULL + */ +GIT_EXTERN(void) git_refdb_free(git_refdb *refdb); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/reflog.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/reflog.h new file mode 100644 index 00000000..a0956c63 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/reflog.h @@ -0,0 +1,171 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_reflog_h__ +#define INCLUDE_git_reflog_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/reflog.h + * @brief Reference logs store how references change + * @defgroup git_reflog Reference logs store how references change + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Read the reflog for the given reference + * + * If there is no reflog file for the given + * reference yet, an empty reflog object will + * be returned. + * + * The reflog must be freed manually by using + * git_reflog_free(). + * + * @param out pointer to reflog + * @param repo the repository + * @param name reference to look up + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_read(git_reflog **out, git_repository *repo, const char *name); + +/** + * Write an existing in-memory reflog object back to disk + * using an atomic file lock. + * + * @param reflog an existing reflog object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_write(git_reflog *reflog); + +/** + * Add a new entry to the in-memory reflog. + * + * `msg` is optional and can be NULL. + * + * @param reflog an existing reflog object + * @param id the OID the reference is now pointing to + * @param committer the signature of the committer + * @param msg the reflog message + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_append(git_reflog *reflog, const git_oid *id, const git_signature *committer, const char *msg); + +/** + * Rename a reflog + * + * The reflog to be renamed is expected to already exist + * + * The new name will be checked for validity. + * See `git_reference_create_symbolic()` for rules about valid names. + * + * @param repo the repository + * @param old_name the old name of the reference + * @param name the new name of the reference + * @return 0 on success, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reflog_rename(git_repository *repo, const char *old_name, const char *name); + +/** + * Delete the reflog for the given reference + * + * @param repo the repository + * @param name the reflog to delete + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_delete(git_repository *repo, const char *name); + +/** + * Get the number of log entries in a reflog + * + * @param reflog the previously loaded reflog + * @return the number of log entries + */ +GIT_EXTERN(size_t) git_reflog_entrycount(git_reflog *reflog); + +/** + * Lookup an entry by its index + * + * Requesting the reflog entry with an index of 0 (zero) will + * return the most recently created entry. + * + * @param reflog a previously loaded reflog + * @param idx the position of the entry to lookup. Should be greater than or + * equal to 0 (zero) and less than `git_reflog_entrycount()`. + * @return the entry; NULL if not found + */ +GIT_EXTERN(const git_reflog_entry *) git_reflog_entry_byindex(const git_reflog *reflog, size_t idx); + +/** + * Remove an entry from the reflog by its index + * + * To ensure there's no gap in the log history, set `rewrite_previous_entry` + * param value to 1. When deleting entry `n`, member old_oid of entry `n-1` + * (if any) will be updated with the value of member new_oid of entry `n+1`. + * + * @param reflog a previously loaded reflog. + * + * @param idx the position of the entry to remove. Should be greater than or + * equal to 0 (zero) and less than `git_reflog_entrycount()`. + * + * @param rewrite_previous_entry 1 to rewrite the history; 0 otherwise. + * + * @return 0 on success, GIT_ENOTFOUND if the entry doesn't exist + * or an error code. + */ +GIT_EXTERN(int) git_reflog_drop( + git_reflog *reflog, + size_t idx, + int rewrite_previous_entry); + +/** + * Get the old oid + * + * @param entry a reflog entry + * @return the old oid + */ +GIT_EXTERN(const git_oid *) git_reflog_entry_id_old(const git_reflog_entry *entry); + +/** + * Get the new oid + * + * @param entry a reflog entry + * @return the new oid at this time + */ +GIT_EXTERN(const git_oid *) git_reflog_entry_id_new(const git_reflog_entry *entry); + +/** + * Get the committer of this entry + * + * @param entry a reflog entry + * @return the committer + */ +GIT_EXTERN(const git_signature *) git_reflog_entry_committer(const git_reflog_entry *entry); + +/** + * Get the log message + * + * @param entry a reflog entry + * @return the log msg + */ +GIT_EXTERN(const char *) git_reflog_entry_message(const git_reflog_entry *entry); + +/** + * Free the reflog + * + * @param reflog reflog to free + */ +GIT_EXTERN(void) git_reflog_free(git_reflog *reflog); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refs.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refs.h new file mode 100644 index 00000000..d820f2a1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refs.h @@ -0,0 +1,774 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refs_h__ +#define INCLUDE_git_refs_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "strarray.h" + +/** + * @file git2/refs.h + * @brief References point to a commit; generally these are branches and tags + * @defgroup git_reference References point to a commit; generally these are branches and tags + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a reference by name in a repository. + * + * The returned reference must be freed by the user. + * + * The name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param[out] out pointer to the looked-up reference + * @param repo the repository to look up the reference + * @param name the long name for the reference (e.g. HEAD, refs/heads/master, refs/tags/v0.1.0, ...) + * @return 0 on success, GIT_ENOTFOUND, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_reference_lookup(git_reference **out, git_repository *repo, const char *name); + +/** + * Lookup a reference by name and resolve immediately to OID. + * + * This function provides a quick way to resolve a reference name straight + * through to the object id that it refers to. This avoids having to + * allocate or free any `git_reference` objects for simple situations. + * + * The name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param out Pointer to oid to be filled in + * @param repo The repository in which to look up the reference + * @param name The long name for the reference (e.g. HEAD, refs/heads/master, refs/tags/v0.1.0, ...) + * @return 0 on success, GIT_ENOTFOUND, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_reference_name_to_id( + git_oid *out, git_repository *repo, const char *name); + +/** + * Lookup a reference by DWIMing its short name + * + * Apply the git precedence rules to the given shorthand to determine + * which reference the user is referring to. + * + * @param out pointer in which to store the reference + * @param repo the repository in which to look + * @param shorthand the short name for the reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_dwim(git_reference **out, git_repository *repo, const char *shorthand); + +/** + * Conditionally create a new symbolic reference. + * + * A symbolic reference is a reference name that refers to another + * reference name. If the other name moves, the symbolic name will move, + * too. As a simple example, the "HEAD" reference might refer to + * "refs/heads/master" while on the "master" branch of a repository. + * + * The symbolic reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * It will return GIT_EMODIFIED if the reference's value at the time + * of updating does not match the one passed through `current_value` + * (i.e. if the ref has changed since the user read it). + * + * If `current_value` is all zeros, this function will return GIT_EMODIFIED + * if the ref already exists. + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param target The target of the reference + * @param force Overwrite existing references + * @param current_value The expected value of the reference when updating + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC, GIT_EMODIFIED or an error code + */ +GIT_EXTERN(int) git_reference_symbolic_create_matching(git_reference **out, git_repository *repo, const char *name, const char *target, int force, const char *current_value, const char *log_message); + +/** + * Create a new symbolic reference. + * + * A symbolic reference is a reference name that refers to another + * reference name. If the other name moves, the symbolic name will move, + * too. As a simple example, the "HEAD" reference might refer to + * "refs/heads/master" while on the "master" branch of a repository. + * + * The symbolic reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param target The target of the reference + * @param force Overwrite existing references + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_symbolic_create(git_reference **out, git_repository *repo, const char *name, const char *target, int force, const char *log_message); + +/** + * Create a new direct reference. + * + * 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. + * + * The direct reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param id The object id pointed to by the reference. + * @param force Overwrite existing references + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_create(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const char *log_message); + +/** + * Conditionally create new direct reference + * + * 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. + * + * The direct reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * It will return GIT_EMODIFIED if the reference's value at the time + * of updating does not match the one passed through `current_id` + * (i.e. if the ref has changed since the user read it). + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param id The object id pointed to by the reference. + * @param force Overwrite existing references + * @param current_id The expected value of the reference at the time of update + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EMODIFIED if the value of the reference + * has changed, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_create_matching(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const git_oid *current_id, const char *log_message); + +/** + * Get the OID pointed to by a direct reference. + * + * Only available if the reference is direct (i.e. an object id reference, + * not a symbolic one). + * + * 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). + * + * @param ref The reference + * @return a pointer to the oid if available, NULL otherwise + */ +GIT_EXTERN(const git_oid *) git_reference_target(const git_reference *ref); + +/** + * Return the peeled OID target of this reference. + * + * This peeled OID only applies to direct references that point to + * a hard Tag object: it is the result of peeling such Tag. + * + * @param ref The reference + * @return a pointer to the oid if available, NULL otherwise + */ +GIT_EXTERN(const git_oid *) git_reference_target_peel(const git_reference *ref); + +/** + * Get full name to the reference pointed to by a symbolic reference. + * + * Only available if the reference is symbolic. + * + * @param ref The reference + * @return a pointer to the name if available, NULL otherwise + */ +GIT_EXTERN(const char *) git_reference_symbolic_target(const git_reference *ref); + +/** + * Get the type of a reference. + * + * Either direct (GIT_REFERENCE_DIRECT) or symbolic (GIT_REFERENCE_SYMBOLIC) + * + * @param ref The reference + * @return the type + */ +GIT_EXTERN(git_reference_t) git_reference_type(const git_reference *ref); + +/** + * Get the full name of a reference. + * + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param ref The reference + * @return the full name for the ref + */ +GIT_EXTERN(const char *) git_reference_name(const git_reference *ref); + +/** + * Resolve a symbolic reference to a direct reference. + * + * This method iteratively peels a symbolic reference until it resolves to + * a direct reference to an OID. + * + * The peeled reference is returned in the `resolved_ref` argument, and + * must be freed manually once it's no longer needed. + * + * If a direct reference is passed as an argument, a copy of that + * reference is returned. This copy must be manually freed too. + * + * @param out Pointer to the peeled reference + * @param ref The reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_resolve(git_reference **out, const git_reference *ref); + +/** + * Get the repository where a reference resides. + * + * @param ref The reference + * @return a pointer to the repo + */ +GIT_EXTERN(git_repository *) git_reference_owner(const git_reference *ref); + +/** + * Create a new reference with the same name as the given reference but a + * different symbolic target. The reference must be a symbolic reference, + * otherwise this will fail. + * + * The new reference will be written to disk, overwriting the given reference. + * + * The target name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * 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. + * + * @param out Pointer to the newly created reference + * @param ref The reference + * @param target The new target for the reference + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_symbolic_set_target( + git_reference **out, + git_reference *ref, + const char *target, + const char *log_message); + +/** + * Conditionally create a new reference with the same name as the given reference but a + * different OID target. The reference must be a direct reference, otherwise + * this will fail. + * + * The new reference will be written to disk, overwriting the given reference. + * + * @param out Pointer to the newly created reference + * @param ref The reference + * @param id The new target OID for the reference + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EMODIFIED if the value of the reference + * has changed since it was read, or an error code + */ +GIT_EXTERN(int) git_reference_set_target( + git_reference **out, + git_reference *ref, + const git_oid *id, + const char *log_message); + +/** + * Rename an existing reference. + * + * This method works for both direct and symbolic references. + * + * The new name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * If the `force` flag is not enabled, and there's already + * a reference with the given name, the renaming will fail. + * + * IMPORTANT: + * The user needs to write a proper reflog entry if the + * reflog is enabled for the repository. We only rename + * the reflog if it exists. + * + * @param[out] new_ref The new reference + * @param ref The reference to rename + * @param new_name The new name for the reference + * @param force Overwrite an existing reference + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + * + */ +GIT_EXTERN(int) git_reference_rename( + git_reference **new_ref, + git_reference *ref, + const char *new_name, + int force, + const char *log_message); + +/** + * Delete an existing reference. + * + * This method works for both direct and symbolic references. The reference + * will be immediately removed on disk but the memory will not be freed. + * Callers must call `git_reference_free`. + * + * This function will return an error if the reference has changed + * from the time it was looked up. + * + * @param ref The reference to remove + * @return 0, GIT_EMODIFIED or an error code + */ +GIT_EXTERN(int) git_reference_delete(git_reference *ref); + +/** + * Delete an existing reference by name + * + * This method removes the named reference from the repository without + * looking at its old value. + * + * @param repo The repository to remove the reference from + * @param name The reference to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_remove(git_repository *repo, const char *name); + +/** + * Fill a list with all the references that can be found in a repository. + * + * 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()`. + * + * @param array Pointer to a git_strarray structure where + * the reference names will be stored + * @param repo Repository where to find the refs + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_list(git_strarray *array, git_repository *repo); + +/** + * Callback used to iterate over references + * + * @see git_reference_foreach + * + * @param reference The reference object + * @param payload Payload passed to git_reference_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_reference_foreach_cb)(git_reference *reference, void *payload); + +/** + * Callback used to iterate over reference names + * + * @see git_reference_foreach_name + * + * @param name The reference name + * @param payload Payload passed to git_reference_foreach_name + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_reference_foreach_name_cb)(const char *name, void *payload); + +/** + * Perform a callback on each reference in the repository. + * + * The `callback` function will be called for each reference in the + * repository, receiving the reference object and the `payload` value + * passed to this method. Returning a non-zero value from the callback + * will terminate the iteration. + * + * Note that the callback function is responsible to call `git_reference_free` + * on each reference passed to it. + * + * @param repo Repository where to find the refs + * @param callback Function which will be called for every listed ref + * @param payload Additional data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_reference_foreach( + git_repository *repo, + git_reference_foreach_cb callback, + void *payload); + +/** + * Perform a callback on the fully-qualified name of each reference. + * + * The `callback` function will be called for each reference in the + * repository, receiving the name of the reference and the `payload` value + * passed to this method. Returning a non-zero value from the callback + * will terminate the iteration. + * + * @param repo Repository where to find the refs + * @param callback Function which will be called for every listed ref name + * @param payload Additional data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_reference_foreach_name( + git_repository *repo, + git_reference_foreach_name_cb callback, + void *payload); + +/** + * Create a copy of an existing reference. + * + * Call `git_reference_free` to free the data. + * + * @param dest pointer where to store the copy + * @param source object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_dup(git_reference **dest, git_reference *source); + +/** + * Free the given reference. + * + * @param ref git_reference + */ +GIT_EXTERN(void) git_reference_free(git_reference *ref); + +/** + * Compare two references. + * + * @param ref1 The first git_reference + * @param ref2 The second git_reference + * @return 0 if the same, else a stable but meaningless ordering. + */ +GIT_EXTERN(int) git_reference_cmp( + const git_reference *ref1, + const git_reference *ref2); + +/** + * Create an iterator for the repo's references + * + * @param[out] out pointer in which to store the iterator + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_iterator_new( + git_reference_iterator **out, + git_repository *repo); + +/** + * Create an iterator for the repo's references that match the + * specified glob + * + * @param out pointer in which to store the iterator + * @param repo the repository + * @param glob the glob to match against the reference names + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_iterator_glob_new( + git_reference_iterator **out, + git_repository *repo, + const char *glob); + +/** + * Get the next reference + * + * @param[out] out pointer in which to store the reference + * @param iter the iterator + * @return 0, GIT_ITEROVER if there are no more; or an error code + */ +GIT_EXTERN(int) git_reference_next(git_reference **out, git_reference_iterator *iter); + +/** + * Get the next reference's name + * + * This function is provided for convenience in case only the names + * are interesting as it avoids the allocation of the `git_reference` + * object which `git_reference_next()` needs. + * + * @param out pointer in which to store the string + * @param iter the iterator + * @return 0, GIT_ITEROVER if there are no more; or an error code + */ +GIT_EXTERN(int) git_reference_next_name(const char **out, git_reference_iterator *iter); + +/** + * Free the iterator and its associated resources + * + * @param iter the iterator to free + */ +GIT_EXTERN(void) git_reference_iterator_free(git_reference_iterator *iter); + +/** + * Perform a callback on each reference in the repository whose name + * matches the given pattern. + * + * This function acts like `git_reference_foreach()` with an additional + * pattern match being applied to the reference name before issuing the + * callback function. See that function for more information. + * + * The pattern is matched using fnmatch or "glob" style where a '*' matches + * any sequence of letters, a '?' matches any letter, and square brackets + * can be used to define character ranges (such as "[0-9]" for digits). + * + * @param repo Repository where to find the refs + * @param glob Pattern to match (fnmatch-style) against reference name. + * @param callback Function which will be called for every listed ref + * @param payload Additional data to pass to the callback + * @return 0 on success, GIT_EUSER on non-zero callback, or error code + */ +GIT_EXTERN(int) git_reference_foreach_glob( + git_repository *repo, + const char *glob, + git_reference_foreach_name_cb callback, + void *payload); + +/** + * Check if a reflog exists for the specified reference. + * + * @param repo the repository + * @param refname the reference's name + * @return 0 when no reflog can be found, 1 when it exists; + * otherwise an error code. + */ +GIT_EXTERN(int) git_reference_has_log(git_repository *repo, const char *refname); + +/** + * Ensure there is a reflog for a particular reference. + * + * Make sure that successive updates to the reference will append to + * its log. + * + * @param repo the repository + * @param refname the reference's name + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_reference_ensure_log(git_repository *repo, const char *refname); + +/** + * Check if a reference is a local branch. + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/heads + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_branch(const git_reference *ref); + +/** + * Check if a reference is a remote tracking branch + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/remotes + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_remote(const git_reference *ref); + +/** + * Check if a reference is a tag + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/tags + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_tag(const git_reference *ref); + +/** + * Check if a reference is a note + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/notes + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_note(const git_reference *ref); + +/** + * Normalization options for reference lookup + */ +typedef enum { + /** + * No particular normalization. + */ + GIT_REFERENCE_FORMAT_NORMAL = 0u, + + /** + * Control whether one-level refnames are accepted + * (i.e., refnames that do not contain multiple /-separated + * components). Those are expected to be written only using + * uppercase letters and underscore (FETCH_HEAD, ...) + */ + GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL = (1u << 0), + + /** + * Interpret the provided name as a reference pattern for a + * refspec (as used with remote repositories). If this option + * is enabled, the name is allowed to contain a single * () + * in place of a one full pathname component + * (e.g., foo//bar but not foo/bar). + */ + GIT_REFERENCE_FORMAT_REFSPEC_PATTERN = (1u << 1), + + /** + * Interpret the name as part of a refspec in shorthand form + * so the `ONELEVEL` naming rules aren't enforced and 'master' + * becomes a valid name. + */ + GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND = (1u << 2) +} git_reference_format_t; + +/** + * Normalize reference name and check validity. + * + * This will normalize the reference name by removing any leading slash + * '/' characters and collapsing runs of adjacent slashes between name + * components into a single slash. + * + * Once normalized, if the reference name is valid, it will be returned in + * the user allocated buffer. + * + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param buffer_out User allocated buffer to store normalized name + * @param buffer_size Size of buffer_out + * @param name Reference name to be checked. + * @param flags Flags to constrain name validation rules - see the + * GIT_REFERENCE_FORMAT constants above. + * @return 0 on success, GIT_EBUFS if buffer is too small, GIT_EINVALIDSPEC + * or an error code. + */ +GIT_EXTERN(int) git_reference_normalize_name( + char *buffer_out, + size_t buffer_size, + const char *name, + unsigned int flags); + +/** + * Recursively peel reference until object of the specified type is found. + * + * The retrieved `peeled` object is owned by the repository + * and should be closed with the `git_object_free` method. + * + * If you pass `GIT_OBJECT_ANY` as the target type, then the object + * will be peeled until a non-tag object is met. + * + * @param[out] out Pointer to the peeled git_object + * @param ref The reference to be processed + * @param type The type of the requested object (GIT_OBJECT_COMMIT, + * GIT_OBJECT_TAG, GIT_OBJECT_TREE, GIT_OBJECT_BLOB or GIT_OBJECT_ANY). + * @return 0 on success, GIT_EAMBIGUOUS, GIT_ENOTFOUND or an error code + */ +GIT_EXTERN(int) git_reference_peel( + git_object **out, + const git_reference *ref, + git_object_t type); + +/** + * Ensure the reference name is well-formed. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * @param valid output pointer to set with validity of given reference name + * @param refname name to be checked. + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_reference_name_is_valid(int *valid, const char *refname); + +/** + * Get the reference's short name + * + * This will transform the reference name into a name "human-readable" + * version. If no shortname is appropriate, it will return the full + * name. + * + * The memory is owned by the reference and must not be freed. + * + * @param ref a reference + * @return the human-readable version of the name + */ +GIT_EXTERN(const char *) git_reference_shorthand(const git_reference *ref); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refspec.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refspec.h new file mode 100644 index 00000000..49d5f89f --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/refspec.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refspec_h__ +#define INCLUDE_git_refspec_h__ + +#include "common.h" +#include "types.h" +#include "net.h" +#include "buffer.h" + +/** + * @file git2/refspec.h + * @brief Refspecs map local references to remote references + * @defgroup git_refspec Refspecs map local references to remote references + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Parse a given refspec string + * + * @param refspec a pointer to hold the refspec handle + * @param input the refspec string + * @param is_fetch is this a refspec for a fetch + * @return 0 if the refspec string could be parsed, -1 otherwise + */ +GIT_EXTERN(int) git_refspec_parse(git_refspec **refspec, const char *input, int is_fetch); + +/** + * Free a refspec object which has been created by git_refspec_parse + * + * @param refspec the refspec object + */ +GIT_EXTERN(void) git_refspec_free(git_refspec *refspec); + +/** + * Get the source specifier + * + * @param refspec the refspec + * @return the refspec's source specifier + */ +GIT_EXTERN(const char *) git_refspec_src(const git_refspec *refspec); + +/** + * Get the destination specifier + * + * @param refspec the refspec + * @return the refspec's destination specifier + */ +GIT_EXTERN(const char *) git_refspec_dst(const git_refspec *refspec); + +/** + * Get the refspec's string + * + * @param refspec the refspec + * @return the refspec's original string + */ +GIT_EXTERN(const char *) git_refspec_string(const git_refspec *refspec); + +/** + * Get the force update setting + * + * @param refspec the refspec + * @return 1 if force update has been set, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_force(const git_refspec *refspec); + +/** + * Get the refspec's direction. + * + * @param spec refspec + * @return GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH + */ +GIT_EXTERN(git_direction) git_refspec_direction(const git_refspec *spec); + +/** + * Check if a refspec's source descriptor matches a negative reference + * + * @param refspec the refspec + * @param refname the name of the reference to check + * @return 1 if the refspec matches, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_src_matches_negative(const git_refspec *refspec, const char *refname); + +/** + * Check if a refspec's source descriptor matches a reference + * + * @param refspec the refspec + * @param refname the name of the reference to check + * @return 1 if the refspec matches, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_src_matches(const git_refspec *refspec, const char *refname); + +/** + * Check if a refspec's destination descriptor matches a reference + * + * @param refspec the refspec + * @param refname the name of the reference to check + * @return 1 if the refspec matches, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_dst_matches(const git_refspec *refspec, const char *refname); + +/** + * Transform a reference to its target following the refspec's rules + * + * @param out where to store the target name + * @param spec the refspec + * @param name the name of the reference to transform + * @return 0, GIT_EBUFS or another error + */ +GIT_EXTERN(int) git_refspec_transform(git_buf *out, const git_refspec *spec, const char *name); + +/** + * Transform a target reference to its source reference following the refspec's rules + * + * @param out where to store the source reference name + * @param spec the refspec + * @param name the name of the reference to transform + * @return 0, GIT_EBUFS or another error + */ +GIT_EXTERN(int) git_refspec_rtransform(git_buf *out, const git_refspec *spec, const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/remote.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/remote.h new file mode 100644 index 00000000..149e3d1c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/remote.h @@ -0,0 +1,1251 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_remote_h__ +#define INCLUDE_git_remote_h__ + +#include "common.h" +#include "repository.h" +#include "refspec.h" +#include "net.h" +#include "indexer.h" +#include "strarray.h" +#include "transport.h" +#include "pack.h" +#include "proxy.h" + +/** + * @file git2/remote.h + * @brief Remotes are where local repositories fetch from and push to + * @defgroup git_remote Remotes are where local repositories fetch from and push to + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Add a remote with the default fetch refspec to the repository's configuration. + * + * @param out the resulting remote + * @param repo the repository in which to create the remote + * @param name the remote's name + * @param url the remote's url + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_create( + git_remote **out, + git_repository *repo, + const char *name, + const char *url); + +/** + * Remote redirection settings; whether redirects to another host + * are permitted. By default, git will follow a redirect on the + * initial request (`/info/refs`), but not subsequent requests. + */ +typedef enum { + /** + * Do not follow any off-site redirects at any stage of + * the fetch or push. + */ + GIT_REMOTE_REDIRECT_NONE = (1 << 0), + + /** + * Allow off-site redirects only upon the initial request. + * This is the default. + */ + GIT_REMOTE_REDIRECT_INITIAL = (1 << 1), + + /** + * Allow redirects at any stage in the fetch or push. + */ + GIT_REMOTE_REDIRECT_ALL = (1 << 2) +} git_remote_redirect_t; + +/** + * Remote creation options flags + */ +typedef enum { + /** Ignore the repository apply.insteadOf configuration */ + GIT_REMOTE_CREATE_SKIP_INSTEADOF = (1 << 0), + + /** Don't build a fetchspec from the name if none is set */ + GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC = (1 << 1) +} git_remote_create_flags; + +/** + * How to handle reference updates. + */ +typedef enum { + /* Write the fetch results to FETCH_HEAD. */ + GIT_REMOTE_UPDATE_FETCHHEAD = (1 << 0), + + /* Report unchanged tips in the update_refs callback. */ + GIT_REMOTE_UPDATE_REPORT_UNCHANGED = (1 << 1) +} git_remote_update_flags; + +/** + * Remote creation options structure + * + * Initialize with `GIT_REMOTE_CREATE_OPTIONS_INIT`. Alternatively, you can + * use `git_remote_create_options_init`. + * + */ +typedef struct git_remote_create_options { + unsigned int version; + + /** + * The repository that should own the remote. + * Setting this to NULL results in a detached remote. + */ + git_repository *repository; + + /** + * The remote's name. + * Setting this to NULL results in an in-memory/anonymous remote. + */ + const char *name; + + /** The fetchspec the remote should use. */ + const char *fetchspec; + + /** Additional flags for the remote. See git_remote_create_flags. */ + unsigned int flags; +} git_remote_create_options; + +/** Current version for the `git_remote_create_options` structure */ +#define GIT_REMOTE_CREATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_remote_create_options` */ +#define GIT_REMOTE_CREATE_OPTIONS_INIT {GIT_REMOTE_CREATE_OPTIONS_VERSION} + +/** + * Initialize git_remote_create_options structure + * + * Initializes a `git_remote_create_options` with default values. Equivalent to + * creating an instance with `GIT_REMOTE_CREATE_OPTIONS_INIT`. + * + * @param opts The `git_remote_create_options` struct to initialize. + * @param version The struct version; pass `GIT_REMOTE_CREATE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_remote_create_options_init( + git_remote_create_options *opts, + unsigned int version); + +/** + * Create a remote, with options. + * + * This function allows more fine-grained control over the remote creation. + * + * Passing NULL as the opts argument will result in a detached remote. + * + * @param out the resulting remote + * @param url the remote's url + * @param opts the remote creation options + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_create_with_opts( + git_remote **out, + const char *url, + const git_remote_create_options *opts); + +/** + * Add a remote with the provided fetch refspec (or default if NULL) to the repository's + * configuration. + * + * @param out the resulting remote + * @param repo the repository in which to create the remote + * @param name the remote's name + * @param url the remote's url + * @param fetch the remote fetch value + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_create_with_fetchspec( + git_remote **out, + git_repository *repo, + const char *name, + const char *url, + const char *fetch); + +/** + * Create an anonymous remote + * + * Create a remote with the given url in-memory. You can use this when + * you have a URL instead of a remote's name. + * + * @param out pointer to the new remote objects + * @param repo the associated repository + * @param url the remote repository's URL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_create_anonymous( + git_remote **out, + git_repository *repo, + const char *url); + +/** + * Create a remote without a connected local repo + * + * Create a remote with the given url in-memory. You can use this when + * you have a URL instead of a remote's name. + * + * Contrasted with git_remote_create_anonymous, a detached remote + * will not consider any repo configuration values (such as insteadof url + * substitutions). + * + * @param out pointer to the new remote objects + * @param url the remote repository's URL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_create_detached( + git_remote **out, + const char *url); + +/** + * Get the information for a particular remote + * + * The name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param out pointer to the new remote object + * @param repo the associated repository + * @param name the remote's name + * @return 0, GIT_ENOTFOUND, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_remote_lookup(git_remote **out, git_repository *repo, const char *name); + +/** + * Create a copy of an existing remote. All internal strings are also + * duplicated. Callbacks are not duplicated. + * + * Call `git_remote_free` to free the data. + * + * @param dest pointer where to store the copy + * @param source object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_dup(git_remote **dest, git_remote *source); + +/** + * Get the remote's repository + * + * @param remote the remote + * @return a pointer to the repository + */ +GIT_EXTERN(git_repository *) git_remote_owner(const git_remote *remote); + +/** + * Get the remote's name + * + * @param remote the remote + * @return a pointer to the name or NULL for in-memory remotes + */ +GIT_EXTERN(const char *) git_remote_name(const git_remote *remote); + +/** + * Get the remote's url + * + * 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. + * + * @param remote the remote + * @return a pointer to the url + */ +GIT_EXTERN(const char *) git_remote_url(const git_remote *remote); + +/** + * Get the remote's url for pushing. + * + * 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. + * + * @param remote the remote + * @return a pointer to the url or NULL if no special url for pushing is set + */ +GIT_EXTERN(const char *) git_remote_pushurl(const git_remote *remote); + +/** + * Set the remote's url in the configuration + * + * 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. + * + * @param repo the repository in which to perform the change + * @param remote the remote's name + * @param url the url to set + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_url(git_repository *repo, const char *remote, const char *url); + +/** + * Set the remote's url for pushing in the configuration. + * + * 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. + * + * + * @param repo the repository in which to perform the change + * @param remote the remote's name + * @param url the url to set + * @return 0, or an error code + */ +GIT_EXTERN(int) git_remote_set_pushurl(git_repository *repo, const char *remote, const char *url); + +/** + * Set the url for this particular url instance. The URL in the + * configuration will be ignored, and will not be changed. + * + * @param remote the remote's name + * @param url the url to set + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_instance_url(git_remote *remote, const char *url); + +/** + * Set the push url for this particular url instance. The URL in the + * configuration will be ignored, and will not be changed. + * + * @param remote the remote's name + * @param url the url to set + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_instance_pushurl(git_remote *remote, const char *url); + +/** + * Add a fetch refspec to the remote's configuration + * + * Add the given refspec to the fetch list in the configuration. No + * loaded remote instances will be affected. + * + * @param repo the repository in which to change the configuration + * @param remote the name of the remote to change + * @param refspec the new fetch refspec + * @return 0, GIT_EINVALIDSPEC if refspec is invalid or an error value + */ +GIT_EXTERN(int) git_remote_add_fetch(git_repository *repo, const char *remote, const char *refspec); + +/** + * Get the remote's list of fetch refspecs + * + * The memory is owned by the user and should be freed with + * `git_strarray_free`. + * + * @param array pointer to the array in which to store the strings + * @param remote the remote to query + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_remote_get_fetch_refspecs(git_strarray *array, const git_remote *remote); + +/** + * Add a push refspec to the remote's configuration + * + * Add the given refspec to the push list in the configuration. No + * loaded remote instances will be affected. + * + * @param repo the repository in which to change the configuration + * @param remote the name of the remote to change + * @param refspec the new push refspec + * @return 0, GIT_EINVALIDSPEC if refspec is invalid or an error value + */ +GIT_EXTERN(int) git_remote_add_push(git_repository *repo, const char *remote, const char *refspec); + +/** + * Get the remote's list of push refspecs + * + * The memory is owned by the user and should be freed with + * `git_strarray_free`. + * + * @param array pointer to the array in which to store the strings + * @param remote the remote to query + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_remote_get_push_refspecs(git_strarray *array, const git_remote *remote); + +/** + * Get the number of refspecs for a remote + * + * @param remote the remote + * @return the amount of refspecs configured in this remote + */ +GIT_EXTERN(size_t) git_remote_refspec_count(const git_remote *remote); + +/** + * Get a refspec from the remote + * + * @param remote the remote to query + * @param n the refspec to get + * @return the nth refspec + */ +GIT_EXTERN(const git_refspec *)git_remote_get_refspec(const git_remote *remote, size_t n); + +/** + * Get the remote repository's reference advertisement list + * + * Get the list of references with which the server responds to a new + * connection. + * + * 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. + * + * 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. + * + * @param out pointer to the array + * @param size the number of remote heads + * @param remote the remote + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_remote_ls(const git_remote_head ***out, size_t *size, git_remote *remote); + +/** + * Check whether the remote is connected + * + * Check whether the remote's underlying transport is connected to the + * remote host. + * + * @param remote the remote + * @return 1 if it's connected, 0 otherwise. + */ +GIT_EXTERN(int) git_remote_connected(const git_remote *remote); + +/** + * Cancel the operation + * + * At certain points in its operation, the network code checks whether + * the operation has been cancelled and if so stops the operation. + * + * @param remote the remote + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_remote_stop(git_remote *remote); + +/** + * Disconnect from the remote + * + * Close the connection to the remote. + * + * @param remote the remote to disconnect from + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_remote_disconnect(git_remote *remote); + +/** + * Free the memory associated with a remote + * + * This also disconnects from the remote, if the connection + * has not been closed yet (using git_remote_disconnect). + * + * @param remote the remote to free + */ +GIT_EXTERN(void) git_remote_free(git_remote *remote); + +/** + * Get a list of the configured remotes for a repo + * + * The string array must be freed by the user. + * + * @param out a string array which receives the names of the remotes + * @param repo the repository to query + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_list(git_strarray *out, git_repository *repo); + +/** + * Argument to the completion callback which tells it which operation + * finished. + */ +typedef enum git_remote_completion_t { + GIT_REMOTE_COMPLETION_DOWNLOAD, + GIT_REMOTE_COMPLETION_INDEXING, + GIT_REMOTE_COMPLETION_ERROR +} git_remote_completion_t; + +/** + * Push network progress notification callback. + * + * @param current The number of objects pushed so far + * @param total The total number of objects to push + * @param bytes The number of bytes pushed + * @param payload The user-specified payload callback + * @return 0 or an error code to stop the transfer + */ +typedef int GIT_CALLBACK(git_push_transfer_progress_cb)( + unsigned int current, + unsigned int total, + size_t bytes, + void *payload); + +/** + * Represents an update which will be performed on the remote during push + */ +typedef struct { + /** + * The source name of the reference + */ + char *src_refname; + /** + * The name of the reference to update on the server + */ + char *dst_refname; + /** + * The current target of the reference + */ + git_oid src; + /** + * The new target for the reference + */ + git_oid dst; +} git_push_update; + +/** + * Callback used to inform of upcoming updates. + * + * @param updates an array containing the updates which will be sent + * as commands to the destination. + * @param the remote being pushed /// PATCH + * @param len number of elements in `updates` + * @param payload Payload provided by the caller + * @return 0 or an error code to stop the push + */ +typedef int GIT_CALLBACK(git_push_negotiation)( + git_remote *remote, + const git_push_update **updates, + size_t len, + void *payload); + +/** + * Callback used to inform of the update status from the remote. + * + * Called for each updated reference on push. If `status` is + * not `NULL`, the update was rejected by the remote server + * and `status` contains the reason given. + * + * @param refname refname specifying to the remote ref + * @param status status message sent from the remote + * @param data data provided by the caller + * @return 0 on success, otherwise an error + */ +typedef int GIT_CALLBACK(git_push_update_reference_cb)(const char *refname, const char *status, void *data); + +#ifndef GIT_DEPRECATE_HARD +/** + * Callback to resolve URLs before connecting to remote + * + * If you return GIT_PASSTHROUGH, you don't need to write anything to + * url_resolved. + * + * @param url_resolved The buffer to write the resolved URL to + * @param url The URL to resolve + * @param direction GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH + * @param payload Payload provided by the caller + * @return 0 on success, GIT_PASSTHROUGH or an error + * @deprecated Use `git_remote_set_instance_url` + */ +typedef int GIT_CALLBACK(git_url_resolve_cb)(git_buf *url_resolved, const char *url, int direction, void *payload); +#endif + +/** + * Callback invoked immediately before we attempt to connect to the + * given url. Callers may change the URL before the connection by + * calling `git_remote_set_instance_url` in the callback. + * + * @param remote The remote to be connected + * @param direction GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH + * @param payload Payload provided by the caller + * @return 0 on success, or an error + */ +typedef int GIT_CALLBACK(git_remote_ready_cb)(git_remote *remote, int direction, void *payload); + +/** + * The callback settings structure + * + * Set the callbacks to be called by the remote when informing the user + * about the progress of the network operations. + */ +struct git_remote_callbacks { + unsigned int version; /**< The version */ + + /** + * Textual progress from the remote. Text send over the + * progress side-band will be passed to this function (this is + * the 'counting objects' output). + */ + git_transport_message_cb sideband_progress; + + /** + * Completion is called when different parts of the download + * process are done (currently unused). + */ + int GIT_CALLBACK(completion)(git_remote_completion_t type, + void *data); + + /** + * This will be called if the remote host requires + * authentication in order to connect to it. + * + * Returning GIT_PASSTHROUGH will make libgit2 behave as + * though this field isn't set. + */ + git_credential_acquire_cb credentials; + + /** + * If cert verification fails, this will be called to let the + * user make the final decision of whether to allow the + * connection to proceed. Returns 0 to allow the connection + * or a negative value to indicate an error. + */ + git_transport_certificate_check_cb certificate_check; + + /** + * During the download of new data, this will be regularly + * called with the current count of progress done by the + * indexer. + */ + git_indexer_progress_cb transfer_progress; + +#ifdef GIT_DEPRECATE_HARD + void *reserved_update_tips; +#else + /** + * Deprecated callback for reference updates, callers should + * set `update_refs` instead. This is retained for backward + * compatibility; if you specify both `update_refs` and + * `update_tips`, then only the `update_refs` function will + * be called. + * + * @deprecated the `update_refs` callback in this structure + * should be preferred + */ + int GIT_CALLBACK(update_tips)(const char *refname, + const git_oid *a, const git_oid *b, void *data); +#endif + + /** + * Function to call with progress information during pack + * building. Be aware that this is called inline with pack + * building operations, so performance may be affected. + */ + git_packbuilder_progress pack_progress; + + /** + * Function to call with progress information during the + * upload portion of a push. Be aware that this is called + * inline with pack building operations, so performance may be + * affected. + */ + git_push_transfer_progress_cb push_transfer_progress; + + /** + * See documentation of git_push_update_reference_cb + */ + git_push_update_reference_cb push_update_reference; + + /** + * Called once between the negotiation step and the upload. It + * provides information about what updates will be performed. + */ + git_push_negotiation push_negotiation; + + /** + * Create the transport to use for this operation. Leave NULL + * to auto-detect. + */ + git_transport_cb transport; + + /** + * Callback when the remote is ready to connect. + */ + git_remote_ready_cb remote_ready; + + /** + * This will be passed to each of the callbacks in this struct + * as the last parameter. + */ + void *payload; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + /** + * Resolve URL before connecting to remote. + * The returned URL will be used to connect to the remote instead. + * + * This callback is deprecated; users should use + * git_remote_ready_cb and configure the instance URL instead. + */ + git_url_resolve_cb resolve_url; +#endif + + /** + * Each time a reference is updated locally, this function + * will be called with information about it. This should be + * preferred over the `update_tips` callback in this + * structure. + */ + int GIT_CALLBACK(update_refs)( + const char *refname, + const git_oid *a, + const git_oid *b, + git_refspec *spec, + void *data); +}; + +/** Current version for the `git_remote_callbacks_options` structure */ +#define GIT_REMOTE_CALLBACKS_VERSION 1 + +/** Static constructor for `git_remote_callbacks_options` */ +#define GIT_REMOTE_CALLBACKS_INIT {GIT_REMOTE_CALLBACKS_VERSION} + +/** + * Initializes a `git_remote_callbacks` with default values. Equivalent to + * creating an instance with GIT_REMOTE_CALLBACKS_INIT. + * + * @param opts the `git_remote_callbacks` struct to initialize + * @param version Version of struct; pass `GIT_REMOTE_CALLBACKS_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_remote_init_callbacks( + git_remote_callbacks *opts, + unsigned int version); + +/** Acceptable prune settings when fetching */ +typedef enum { + /** + * Use the setting from the configuration + */ + GIT_FETCH_PRUNE_UNSPECIFIED, + /** + * Force pruning on + */ + GIT_FETCH_PRUNE, + /** + * Force pruning off + */ + GIT_FETCH_NO_PRUNE +} git_fetch_prune_t; + +/** + * Automatic tag following option + * + * Lets us select the --tags option to use. + */ +typedef enum { + /** + * Use the setting from the configuration. + */ + GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED = 0, + /** + * Ask the server for tags pointing to objects we're already + * downloading. + */ + GIT_REMOTE_DOWNLOAD_TAGS_AUTO, + /** + * Don't ask for any tags beyond the refspecs. + */ + GIT_REMOTE_DOWNLOAD_TAGS_NONE, + /** + * Ask for the all the tags. + */ + GIT_REMOTE_DOWNLOAD_TAGS_ALL +} git_remote_autotag_option_t; + +/** Constants for fetch depth (shallowness of fetch). */ +typedef enum { + /** The fetch is "full" (not shallow). This is the default. */ + GIT_FETCH_DEPTH_FULL = 0, + + /** The fetch should "unshallow" and fetch missing data. */ + GIT_FETCH_DEPTH_UNSHALLOW = 2147483647 +} git_fetch_depth_t; + +/** + * Fetch options structure. + * + * Zero out for defaults. Initialize with `GIT_FETCH_OPTIONS_INIT` macro to + * correctly set the `version` field. E.g. + * + * git_fetch_options opts = GIT_FETCH_OPTIONS_INIT; + */ +typedef struct { + int version; + + /** + * Callbacks to use for this fetch operation + */ + git_remote_callbacks callbacks; + + /** + * Whether to perform a prune after the fetch + */ + git_fetch_prune_t prune; + + /** + * How to handle reference updates; see `git_remote_update_flags`. + */ + unsigned int update_fetchhead; + + /** + * Determines how to behave regarding tags on the remote, such + * as auto-downloading tags for objects we're downloading or + * downloading all of them. + * + * The default is to auto-follow tags. + */ + git_remote_autotag_option_t download_tags; + + /** + * Proxy options to use, by default no proxy is used. + */ + git_proxy_options proxy_opts; + + /** + * Depth of the fetch to perform, or `GIT_FETCH_DEPTH_FULL` + * (or `0`) for full history, or `GIT_FETCH_DEPTH_UNSHALLOW` + * to "unshallow" a shallow repository. + * + * The default is full (`GIT_FETCH_DEPTH_FULL` or `0`). + */ + int depth; + + /** + * Whether to allow off-site redirects. If this is not + * specified, the `http.followRedirects` configuration setting + * will be consulted. + */ + git_remote_redirect_t follow_redirects; + + /** + * Extra headers for this fetch operation + */ + git_strarray custom_headers; +} git_fetch_options; + +/** Current version for the `git_fetch_options` structure */ +#define GIT_FETCH_OPTIONS_VERSION 1 + +/** Static constructor for `git_fetch_options` */ +#define GIT_FETCH_OPTIONS_INIT { \ + GIT_FETCH_OPTIONS_VERSION, \ + GIT_REMOTE_CALLBACKS_INIT, \ + GIT_FETCH_PRUNE_UNSPECIFIED, \ + GIT_REMOTE_UPDATE_FETCHHEAD, \ + GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED, \ + GIT_PROXY_OPTIONS_INIT } + +/** + * Initialize git_fetch_options structure + * + * Initializes a `git_fetch_options` with default values. Equivalent to + * creating an instance with `GIT_FETCH_OPTIONS_INIT`. + * + * @param opts The `git_fetch_options` struct to initialize. + * @param version The struct version; pass `GIT_FETCH_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_fetch_options_init( + git_fetch_options *opts, + unsigned int version); + + +/** + * Controls the behavior of a git_push object. + */ +typedef struct { + unsigned int version; + + /** + * If the transport being used to push to the remote requires the creation + * of a pack file, this controls the number of worker threads used by + * the packbuilder when creating that pack file to be sent to the remote. + * + * If set to 0, the packbuilder will auto-detect the number of threads + * to create. The default value is 1. + */ + unsigned int pb_parallelism; + + /** + * Callbacks to use for this push operation + */ + git_remote_callbacks callbacks; + + /** + * Proxy options to use, by default no proxy is used. + */ + git_proxy_options proxy_opts; + + /** + * Whether to allow off-site redirects. If this is not + * specified, the `http.followRedirects` configuration setting + * will be consulted. + */ + git_remote_redirect_t follow_redirects; + + /** + * Extra headers for this push operation + */ + git_strarray custom_headers; + + /** + * "Push options" to deliver to the remote. + */ + git_strarray remote_push_options; +} git_push_options; + +/** Current version for the `git_push_options` structure */ +#define GIT_PUSH_OPTIONS_VERSION 1 + +/** Static constructor for `git_push_options` */ +#define GIT_PUSH_OPTIONS_INIT { GIT_PUSH_OPTIONS_VERSION, 1, GIT_REMOTE_CALLBACKS_INIT, GIT_PROXY_OPTIONS_INIT } + +/** + * Initialize git_push_options structure + * + * Initializes a `git_push_options` with default values. Equivalent to + * creating an instance with `GIT_PUSH_OPTIONS_INIT`. + * + * @param opts The `git_push_options` struct to initialize. + * @param version The struct version; pass `GIT_PUSH_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_push_options_init( + git_push_options *opts, + unsigned int version); + +/** + * Remote creation options structure + * + * Initialize with `GIT_REMOTE_CREATE_OPTIONS_INIT`. Alternatively, you can + * use `git_remote_create_options_init`. + * + */ +typedef struct { + unsigned int version; + + /** Callbacks to use for this connection */ + git_remote_callbacks callbacks; + + /** HTTP Proxy settings */ + git_proxy_options proxy_opts; + + /** + * Whether to allow off-site redirects. If this is not + * specified, the `http.followRedirects` configuration setting + * will be consulted. + */ + git_remote_redirect_t follow_redirects; + + /** Extra HTTP headers to use in this connection */ + git_strarray custom_headers; +} git_remote_connect_options; + +/** Current version for the `git_remote_connect_options` structure */ +#define GIT_REMOTE_CONNECT_OPTIONS_VERSION 1 + +/** Static constructor for `git_remote_connect_options` */ +#define GIT_REMOTE_CONNECT_OPTIONS_INIT { \ + GIT_REMOTE_CONNECT_OPTIONS_VERSION, \ + GIT_REMOTE_CALLBACKS_INIT, \ + GIT_PROXY_OPTIONS_INIT } + +/** + * Initialize git_remote_connect_options structure. + * + * Initializes a `git_remote_connect_options` with default values. + * Equivalent to creating an instance with + * `GIT_REMOTE_CONNECT_OPTIONS_INIT`. + * + * @param opts The `git_remote_connect_options` struct to initialize. + * @param version The struct version; pass `GIT_REMOTE_CONNECT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_remote_connect_options_init( + git_remote_connect_options *opts, + unsigned int version); + +/** + * Open a connection to a remote. + * + * 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. + * + * @param remote the remote to connect to + * @param direction GIT_DIRECTION_FETCH if you want to fetch or + * GIT_DIRECTION_PUSH if you want to push + * @param callbacks the callbacks to use for this connection + * @param proxy_opts proxy settings + * @param custom_headers extra HTTP headers to use in this connection + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_connect( + git_remote *remote, + git_direction direction, + const git_remote_callbacks *callbacks, + const git_proxy_options *proxy_opts, + const git_strarray *custom_headers); + +/** + * Open a connection to a remote with extended options. + * + * 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. + * + * The given options structure will form the defaults for connection + * options and callback setup. Callers may override these defaults + * by specifying `git_fetch_options` or `git_push_options` in + * subsequent calls. + * + * @param remote the remote to connect to + * @param direction GIT_DIRECTION_FETCH if you want to fetch or + * GIT_DIRECTION_PUSH if you want to push + * @param opts the remote connection options + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_connect_ext( + git_remote *remote, + git_direction direction, + const git_remote_connect_options *opts); + +/** + * Download and index the packfile. + * + * Connect to the remote if it hasn't been done yet, negotiate with + * the remote git which objects are missing, download and index the + * packfile. + * + * The .idx file will be created and both it and the packfile with be + * renamed to their final name. + * + * 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. + * + * @param remote the remote + * @param refspecs the refspecs to use for this negotiation and + * download. Use NULL or an empty array to use the base refspecs + * @param opts the options to use for this fetch or NULL + * @return 0 or an error code + */ + GIT_EXTERN(int) git_remote_download( + git_remote *remote, + const git_strarray *refspecs, + const git_fetch_options *opts); + +/** + * Create a packfile and send it to the server + * + * Connect to the remote if it hasn't been done yet, negotiate with + * the remote git which objects are missing, create a packfile with + * the missing objects and send it. + * + * 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. + * + * @param remote the remote + * @param refspecs the refspecs to use for this negotiation and + * upload. Use NULL or an empty array to use the base refspecs + * @param opts the options to use for this push + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_upload( + git_remote *remote, + const git_strarray *refspecs, + const git_push_options *opts); + +/** + * Update the tips to the new state. + * + * If callbacks are not specified then the callbacks specified to + * `git_remote_connect` will be used (if it was called). + * + * @param remote the remote to update + * @param callbacks pointer to the callback structure to use or NULL + * @param update_flags the git_remote_update_flags for these tips. + * @param download_tags what the behaviour for downloading tags is for this fetch. This is + * ignored for push. This must be the same value passed to `git_remote_download()`. + * @param reflog_message The message to insert into the reflogs. If + * NULL and fetching, the default is "fetch ", where is + * the name of the remote (or its url, for in-memory remotes). This + * parameter is ignored when pushing. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_update_tips( + git_remote *remote, + const git_remote_callbacks *callbacks, + unsigned int update_flags, + git_remote_autotag_option_t download_tags, + const char *reflog_message); + +/** + * Download new data and update tips. + * + * Convenience function to connect to a remote, download the data, + * disconnect and update the remote-tracking branches. + * + * 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. + * + * @param remote the remote to fetch from + * @param refspecs the refspecs to use for this fetch. Pass NULL or an + * empty array to use the base refspecs. + * @param opts options to use for this fetch or NULL + * @param reflog_message The message to insert into the reflogs. If NULL, the + * default is "fetch" + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_fetch( + git_remote *remote, + const git_strarray *refspecs, + const git_fetch_options *opts, + const char *reflog_message); + +/** + * Prune tracking refs that are no longer present on remote. + * + * If callbacks are not specified then the callbacks specified to + * `git_remote_connect` will be used (if it was called). + * + * @param remote the remote to prune + * @param callbacks callbacks to use for this prune + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_prune( + git_remote *remote, + const git_remote_callbacks *callbacks); + +/** + * Perform a push. + * + * 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. + * + * @param remote the remote to push to + * @param refspecs the refspecs to use for pushing. If NULL or an empty + * array, the configured refspecs will be used + * @param opts options to use for this push + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_remote_push( + git_remote *remote, + const git_strarray *refspecs, + const git_push_options *opts); + +/** + * Get the statistics structure that is filled in by the fetch operation. + * + * @param remote the remote to get statistics for + * @return the git_indexer_progress for the remote + */ +GIT_EXTERN(const git_indexer_progress *) git_remote_stats(git_remote *remote); + +/** + * Retrieve the tag auto-follow setting + * + * @param remote the remote to query + * @return the auto-follow setting + */ +GIT_EXTERN(git_remote_autotag_option_t) git_remote_autotag(const git_remote *remote); + +/** + * Set the remote's tag following setting. + * + * The change will be made in the configuration. No loaded remotes + * will be affected. + * + * @param repo the repository in which to make the change + * @param remote the name of the remote + * @param value the new value to take. + * @return 0, or an error code. + */ +GIT_EXTERN(int) git_remote_set_autotag(git_repository *repo, const char *remote, git_remote_autotag_option_t value); + +/** + * Retrieve the ref-prune setting + * + * @param remote the remote to query + * @return the ref-prune setting + */ +GIT_EXTERN(int) git_remote_prune_refs(const git_remote *remote); + +/** + * Give the remote a new name + * + * All remote-tracking branches and configuration settings + * for the remote are updated. + * + * The new name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * No loaded instances of a the remote with the old name will change + * their name or their list of refspecs. + * + * @param problems non-default refspecs cannot be renamed and will be + * stored here for further processing by the caller. Always free this + * strarray on successful return. + * @param repo the repository in which to rename + * @param name the current name of the remote + * @param new_name the new name the remote should bear + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_rename( + git_strarray *problems, + git_repository *repo, + const char *name, + const char *new_name); + +/** + * Ensure the remote name is well-formed. + * + * @param valid output pointer to set with validity of given remote name + * @param remote_name name to be checked. + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_remote_name_is_valid(int *valid, const char *remote_name); + +/** +* Delete an existing persisted remote. +* +* All remote-tracking branches and configuration settings +* for the remote will be removed. +* +* @param repo the repository in which to act +* @param name the name of the remote to delete +* @return 0 on success, or an error code. +*/ +GIT_EXTERN(int) git_remote_delete(git_repository *repo, const char *name); + +/** + * Retrieve the name of the remote's default branch + * + * The default branch of a repository is the branch which HEAD points + * to. If the remote does not support reporting this information + * directly, it performs the guess as git does; that is, if there are + * multiple branches which point to the same commit, the first one is + * chosen. If the master branch is a candidate, it wins. + * + * This function must only be called after connecting. + * + * @param out the buffer in which to store the reference name + * @param remote the remote + * @return 0, GIT_ENOTFOUND if the remote does not have any references + * or none of them point to HEAD's commit, or an error message. + */ +GIT_EXTERN(int) git_remote_default_branch(git_buf *out, git_remote *remote); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/repository.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/repository.h new file mode 100644 index 00000000..b203576a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/repository.h @@ -0,0 +1,1019 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_repository_h__ +#define INCLUDE_git_repository_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "odb.h" +#include "buffer.h" +#include "commit.h" + +/** + * @file git2/repository.h + * @brief The repository stores revisions for a source tree + * @defgroup git_repository The repository stores revisions for a source tree + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Open a git repository. + * + * The 'path' argument must point to either a git repository + * folder, or an existing work dir. + * + * The method will automatically detect if 'path' is a normal + * or bare repository or fail is 'path' is neither. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out pointer to the repo which will be opened + * @param path the path to the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_open(git_repository **out, const char *path); +/** + * Open working tree as a repository + * + * Open the working directory of the working tree as a normal + * repository that can then be worked on. + * + * @param out Output pointer containing opened repository + * @param wt Working tree to open + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_open_from_worktree(git_repository **out, git_worktree *wt); + +/** + * Create a "fake" repository to wrap an object database + * + * 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. + * + * @param out pointer to the repo + * @param odb the object database to wrap + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_wrap_odb( + git_repository **out, + git_odb *odb); + +/** + * Look for a git repository and copy its path in the given buffer. + * The lookup start from base_path and walk across parent directories + * if nothing has been found. The lookup ends when the first repository + * is found, or when reaching a directory referenced in ceiling_dirs + * or when the filesystem changes (in case across_fs is true). + * + * The method will automatically detect if the repository is bare + * (if there is a repository). + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param out A pointer to a user-allocated git_buf which will contain + * the found path. + * + * @param start_path The base path where the lookup starts. + * + * @param across_fs If true, then the lookup will not stop when a + * filesystem device change is detected while exploring parent directories. + * + * @param ceiling_dirs A GIT_PATH_LIST_SEPARATOR separated list of + * absolute symbolic link free paths. The lookup will stop when any + * of this paths is reached. Note that the lookup always performs on + * start_path no matter start_path appears in ceiling_dirs ceiling_dirs + * might be NULL (which is equivalent to an empty string) + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_discover( + git_buf *out, + const char *start_path, + int across_fs, + const char *ceiling_dirs); + +/** + * Option flags for `git_repository_open_ext`. + */ +typedef enum { + /** + * Only open the repository if it can be immediately found in the + * start_path. Do not walk up from the start_path looking at parent + * directories. + */ + GIT_REPOSITORY_OPEN_NO_SEARCH = (1 << 0), + + /** + * Unless this flag is set, open will not continue searching across + * filesystem boundaries (i.e. when `st_dev` changes from the `stat` + * system call). For example, searching in a user's home directory at + * "/home/user/source/" will not return "/.git/" as the found repo if + * "/" is a different filesystem than "/home". + */ + GIT_REPOSITORY_OPEN_CROSS_FS = (1 << 1), + + /** + * Open repository as a bare repo regardless of core.bare config, and + * defer loading config file for faster setup. + * Unlike `git_repository_open_bare`, this can follow gitlinks. + */ + GIT_REPOSITORY_OPEN_BARE = (1 << 2), + + /** + * Do not check for a repository by appending /.git to the start_path; + * only open the repository if start_path itself points to the git + * directory. + */ + GIT_REPOSITORY_OPEN_NO_DOTGIT = (1 << 3), + + /** + * Find and open a git repository, respecting the environment variables + * used by the git command-line tools. + * If set, `git_repository_open_ext` will ignore the other flags and + * the `ceiling_dirs` argument, and will allow a NULL `path` to use + * `GIT_DIR` or search from the current directory. + * The search for a repository will respect $GIT_CEILING_DIRECTORIES and + * $GIT_DISCOVERY_ACROSS_FILESYSTEM. The opened repository will + * respect $GIT_INDEX_FILE, $GIT_NAMESPACE, $GIT_OBJECT_DIRECTORY, and + * $GIT_ALTERNATE_OBJECT_DIRECTORIES. + * In the future, this flag will also cause `git_repository_open_ext` + * to respect $GIT_WORK_TREE and $GIT_COMMON_DIR; currently, + * `git_repository_open_ext` with this flag will error out if either + * $GIT_WORK_TREE or $GIT_COMMON_DIR is set. + */ + GIT_REPOSITORY_OPEN_FROM_ENV = (1 << 4) +} git_repository_open_flag_t; + +/** + * Find and open a repository with extended controls. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out Pointer to the repo which will be opened. This can + * actually be NULL if you only want to use the error code to + * see if a repo at this path could be opened. + * @param path Path to open as git repository. If the flags + * permit "searching", then this can be a path to a subdirectory + * inside the working directory of the repository. May be NULL if + * flags is GIT_REPOSITORY_OPEN_FROM_ENV. + * @param flags A combination of the GIT_REPOSITORY_OPEN flags above. + * @param ceiling_dirs A GIT_PATH_LIST_SEPARATOR delimited list of path + * prefixes at which the search for a containing repository should + * terminate. + * @return 0 on success, GIT_ENOTFOUND if no repository could be found, + * or -1 if there was a repository but open failed for some reason + * (such as repo corruption or system errors). + */ +GIT_EXTERN(int) git_repository_open_ext( + git_repository **out, + const char *path, + unsigned int flags, + const char *ceiling_dirs); + +/** + * Open a bare repository on the serverside. + * + * 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 + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out Pointer to the repo which will be opened. + * @param bare_path Direct path to the bare repository + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_open_bare(git_repository **out, const char *bare_path); + +/** + * Free a previously allocated repository + * + * 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 + * + * @param repo repository handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_repository_free(git_repository *repo); + +/** + * Creates a new Git repository in the given folder. + * + * TODO: + * - Reinit the repository + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out pointer to the repo which will be created or reinitialized + * @param path the path to the repository + * @param is_bare if true, a Git repository without a working directory is + * created at the pointed path. If false, provided path will be + * considered as the working directory into which the .git directory + * will be created. + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_init( + git_repository **out, + const char *path, + unsigned is_bare); + +/** + * Option flags for `git_repository_init_ext`. + * + * These flags configure extra behaviors to `git_repository_init_ext`. + * In every case, the default behavior is the zero value (i.e. flag is + * not set). Just OR the flag values together for the `flags` parameter + * when initializing a new repo. + */ +typedef enum { + /** + * Create a bare repository with no working directory. + */ + GIT_REPOSITORY_INIT_BARE = (1u << 0), + + /** + * Return an GIT_EEXISTS error if the repo_path appears to already be + * an git repository. + */ + GIT_REPOSITORY_INIT_NO_REINIT = (1u << 1), + + /** + * Normally a "/.git/" will be appended to the repo path for + * non-bare repos (if it is not already there), but passing this flag + * prevents that behavior. + */ + GIT_REPOSITORY_INIT_NO_DOTGIT_DIR = (1u << 2), + + /** + * Make the repo_path (and workdir_path) as needed. Init is always willing + * to create the ".git" directory even without this flag. This flag tells + * init to create the trailing component of the repo and workdir paths + * as needed. + */ + GIT_REPOSITORY_INIT_MKDIR = (1u << 3), + + /** + * Recursively make all components of the repo and workdir paths as + * necessary. + */ + GIT_REPOSITORY_INIT_MKPATH = (1u << 4), + + /** + * libgit2 normally uses internal templates to initialize a new repo. + * This flags enables external templates, looking the "template_path" from + * the options if set, or the `init.templatedir` global config if not, + * or falling back on "/usr/share/git-core/templates" if it exists. + */ + GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE = (1u << 5), + + /** + * If an alternate workdir is specified, use relative paths for the gitdir + * and core.worktree. + */ + GIT_REPOSITORY_INIT_RELATIVE_GITLINK = (1u << 6) +} git_repository_init_flag_t; + +/** + * Mode options for `git_repository_init_ext`. + * + * Set the mode field of the `git_repository_init_options` structure + * either to the custom mode that you would like, or to one of the + * defined modes. + */ +typedef enum { + /** + * Use permissions configured by umask - the default. + */ + GIT_REPOSITORY_INIT_SHARED_UMASK = 0, + + /** + * Use "--shared=group" behavior, chmod'ing the new repo to be group + * writable and "g+sx" for sticky group assignment. + */ + GIT_REPOSITORY_INIT_SHARED_GROUP = 0002775, + + /** + * Use "--shared=all" behavior, adding world readability. + */ + GIT_REPOSITORY_INIT_SHARED_ALL = 0002777 +} git_repository_init_mode_t; + +/** + * Extended options structure for `git_repository_init_ext`. + * + * This contains extra options for `git_repository_init_ext` that enable + * additional initialization features. + */ +typedef struct { + unsigned int version; + + /** + * Combination of GIT_REPOSITORY_INIT flags above. + */ + uint32_t flags; + + /** + * Set to one of the standard GIT_REPOSITORY_INIT_SHARED_... constants + * above, or to a custom value that you would like. + */ + uint32_t mode; + + /** + * The path to the working dir or NULL for default (i.e. repo_path parent + * on non-bare repos). IF THIS IS RELATIVE PATH, IT WILL BE EVALUATED + * RELATIVE TO THE REPO_PATH. If this is not the "natural" working + * directory, a .git gitlink file will be created here linking to the + * repo_path. + */ + const char *workdir_path; + + /** + * If set, this will be used to initialize the "description" file in the + * repository, instead of using the template content. + */ + const char *description; + + /** + * When GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE is set, this contains + * the path to use for the template directory. If this is NULL, the config + * or default directory options will be used instead. + */ + const char *template_path; + + /** + * The name of the head to point HEAD at. If NULL, then this will be + * treated as "master" and the HEAD ref will be set to "refs/heads/master". + * If this begins with "refs/" it will be used verbatim; + * otherwise "refs/heads/" will be prefixed. + */ + const char *initial_head; + + /** + * If this is non-NULL, then after the rest of the repository + * initialization is completed, an "origin" remote will be added + * pointing to this URL. + */ + const char *origin_url; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** + * + * Type of object IDs to use for this repository, or 0 for + * default (currently SHA1). + */ + git_oid_t oid_type; +#endif +} git_repository_init_options; + +/** Current version for the `git_repository_init_options` structure */ +#define GIT_REPOSITORY_INIT_OPTIONS_VERSION 1 + +/** Static constructor for `git_repository_init_options` */ +#define GIT_REPOSITORY_INIT_OPTIONS_INIT {GIT_REPOSITORY_INIT_OPTIONS_VERSION} + +/** + * Initialize git_repository_init_options structure + * + * Initializes a `git_repository_init_options` with default values. Equivalent to + * creating an instance with `GIT_REPOSITORY_INIT_OPTIONS_INIT`. + * + * @param opts The `git_repository_init_options` struct to initialize. + * @param version The struct version; pass `GIT_REPOSITORY_INIT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_repository_init_options_init( + git_repository_init_options *opts, + unsigned int version); + +/** + * Create a new Git repository in the given folder with extended controls. + * + * 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. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param out Pointer to the repo which will be created or reinitialized. + * @param repo_path The path to the repository. + * @param opts Pointer to git_repository_init_options struct. + * @return 0 or an error code on failure. + */ +GIT_EXTERN(int) git_repository_init_ext( + git_repository **out, + const char *repo_path, + git_repository_init_options *opts); + +/** + * Retrieve and resolve the reference pointed at by HEAD. + * + * The returned `git_reference` will be owned by caller and + * `git_reference_free()` must be called when done with it to release the + * allocated memory and prevent a leak. + * + * @param[out] out pointer to the reference which will be retrieved + * @param repo a repository object + * + * @return 0 on success, GIT_EUNBORNBRANCH when HEAD points to a non existing + * branch, GIT_ENOTFOUND when HEAD is missing; an error code otherwise + */ +GIT_EXTERN(int) git_repository_head(git_reference **out, git_repository *repo); + +/** + * Retrieve the referenced HEAD for the worktree + * + * @param out pointer to the reference which will be retrieved + * @param repo a repository object + * @param name name of the worktree to retrieve HEAD for + * @return 0 when successful, error-code otherwise + */ +GIT_EXTERN(int) git_repository_head_for_worktree(git_reference **out, git_repository *repo, + const char *name); + +/** + * Check if a repository's HEAD is detached + * + * A repository's HEAD is detached when it points directly to a commit + * instead of a branch. + * + * @param repo Repo to test + * @return 1 if HEAD is detached, 0 if it's not; error code if there + * was an error. + */ +GIT_EXTERN(int) git_repository_head_detached(git_repository *repo); + +/** + * Check if a worktree's HEAD is detached + * + * A worktree's HEAD is detached when it points directly to a + * commit instead of a branch. + * + * @param repo a repository object + * @param name name of the worktree to retrieve HEAD for + * @return 1 if HEAD is detached, 0 if its not; error code if + * there was an error + */ +GIT_EXTERN(int) git_repository_head_detached_for_worktree(git_repository *repo, + const char *name); + +/** + * Check if the current branch is unborn + * + * An unborn branch is one named from HEAD but which doesn't exist in + * the refs namespace, because it doesn't have any commit to point to. + * + * @param repo Repo to test + * @return 1 if the current branch is unborn, 0 if it's not; error + * code if there was an error + */ +GIT_EXTERN(int) git_repository_head_unborn(git_repository *repo); + +/** + * Check if a repository is empty + * + * An empty repository has just been initialized and contains no references + * apart from HEAD, which must be pointing to the unborn master branch, + * or the branch specified for the repository in the `init.defaultBranch` + * configuration variable. + * + * @param repo Repo to test + * @return 1 if the repository is empty, 0 if it isn't, error code + * if the repository is corrupted + */ +GIT_EXTERN(int) git_repository_is_empty(git_repository *repo); + +/** + * List of items which belong to the git repository layout + */ +typedef enum { + GIT_REPOSITORY_ITEM_GITDIR, + GIT_REPOSITORY_ITEM_WORKDIR, + GIT_REPOSITORY_ITEM_COMMONDIR, + GIT_REPOSITORY_ITEM_INDEX, + GIT_REPOSITORY_ITEM_OBJECTS, + GIT_REPOSITORY_ITEM_REFS, + GIT_REPOSITORY_ITEM_PACKED_REFS, + GIT_REPOSITORY_ITEM_REMOTES, + GIT_REPOSITORY_ITEM_CONFIG, + GIT_REPOSITORY_ITEM_INFO, + GIT_REPOSITORY_ITEM_HOOKS, + GIT_REPOSITORY_ITEM_LOGS, + GIT_REPOSITORY_ITEM_MODULES, + GIT_REPOSITORY_ITEM_WORKTREES, + GIT_REPOSITORY_ITEM_WORKTREE_CONFIG, + GIT_REPOSITORY_ITEM__LAST +} git_repository_item_t; + +/** + * Get the location of a specific repository file or directory + * + * This function will retrieve the path of a specific repository + * item. It will thereby honor things like the repository's + * common directory, gitdir, etc. In case a file path cannot + * exist for a given item (e.g. the working directory of a bare + * repository), GIT_ENOTFOUND is returned. + * + * @param out Buffer to store the path at + * @param repo Repository to get path for + * @param item The repository item for which to retrieve the path + * @return 0, GIT_ENOTFOUND if the path cannot exist or an error code + */ +GIT_EXTERN(int) git_repository_item_path(git_buf *out, const git_repository *repo, git_repository_item_t item); + +/** + * Get the path of this repository + * + * This is the path of the `.git` folder for normal repositories, + * or of the repository itself for bare repositories. + * + * @param repo A repository object + * @return the path to the repository + */ +GIT_EXTERN(const char *) git_repository_path(const git_repository *repo); + +/** + * Get the path of the working directory for this repository + * + * If the repository is bare, this function will always return + * NULL. + * + * @param repo A repository object + * @return the path to the working dir, if it exists + */ +GIT_EXTERN(const char *) git_repository_workdir(const git_repository *repo); + +/** + * Get the path of the shared common directory for this repository. + * + * If the repository is bare, it is the root directory for the repository. + * If the repository is a worktree, it is the parent repo's gitdir. + * Otherwise, it is the gitdir. + * + * @param repo A repository object + * @return the path to the common dir + */ +GIT_EXTERN(const char *) git_repository_commondir(const git_repository *repo); + +/** + * Set the path to the working directory for this repository + * + * The working directory doesn't need to be the same one + * that contains the `.git` folder for this repository. + * + * If this repository is bare, setting its working directory + * will turn it into a normal repository, capable of performing + * all the common workdir operations (checkout, status, index + * manipulation, etc). + * + * @param repo A repository object + * @param workdir The path to a working directory + * @param update_gitlink Create/update gitlink in workdir and set config + * "core.worktree" (if workdir is not the parent of the .git directory) + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_set_workdir( + git_repository *repo, const char *workdir, int update_gitlink); + +/** + * Check if a repository is bare + * + * @param repo Repo to test + * @return 1 if the repository is bare, 0 otherwise. + */ +GIT_EXTERN(int) git_repository_is_bare(const git_repository *repo); + +/** + * Check if a repository is a linked work tree + * + * @param repo Repo to test + * @return 1 if the repository is a linked work tree, 0 otherwise. + */ +GIT_EXTERN(int) git_repository_is_worktree(const git_repository *repo); + +/** + * Get the configuration file for this repository. + * + * 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). + * + * The configuration file must be freed once it's no longer + * being used by the user. + * + * @param out Pointer to store the loaded configuration + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_config(git_config **out, git_repository *repo); + +/** + * Get a snapshot of the repository's configuration + * + * Convenience function to take a snapshot from the repository's + * configuration. The contents of this snapshot will not change, + * even if the underlying config files are modified. + * + * The configuration file must be freed once it's no longer + * being used by the user. + * + * @param out Pointer to store the loaded configuration + * @param repo the repository + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_config_snapshot(git_config **out, git_repository *repo); + +/** + * Get the Object Database for this repository. + * + * If a custom ODB has not been set, the default + * database for the repository will be returned (the one + * located in `.git/objects`). + * + * The ODB must be freed once it's no longer being used by + * the user. + * + * @param[out] out Pointer to store the loaded ODB + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_odb(git_odb **out, git_repository *repo); + +/** + * Get the Reference Database Backend for this repository. + * + * If a custom refsdb has not been set, the default database for + * the repository will be returned (the one that manipulates loose + * and packed references in the `.git` directory). + * + * The refdb must be freed once it's no longer being used by + * the user. + * + * @param[out] out Pointer to store the loaded refdb + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_refdb(git_refdb **out, git_repository *repo); + +/** + * Get the Index file for this repository. + * + * If a custom index has not been set, the default + * index for the repository will be returned (the one + * located in `.git/index`). + * + * The index must be freed once it's no longer being used by + * the user. + * + * @param[out] out Pointer to store the loaded index + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_index(git_index **out, git_repository *repo); + +/** + * Retrieve git's prepared message + * + * Operations such as git revert/cherry-pick/merge with the -n option + * stop just short of creating a commit with the changes and save + * their prepared message in .git/MERGE_MSG so the next git-commit + * execution can present it to the user for them to amend if they + * wish. + * + * Use this function to get the contents of this file. Don't forget to + * remove the file after you create the commit. + * + * @param out git_buf to write data into + * @param repo Repository to read prepared message from + * @return 0, GIT_ENOTFOUND if no message exists or an error code + */ +GIT_EXTERN(int) git_repository_message(git_buf *out, git_repository *repo); + +/** + * Remove git's prepared message. + * + * Remove the message that `git_repository_message` retrieves. + * + * @param repo Repository to remove prepared message from. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_repository_message_remove(git_repository *repo); + +/** + * Remove all the metadata associated with an ongoing command like merge, + * revert, cherry-pick, etc. For example: MERGE_HEAD, MERGE_MSG, etc. + * + * @param repo A repository object + * @return 0 on success, or error + */ +GIT_EXTERN(int) git_repository_state_cleanup(git_repository *repo); + +/** + * Callback used to iterate over each FETCH_HEAD entry + * + * @see git_repository_fetchhead_foreach + * + * @param ref_name The reference name + * @param remote_url The remote URL + * @param oid The reference target OID + * @param is_merge Was the reference the result of a merge + * @param payload Payload passed to git_repository_fetchhead_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_repository_fetchhead_foreach_cb)(const char *ref_name, + const char *remote_url, + const git_oid *oid, + unsigned int is_merge, + void *payload); + +/** + * Invoke 'callback' for each entry in the given FETCH_HEAD file. + * + * Return a non-zero value from the callback to stop the loop. + * + * @param repo A repository object + * @param callback Callback function + * @param payload Pointer to callback data (optional) + * @return 0 on success, non-zero callback return value, GIT_ENOTFOUND if + * there is no FETCH_HEAD file, or other error code. + */ +GIT_EXTERN(int) git_repository_fetchhead_foreach( + git_repository *repo, + git_repository_fetchhead_foreach_cb callback, + void *payload); + +/** + * Callback used to iterate over each MERGE_HEAD entry + * + * @see git_repository_mergehead_foreach + * + * @param oid The merge OID + * @param payload Payload passed to git_repository_mergehead_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_repository_mergehead_foreach_cb)(const git_oid *oid, + void *payload); + +/** + * If a merge is in progress, invoke 'callback' for each commit ID in the + * MERGE_HEAD file. + * + * Return a non-zero value from the callback to stop the loop. + * + * @param repo A repository object + * @param callback Callback function + * @param payload Pointer to callback data (optional) + * @return 0 on success, non-zero callback return value, GIT_ENOTFOUND if + * there is no MERGE_HEAD file, or other error code. + */ +GIT_EXTERN(int) git_repository_mergehead_foreach( + git_repository *repo, + git_repository_mergehead_foreach_cb callback, + void *payload); + +/** + * Calculate hash of file using repository filtering rules. + * + * If you simply want to calculate the hash of a file on disk with no filters, + * you can just use the `git_odb_hashfile()` API. However, if you want to + * hash a file in the repository and you want to apply filtering rules (e.g. + * crlf filters) before generating the SHA, then use this function. + * + * Note: if the repository has `core.safecrlf` set to fail and the + * filtering triggers that failure, then this function will return an + * error and not calculate the hash of the file. + * + * @param out Output value of calculated SHA + * @param repo Repository pointer + * @param path Path to file on disk whose contents should be hashed. This + * may be an absolute path or a relative path, in which case it + * will be treated as a path within the working directory. + * @param type The object type to hash as (e.g. GIT_OBJECT_BLOB) + * @param as_path The path to use to look up filtering rules. If this is + * an empty string then no filters will be applied when + * calculating the hash. If this is `NULL` and the `path` + * parameter is a file within the repository's working + * directory, then the `path` will be used. + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_hashfile( + git_oid *out, + git_repository *repo, + const char *path, + git_object_t type, + const char *as_path); + +/** + * Make the repository HEAD point to the specified reference. + * + * If the provided reference points to a Tree or a Blob, the HEAD is + * unaltered and -1 is returned. + * + * 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. + * + * Otherwise, the HEAD will be detached and will directly point to + * the Commit. + * + * @param repo Repository pointer + * @param refname Canonical name of the reference the HEAD should point at + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_head( + git_repository *repo, + const char *refname); + +/** + * Make the repository HEAD directly point to the Commit. + * + * If the provided committish cannot be found in the repository, the HEAD + * is unaltered and GIT_ENOTFOUND is returned. + * + * If the provided committish cannot be peeled into a commit, the HEAD + * is unaltered and -1 is returned. + * + * Otherwise, the HEAD will eventually be detached and will directly point to + * the peeled Commit. + * + * @param repo Repository pointer + * @param committish Object id of the Commit the HEAD should point to + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_head_detached( + git_repository *repo, + const git_oid *committish); + +/** + * Make the repository HEAD directly point to the Commit. + * + * 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. + * + * See the documentation for `git_repository_set_head_detached()`. + * + * @param repo Repository pointer + * @param committish annotated commit to point HEAD to + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_head_detached_from_annotated( + git_repository *repo, + const git_annotated_commit *committish); + +/** + * Detach the HEAD. + * + * If the HEAD is already detached and points to a Commit, 0 is returned. + * + * If the HEAD is already detached and points to a Tag, the HEAD is + * updated into making it point to the peeled Commit, and 0 is returned. + * + * If the HEAD is already detached and points to a non committish, the HEAD is + * unaltered, and -1 is returned. + * + * Otherwise, the HEAD will be detached and point to the peeled Commit. + * + * @param repo Repository pointer + * @return 0 on success, GIT_EUNBORNBRANCH when HEAD points to a non existing + * branch or an error code + */ +GIT_EXTERN(int) git_repository_detach_head( + git_repository *repo); + +/** + * Repository state + * + * These values represent possible states for the repository to be in, + * based on the current operation which is ongoing. + */ +typedef enum { + GIT_REPOSITORY_STATE_NONE, + GIT_REPOSITORY_STATE_MERGE, + GIT_REPOSITORY_STATE_REVERT, + GIT_REPOSITORY_STATE_REVERT_SEQUENCE, + GIT_REPOSITORY_STATE_CHERRYPICK, + GIT_REPOSITORY_STATE_CHERRYPICK_SEQUENCE, + GIT_REPOSITORY_STATE_BISECT, + GIT_REPOSITORY_STATE_REBASE, + GIT_REPOSITORY_STATE_REBASE_INTERACTIVE, + GIT_REPOSITORY_STATE_REBASE_MERGE, + GIT_REPOSITORY_STATE_APPLY_MAILBOX, + GIT_REPOSITORY_STATE_APPLY_MAILBOX_OR_REBASE +} git_repository_state_t; + +/** + * Determines the status of a git repository - ie, whether an operation + * (merge, cherry-pick, etc) is in progress. + * + * @param repo Repository pointer + * @return The state of the repository + */ +GIT_EXTERN(int) git_repository_state(git_repository *repo); + +/** + * Sets the active namespace for this Git Repository + * + * This namespace affects all reference operations for the repo. + * See `man gitnamespaces` + * + * @param repo The repo + * @param nmspace The namespace. This should not include the refs + * folder, e.g. to namespace all references under `refs/namespaces/foo/`, + * use `foo` as the namespace. + * @return 0 on success, -1 on error + */ +GIT_EXTERN(int) git_repository_set_namespace(git_repository *repo, const char *nmspace); + +/** + * Get the currently active namespace for this repository + * + * @param repo The repo + * @return the active namespace, or NULL if there isn't one + */ +GIT_EXTERN(const char *) git_repository_get_namespace(git_repository *repo); + + +/** + * Determine if the repository was a shallow clone + * + * @param repo The repository + * @return 1 if shallow, zero if not + */ +GIT_EXTERN(int) git_repository_is_shallow(git_repository *repo); + +/** + * Retrieve the configured identity to use for reflogs + * + * The memory is owned by the repository and must not be freed by the + * user. + * + * @param[out] name where to store the pointer to the name + * @param[out] email where to store the pointer to the email + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_ident(const char **name, const char **email, const git_repository *repo); + +/** + * Set the identity to be used for writing reflogs + * + * If both are set, this name and email will be used to write to the + * reflog. Pass NULL to unset. When unset, the identity will be taken + * from the repository's configuration. + * + * @param repo the repository to configure + * @param name the name to use for the reflog entries + * @param email the email to use for the reflog entries + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_repository_set_ident(git_repository *repo, const char *name, const char *email); + +/** + * Gets the object type used by this repository. + * + * @param repo the repository + * @return the object id type + */ +GIT_EXTERN(git_oid_t) git_repository_oid_type(git_repository *repo); + +/** + * Gets the parents of the next commit, given the current repository state. + * Generally, this is the HEAD commit, except when performing a merge, in + * which case it is two or more commits. + * + * @param commits a `git_commitarray` that will contain the commit parents + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_commit_parents(git_commitarray *commits, git_repository *repo); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/reset.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/reset.h new file mode 100644 index 00000000..0123f7c7 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/reset.h @@ -0,0 +1,124 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_reset_h__ +#define INCLUDE_git_reset_h__ + +#include "common.h" +#include "types.h" +#include "strarray.h" +#include "checkout.h" + +/** + * @file git2/reset.h + * @brief Reset will update the local repository to a prior state + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Kinds of reset operation + */ +typedef enum { + GIT_RESET_SOFT = 1, /**< Move the head to the given commit */ + GIT_RESET_MIXED = 2, /**< SOFT plus reset index to the commit */ + GIT_RESET_HARD = 3 /**< MIXED plus changes in working tree discarded */ +} git_reset_t; + +/** + * Sets the current head to the specified commit oid and optionally + * resets the index and working tree to match. + * + * SOFT reset means the Head will be moved to the commit. + * + * MIXED reset will trigger a SOFT reset, plus the index will be replaced + * with the content of the commit tree. + * + * HARD reset will trigger a MIXED reset and the working directory will be + * replaced with the content of the index. (Untracked and ignored files + * will be left alone, however.) + * + * TODO: Implement remaining kinds of resets. + * + * @param repo Repository where to perform the reset operation. + * + * @param target Committish to which the Head should be moved to. This object + * must belong to the given `repo` and can either be a git_commit or a + * git_tag. When a git_tag is being passed, it should be dereferenceable + * to a git_commit which oid will be used as the target of the branch. + * + * @param reset_type Kind of reset operation to perform. + * + * @param checkout_opts Optional checkout options to be used for a HARD reset. + * The checkout_strategy field will be overridden (based on reset_type). + * This parameter can be used to propagate notify and progress callbacks. + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_reset( + git_repository *repo, + const git_object *target, + git_reset_t reset_type, + const git_checkout_options *checkout_opts); + +/** + * Sets the current head to the specified commit oid and optionally + * resets the index and working tree to match. + * + * 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. + * + * See the documentation for `git_reset()`. + * + * @param repo Repository where to perform the reset operation. + * + * @param target Annotated commit to which the Head should be moved to. + * This object must belong to the given `repo`, it will be dereferenced + * to a git_commit which oid will be used as the target of the branch. + * + * @param reset_type Kind of reset operation to perform. + * + * @param checkout_opts Optional checkout options to be used for a HARD reset. + * The checkout_strategy field will be overridden (based on reset_type). + * This parameter can be used to propagate notify and progress callbacks. + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_reset_from_annotated( + git_repository *repo, + const git_annotated_commit *target, + git_reset_t reset_type, + const git_checkout_options *checkout_opts); + +/** + * Updates some entries in the index from the target commit tree. + * + * The scope of the updated entries is determined by the paths + * being passed in the `pathspec` parameters. + * + * Passing a NULL `target` will result in removing + * entries in the index matching the provided pathspecs. + * + * @param repo Repository where to perform the reset operation. + * + * @param target The committish which content will be used to reset the content + * of the index. + * + * @param pathspecs List of pathspecs to operate on. + * + * @return 0 on success or an error code < 0 + */ +GIT_EXTERN(int) git_reset_default( + git_repository *repo, + const git_object *target, + const git_strarray* pathspecs); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revert.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revert.h new file mode 100644 index 00000000..ec51eca2 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revert.h @@ -0,0 +1,96 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revert_h__ +#define INCLUDE_git_revert_h__ + +#include "common.h" +#include "types.h" +#include "merge.h" + +/** + * @file git2/revert.h + * @brief Cherry-pick the inverse of a change to "undo" its effects + * @defgroup git_revert Cherry-pick the inverse of a change to "undo" its effects + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options for revert + */ +typedef struct { + unsigned int version; + + /** For merge commits, the "mainline" is treated as the parent. */ + unsigned int mainline; + + git_merge_options merge_opts; /**< Options for the merging */ + git_checkout_options checkout_opts; /**< Options for the checkout */ +} git_revert_options; + +/** Current version for the `git_revert_options` structure */ +#define GIT_REVERT_OPTIONS_VERSION 1 + +/** Static constructor for `git_revert_options` */ +#define GIT_REVERT_OPTIONS_INIT { \ + GIT_REVERT_OPTIONS_VERSION, 0, \ + GIT_MERGE_OPTIONS_INIT, GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_revert_options structure + * + * Initializes a `git_revert_options` with default values. Equivalent to + * creating an instance with `GIT_REVERT_OPTIONS_INIT`. + * + * @param opts The `git_revert_options` struct to initialize. + * @param version The struct version; pass `GIT_REVERT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_revert_options_init( + git_revert_options *opts, + unsigned int version); + +/** + * Reverts the given commit against the given "our" commit, producing an + * index that reflects the result of the revert. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo the repository that contains the given commits + * @param revert_commit the commit to revert + * @param our_commit the commit to revert against (eg, HEAD) + * @param mainline the parent of the revert commit, if it is a merge + * @param merge_options the merge options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_revert_commit( + git_index **out, + git_repository *repo, + git_commit *revert_commit, + git_commit *our_commit, + unsigned int mainline, + const git_merge_options *merge_options); + +/** + * Reverts the given commit, producing changes in the index and working directory. + * + * @param repo the repository to revert + * @param commit the commit to revert + * @param given_opts the revert options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_revert( + git_repository *repo, + git_commit *commit, + const git_revert_options *given_opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revparse.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revparse.h new file mode 100644 index 00000000..c14fe3dc --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revparse.h @@ -0,0 +1,113 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revparse_h__ +#define INCLUDE_git_revparse_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/revparse.h + * @brief Parse the textual revision information + * @defgroup git_revparse Parse the textual revision information + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Find a single object, as specified by a revision string. + * + * See `man gitrevisions`, or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * The returned object should be released with `git_object_free` when no + * longer needed. + * + * @param out pointer to output object + * @param repo the repository to search in + * @param spec the textual specification for an object + * @return 0 on success, GIT_ENOTFOUND, GIT_EAMBIGUOUS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_revparse_single( + git_object **out, git_repository *repo, const char *spec); + +/** + * Find a single object and intermediate reference by a revision string. + * + * See `man gitrevisions`, or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * In some cases (`@{<-n>}` or `@{upstream}`), the expression may + * point to an intermediate reference. When such expressions are being passed + * in, `reference_out` will be valued as well. + * + * The returned object should be released with `git_object_free` and the + * returned reference with `git_reference_free` when no longer needed. + * + * @param object_out pointer to output object + * @param reference_out pointer to output reference or NULL + * @param repo the repository to search in + * @param spec the textual specification for an object + * @return 0 on success, GIT_ENOTFOUND, GIT_EAMBIGUOUS, GIT_EINVALIDSPEC + * or an error code + */ +GIT_EXTERN(int) git_revparse_ext( + git_object **object_out, + git_reference **reference_out, + git_repository *repo, + const char *spec); + +/** + * Revparse flags. These indicate the intended behavior of the spec passed to + * git_revparse. + */ +typedef enum { + /** The spec targeted a single object. */ + GIT_REVSPEC_SINGLE = 1 << 0, + /** The spec targeted a range of commits. */ + GIT_REVSPEC_RANGE = 1 << 1, + /** The spec used the '...' operator, which invokes special semantics. */ + GIT_REVSPEC_MERGE_BASE = 1 << 2 +} git_revspec_t; + +/** + * Git Revision Spec: output of a `git_revparse` operation + */ +typedef struct { + /** The left element of the revspec; must be freed by the user */ + git_object *from; + /** The right element of the revspec; must be freed by the user */ + git_object *to; + /** The intent of the revspec (i.e. `git_revspec_mode_t` flags) */ + unsigned int flags; +} git_revspec; + +/** + * Parse a revision string for `from`, `to`, and intent. + * + * See `man gitrevisions` or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * @param revspec Pointer to an user-allocated git_revspec struct where + * the result of the rev-parse will be stored + * @param repo the repository to search in + * @param spec the rev-parse spec to parse + * @return 0 on success, GIT_INVALIDSPEC, GIT_ENOTFOUND, GIT_EAMBIGUOUS or an error code + */ +GIT_EXTERN(int) git_revparse( + git_revspec *revspec, + git_repository *repo, + const char *spec); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revwalk.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revwalk.h new file mode 100644 index 00000000..7c4ac546 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/revwalk.h @@ -0,0 +1,303 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revwalk_h__ +#define INCLUDE_git_revwalk_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/revwalk.h + * @brief Traverse (walk) the commit graph (revision history) + * @defgroup git_revwalk Traverse (walk) the commit graph (revision history) + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Flags to specify the sorting which a revwalk should perform. + */ +typedef enum { + /** + * Sort the output with the same default method from `git`: reverse + * chronological order. This is the default sorting for new walkers. + */ + GIT_SORT_NONE = 0, + + /** + * Sort the repository contents in topological order (no parents before + * all of its children are shown); this sorting mode can be combined + * with time sorting to produce `git`'s `--date-order``. + */ + GIT_SORT_TOPOLOGICAL = 1 << 0, + + /** + * Sort the repository contents by commit time; + * this sorting mode can be combined with + * topological sorting. + */ + GIT_SORT_TIME = 1 << 1, + + /** + * Iterate through the repository contents in reverse + * order; this sorting mode can be combined with + * any of the above. + */ + GIT_SORT_REVERSE = 1 << 2 +} git_sort_t; + +/** + * Allocate a new revision walker to iterate through a repo. + * + * This revision walker uses a custom memory pool and an internal + * commit cache, so it is relatively expensive to allocate. + * + * For maximum performance, this revision walker should be + * reused for different walks. + * + * 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. + * + * @param out pointer to the new revision walker + * @param repo the repo to walk through + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_new(git_revwalk **out, git_repository *repo); + +/** + * Reset the revision walker for reuse. + * + * This will clear all the pushed and hidden commits, and + * leave the walker in a blank state (just like at + * creation) ready to receive new commit pushes and + * start a new walk. + * + * The revision walk is automatically reset when a walk + * is over. + * + * @param walker handle to reset. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_reset(git_revwalk *walker); + +/** + * Add a new root for the traversal + * + * 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. + * + * At least one commit must be pushed onto the walker before a walk + * can be started. + * + * The given id must belong to a committish on the walked + * repository. + * + * @param walk the walker being used for the traversal. + * @param id the oid of the commit to start from. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push(git_revwalk *walk, const git_oid *id); + +/** + * Push matching references + * + * The OIDs pointed to by the references that match the given glob + * pattern will be pushed to the revision walker. + * + * A leading 'refs/' is implied if not present as well as a trailing + * '/\*' if the glob lacks '?', '\*' or '['. + * + * Any references matching this glob which do not point to a + * committish will be ignored. + * + * @param walk the walker being used for the traversal + * @param glob the glob pattern references should match + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_glob(git_revwalk *walk, const char *glob); + +/** + * Push the repository's HEAD + * + * @param walk the walker being used for the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_head(git_revwalk *walk); + +/** + * Mark a commit (and its ancestors) uninteresting for the output. + * + * The given id must belong to a committish on the walked + * repository. + * + * The resolved commit and all its parents will be hidden from the + * output on the revision walk. + * + * @param walk the walker being used for the traversal. + * @param commit_id the oid of commit that will be ignored during the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide(git_revwalk *walk, const git_oid *commit_id); + +/** + * Hide matching references. + * + * The OIDs pointed to by the references that match the given glob + * pattern and their ancestors will be hidden from the output on the + * revision walk. + * + * A leading 'refs/' is implied if not present as well as a trailing + * '/\*' if the glob lacks '?', '\*' or '['. + * + * Any references matching this glob which do not point to a + * committish will be ignored. + * + * @param walk the walker being used for the traversal + * @param glob the glob pattern references should match + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_glob(git_revwalk *walk, const char *glob); + +/** + * Hide the repository's HEAD + * + * @param walk the walker being used for the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_head(git_revwalk *walk); + +/** + * Push the OID pointed to by a reference + * + * The reference must point to a committish. + * + * @param walk the walker being used for the traversal + * @param refname the reference to push + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_ref(git_revwalk *walk, const char *refname); + +/** + * Hide the OID pointed to by a reference + * + * The reference must point to a committish. + * + * @param walk the walker being used for the traversal + * @param refname the reference to hide + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_ref(git_revwalk *walk, const char *refname); + +/** + * Get the next commit from the revision walk. + * + * The initial call to this method is *not* blocking when + * iterating through a repo with a time-sorting mode. + * + * 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). + * + * The revision walker is reset when the walk is over. + * + * @param out Pointer where to store the oid of the next commit + * @param walk the walker to pop the commit from. + * @return 0 if the next commit was found; + * GIT_ITEROVER if there are no commits left to iterate + */ +GIT_EXTERN(int) git_revwalk_next(git_oid *out, git_revwalk *walk); + +/** + * Change the sorting mode when iterating through the + * repository's contents. + * + * Changing the sorting mode resets the walker. + * + * @param walk the walker being used for the traversal. + * @param sort_mode combination of GIT_SORT_XXX flags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_sorting(git_revwalk *walk, unsigned int sort_mode); + +/** + * Push and hide the respective endpoints of the given range. + * + * The range should be of the form + * .. + * where each is in the form accepted by 'git_revparse_single'. + * The left-hand commit will be hidden and the right-hand commit pushed. + * + * @param walk the walker being used for the traversal + * @param range the range + * @return 0 or an error code + * + */ +GIT_EXTERN(int) git_revwalk_push_range(git_revwalk *walk, const char *range); + +/** + * Simplify the history by first-parent + * + * No parents other than the first for each commit will be enqueued. + * + * @param walk The revision walker. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_simplify_first_parent(git_revwalk *walk); + + +/** + * Free a revision walker previously allocated. + * + * @param walk traversal handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_revwalk_free(git_revwalk *walk); + +/** + * Return the repository on which this walker + * is operating. + * + * @param walk the revision walker + * @return the repository being walked + */ +GIT_EXTERN(git_repository *) git_revwalk_repository(git_revwalk *walk); + +/** + * This is a callback function that user can provide to hide a + * commit and its parents. If the callback function returns non-zero value, + * then this commit and its parents will be hidden. + * + * @param commit_id oid of Commit + * @param payload User-specified pointer to data to be passed as data payload + * @return non-zero to hide the commmit and it parent. + */ +typedef int GIT_CALLBACK(git_revwalk_hide_cb)( + const git_oid *commit_id, + void *payload); + +/** + * Adds, changes or removes a callback function to hide a commit and its parents + * + * @param walk the revision walker + * @param hide_cb callback function to hide a commit and its parents + * @param payload data payload to be passed to callback function + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_revwalk_add_hide_cb( + git_revwalk *walk, + git_revwalk_hide_cb hide_cb, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/signature.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/signature.h new file mode 100644 index 00000000..20ec24b3 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/signature.h @@ -0,0 +1,148 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_signature_h__ +#define INCLUDE_git_signature_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/signature.h + * @brief Signatures are the actor in a repository and when they acted + * @defgroup git_signature Git signature creation + * @ingroup Git + * + * Signatures contain the information about the actor (committer or + * author) in a repository, and the time that they performed the + * commit, or authoring. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new action signature. + * + * Call `git_signature_free()` to free the data. + * + * Note: angle brackets ('<' and '>') characters are not allowed + * to be used in either the `name` or the `email` parameter. + * + * @param out new signature, in case of error NULL + * @param name name of the person + * @param email email of the person + * @param time time (in seconds from epoch) when the action happened + * @param offset timezone offset (in minutes) for the time + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_new(git_signature **out, const char *name, const char *email, git_time_t time, int offset); + +/** + * Create a new action signature with a timestamp of 'now'. + * + * Call `git_signature_free()` to free the data. + * + * @param out new signature, in case of error NULL + * @param name name of the person + * @param email email of the person + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_now(git_signature **out, const char *name, const char *email); + +/** + * Create a new author and/or committer signatures with default + * information based on the configuration and environment variables. + * + * 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. + * + * 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. + * + * If neither `GIT_AUTHOR_DATE` nor `GIT_COMMITTER_DATE` are set, + * both timestamps will be set to the same time. + * + * 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. + * + * @param author_out pointer to set the author signature, or NULL + * @param committer_out pointer to set the committer signature, or NULL + * @param repo repository pointer + * @return 0 on success, GIT_ENOTFOUND if config is missing, or error code + */ +GIT_EXTERN(int) git_signature_default_from_env( + git_signature **author_out, + git_signature **committer_out, + git_repository *repo); + +/** + * Create a new action signature with default user and now timestamp. + * + * 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. + * + * Note that these do not examine environment variables, only the + * configuration files. Use `git_signature_default_from_env` to + * consider the environment variables. + * + * @param out new signature + * @param repo repository pointer + * @return 0 on success, GIT_ENOTFOUND if config is missing, or error code + */ +GIT_EXTERN(int) git_signature_default(git_signature **out, git_repository *repo); + +/** + * Create a new signature by parsing the given buffer, which is + * expected to be in the format "Real Name timestamp tzoffset", + * where `timestamp` is the number of seconds since the Unix epoch and + * `tzoffset` is the timezone offset in `hhmm` format (note the lack + * of a colon separator). + * + * @param out new signature + * @param buf signature string + * @return 0 on success, GIT_EINVALID if the signature is not parseable, or an error code + */ +GIT_EXTERN(int) git_signature_from_buffer(git_signature **out, const char *buf); + +/** + * Create a copy of an existing signature. All internal strings are also + * duplicated. + * + * Call `git_signature_free()` to free the data. + * + * @param dest pointer where to store the copy + * @param sig signature to duplicate + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_dup(git_signature **dest, const git_signature *sig); + +/** + * Free an existing signature. + * + * 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. + * + * @param sig signature to free + */ +GIT_EXTERN(void) git_signature_free(git_signature *sig); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/stash.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/stash.h new file mode 100644 index 00000000..ad28c326 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/stash.h @@ -0,0 +1,328 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_stash_h__ +#define INCLUDE_git_stash_h__ + +#include "common.h" +#include "types.h" +#include "checkout.h" + +/** + * @file git2/stash.h + * @brief Stashes stores some uncommitted state in the repository + * @ingroup Git + * + * Stashes stores some uncommitted state in the repository; generally + * this allows a user to stash some changes so that they can restore + * the working directory to an unmodified state. This can allow a + * developer to work on two different changes in parallel. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Stash flags + */ +typedef enum { + /** + * No option, default + */ + GIT_STASH_DEFAULT = 0, + + /** + * All changes already added to the index are left intact in + * the working directory + */ + GIT_STASH_KEEP_INDEX = (1 << 0), + + /** + * All untracked files are also stashed and then cleaned up + * from the working directory + */ + GIT_STASH_INCLUDE_UNTRACKED = (1 << 1), + + /** + * All ignored files are also stashed and then cleaned up from + * the working directory + */ + GIT_STASH_INCLUDE_IGNORED = (1 << 2), + + /** + * All changes in the index and working directory are left intact + */ + GIT_STASH_KEEP_ALL = (1 << 3) +} git_stash_flags; + +/** + * Save the local modifications to a new stash. + * + * @param out Object id of the commit containing the stashed state. + * This commit is also the target of the direct reference refs/stash. + * @param repo The owning repository. + * @param stasher The identity of the person performing the stashing. + * @param message Optional description along with the stashed state. + * @param flags Flags to control the stashing process. (see GIT_STASH_* above) + * @return 0 on success, GIT_ENOTFOUND where there's nothing to stash, + * or error code. + */ +GIT_EXTERN(int) git_stash_save( + git_oid *out, + git_repository *repo, + const git_signature *stasher, + const char *message, + uint32_t flags); + +/** + * Stash save options structure + * + * Initialize with `GIT_STASH_SAVE_OPTIONS_INIT`. Alternatively, you can + * use `git_stash_save_options_init`. + * + */ +typedef struct git_stash_save_options { + unsigned int version; + + /** Flags to control the stashing process. (see GIT_STASH_* above) */ + uint32_t flags; + + /** The identity of the person performing the stashing. */ + const git_signature *stasher; + + /** Optional description along with the stashed state. */ + const char *message; + + /** Optional paths that control which files are stashed. */ + git_strarray paths; +} git_stash_save_options; + +/** Current version for the `git_stash_save_options` structure */ +#define GIT_STASH_SAVE_OPTIONS_VERSION 1 + +/** Static constructor for `git_stash_save_options` */ +#define GIT_STASH_SAVE_OPTIONS_INIT { GIT_STASH_SAVE_OPTIONS_VERSION } + +/** + * Initialize git_stash_save_options structure + * + * Initializes a `git_stash_save_options` with default values. Equivalent to + * creating an instance with `GIT_STASH_SAVE_OPTIONS_INIT`. + * + * @param opts The `git_stash_save_options` struct to initialize. + * @param version The struct version; pass `GIT_STASH_SAVE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_stash_save_options_init( + git_stash_save_options *opts, unsigned int version); + +/** + * Save the local modifications to a new stash, with options. + * + * @param out Object id of the commit containing the stashed state. + * This commit is also the target of the direct reference refs/stash. + * @param repo The owning repository. + * @param opts The stash options. + * @return 0 on success, GIT_ENOTFOUND where there's nothing to stash, + * or error code. + */ +GIT_EXTERN(int) git_stash_save_with_opts( + git_oid *out, + git_repository *repo, + const git_stash_save_options *opts); + +/** Stash application flags. */ +typedef enum { + GIT_STASH_APPLY_DEFAULT = 0, + + /* Try to reinstate not only the working tree's changes, + * but also the index's changes. + */ + GIT_STASH_APPLY_REINSTATE_INDEX = (1 << 0) +} git_stash_apply_flags; + +/** Stash apply progression states */ +typedef enum { + GIT_STASH_APPLY_PROGRESS_NONE = 0, + + /** Loading the stashed data from the object database. */ + GIT_STASH_APPLY_PROGRESS_LOADING_STASH, + + /** The stored index is being analyzed. */ + GIT_STASH_APPLY_PROGRESS_ANALYZE_INDEX, + + /** The modified files are being analyzed. */ + GIT_STASH_APPLY_PROGRESS_ANALYZE_MODIFIED, + + /** The untracked and ignored files are being analyzed. */ + GIT_STASH_APPLY_PROGRESS_ANALYZE_UNTRACKED, + + /** The untracked files are being written to disk. */ + GIT_STASH_APPLY_PROGRESS_CHECKOUT_UNTRACKED, + + /** The modified files are being written to disk. */ + GIT_STASH_APPLY_PROGRESS_CHECKOUT_MODIFIED, + + /** The stash was applied successfully. */ + GIT_STASH_APPLY_PROGRESS_DONE +} git_stash_apply_progress_t; + +/** + * Stash application progress notification function. + * Return 0 to continue processing, or a negative value to + * abort the stash application. + * + * @param progress the progress information + * @param payload the user-specified payload to the apply function + * @return 0 on success, -1 on error + */ +typedef int GIT_CALLBACK(git_stash_apply_progress_cb)( + git_stash_apply_progress_t progress, + void *payload); + +/** + * Stash application options structure + * + * Initialize with `GIT_STASH_APPLY_OPTIONS_INIT`. Alternatively, you can + * use `git_stash_apply_options_init`. + * + */ +typedef struct git_stash_apply_options { + unsigned int version; + + /** See `git_stash_apply_flags`, above. */ + uint32_t flags; + + /** Options to use when writing files to the working directory. */ + git_checkout_options checkout_options; + + /** Optional callback to notify the consumer of application progress. */ + git_stash_apply_progress_cb progress_cb; + void *progress_payload; +} git_stash_apply_options; + +/** Current version for the `git_stash_apply_options` structure */ +#define GIT_STASH_APPLY_OPTIONS_VERSION 1 + +/** Static constructor for `git_stash_apply_options` */ +#define GIT_STASH_APPLY_OPTIONS_INIT { \ + GIT_STASH_APPLY_OPTIONS_VERSION, \ + GIT_STASH_APPLY_DEFAULT, \ + GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_stash_apply_options structure + * + * Initializes a `git_stash_apply_options` with default values. Equivalent to + * creating an instance with `GIT_STASH_APPLY_OPTIONS_INIT`. + * + * @param opts The `git_stash_apply_options` struct to initialize. + * @param version The struct version; pass `GIT_STASH_APPLY_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_stash_apply_options_init( + git_stash_apply_options *opts, unsigned int version); + +/** + * Apply a single stashed state from the stash list. + * + * 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. + * + * 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. + * + * @param repo The owning repository. + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * @param options Optional options to control how stashes are applied. + * + * @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the + * given index, GIT_EMERGECONFLICT if changes exist in the working + * directory, or an error code + */ +GIT_EXTERN(int) git_stash_apply( + git_repository *repo, + size_t index, + const git_stash_apply_options *options); + +/** + * This is a callback function you can provide to iterate over all the + * stashed states that will be invoked per entry. + * + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * @param message The stash message. + * @param stash_id The commit oid of the stashed state. + * @param payload Extra parameter to callback function. + * @return 0 to continue iterating or non-zero to stop. + */ +typedef int GIT_CALLBACK(git_stash_cb)( + size_t index, + const char *message, + const git_oid *stash_id, + void *payload); + +/** + * Loop over all the stashed states and issue a callback for each one. + * + * If the callback returns a non-zero value, this will stop looping. + * + * @param repo Repository where to find the stash. + * + * @param callback Callback to invoke per found stashed state. The most + * recent stash state will be enumerated first. + * + * @param payload Extra parameter to callback function. + * + * @return 0 on success, non-zero callback return value, or error code. + */ +GIT_EXTERN(int) git_stash_foreach( + git_repository *repo, + git_stash_cb callback, + void *payload); + +/** + * Remove a single stashed state from the stash list. + * + * @param repo The owning repository. + * + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * + * @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the given + * index, or error code. + */ +GIT_EXTERN(int) git_stash_drop( + git_repository *repo, + size_t index); + +/** + * Apply a single stashed state from the stash list and remove it from the list + * if successful. + * + * @param repo The owning repository. + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * @param options Optional options to control how stashes are applied. + * + * @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the given + * index, or error code. (see git_stash_apply() above for details) +*/ +GIT_EXTERN(int) git_stash_pop( + git_repository *repo, + size_t index, + const git_stash_apply_options *options); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/status.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/status.h new file mode 100644 index 00000000..e13783b6 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/status.h @@ -0,0 +1,456 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_status_h__ +#define INCLUDE_git_status_h__ + +#include "common.h" +#include "types.h" +#include "strarray.h" +#include "diff.h" + +/** + * @file git2/status.h + * @brief Status indicates how a user has changed the working directory and index + * @defgroup git_status Git file status routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Status flags for a single file. + * + * A combination of these values will be returned to indicate the status of + * a file. Status compares the working directory, the index, and the + * current HEAD of the repository. The `GIT_STATUS_INDEX` set of flags + * represents the status of file in the index relative to the HEAD, and the + * `GIT_STATUS_WT` set of flags represent the status of the file in the + * working directory relative to the index. + */ +typedef enum { + GIT_STATUS_CURRENT = 0, + + GIT_STATUS_INDEX_NEW = (1u << 0), + GIT_STATUS_INDEX_MODIFIED = (1u << 1), + GIT_STATUS_INDEX_DELETED = (1u << 2), + GIT_STATUS_INDEX_RENAMED = (1u << 3), + GIT_STATUS_INDEX_TYPECHANGE = (1u << 4), + + GIT_STATUS_WT_NEW = (1u << 7), + GIT_STATUS_WT_MODIFIED = (1u << 8), + GIT_STATUS_WT_DELETED = (1u << 9), + GIT_STATUS_WT_TYPECHANGE = (1u << 10), + GIT_STATUS_WT_RENAMED = (1u << 11), + GIT_STATUS_WT_UNREADABLE = (1u << 12), + + GIT_STATUS_IGNORED = (1u << 14), + GIT_STATUS_CONFLICTED = (1u << 15) +} git_status_t; + +/** + * Function pointer to receive status on individual files + * + * @param path is the path to the file + * @param status_flags the `git_status_t` values for file's status + * @param payload the user-specified payload to the foreach function + * @return 0 on success, or a negative number on failure + */ +typedef int GIT_CALLBACK(git_status_cb)( + const char *path, unsigned int status_flags, void *payload); + +/** + * Select the files on which to report status. + * + * With `git_status_foreach_ext`, this will control which changes get + * callbacks. With `git_status_list_new`, these will control which + * changes are included in the list. + */ +typedef enum { + /** + * The default. This roughly matches `git status --porcelain` regarding + * which files are included and in what order. + */ + GIT_STATUS_SHOW_INDEX_AND_WORKDIR = 0, + + /** + * Only gives status based on HEAD to index comparison, not looking at + * working directory changes. + */ + GIT_STATUS_SHOW_INDEX_ONLY = 1, + + /** + * Only gives status based on index to working directory comparison, + * not comparing the index to the HEAD. + */ + GIT_STATUS_SHOW_WORKDIR_ONLY = 2 +} git_status_show_t; + +/** + * Flags to control status callbacks + * + * Calling `git_status_foreach()` is like calling the extended version + * with: GIT_STATUS_OPT_INCLUDE_IGNORED, GIT_STATUS_OPT_INCLUDE_UNTRACKED, + * and GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS. Those options are bundled + * together as `GIT_STATUS_OPT_DEFAULTS` if you want them as a baseline. + */ +typedef enum { + /** + * Says that callbacks should be made on untracked files. + * These will only be made if the workdir files are included in the status + * "show" option. + */ + GIT_STATUS_OPT_INCLUDE_UNTRACKED = (1u << 0), + + /** + * Says that ignored files get callbacks. + * Again, these callbacks will only be made if the workdir files are + * included in the status "show" option. + */ + GIT_STATUS_OPT_INCLUDE_IGNORED = (1u << 1), + + /** + * Indicates that callback should be made even on unmodified files. + */ + GIT_STATUS_OPT_INCLUDE_UNMODIFIED = (1u << 2), + + /** + * Indicates that submodules should be skipped. + * This only applies if there are no pending typechanges to the submodule + * (either from or to another type). + */ + GIT_STATUS_OPT_EXCLUDE_SUBMODULES = (1u << 3), + + /** + * Indicates that all files in untracked directories should be included. + * Normally if an entire directory is new, then just the top-level + * directory is included (with a trailing slash on the entry name). + * This flag says to include all of the individual files in the directory + * instead. + */ + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS = (1u << 4), + + /** + * Indicates that the given path should be treated as a literal path, + * and not as a pathspec pattern. + */ + GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH = (1u << 5), + + /** + * Indicates that the contents of ignored directories should be included + * in the status. This is like doing `git ls-files -o -i --exclude-standard` + * with core git. + */ + GIT_STATUS_OPT_RECURSE_IGNORED_DIRS = (1u << 6), + + /** + * Indicates that rename detection should be processed between the head and + * the index and enables the GIT_STATUS_INDEX_RENAMED as a possible status + * flag. + */ + GIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX = (1u << 7), + + /** + * Indicates that rename detection should be run between the index and the + * working directory and enabled GIT_STATUS_WT_RENAMED as a possible status + * flag. + */ + GIT_STATUS_OPT_RENAMES_INDEX_TO_WORKDIR = (1u << 8), + + /** + * Overrides the native case sensitivity for the file system and forces + * the output to be in case-sensitive order. + */ + GIT_STATUS_OPT_SORT_CASE_SENSITIVELY = (1u << 9), + + /** + * Overrides the native case sensitivity for the file system and forces + * the output to be in case-insensitive order. + */ + GIT_STATUS_OPT_SORT_CASE_INSENSITIVELY = (1u << 10), + + /** + * Iindicates that rename detection should include rewritten files. + */ + GIT_STATUS_OPT_RENAMES_FROM_REWRITES = (1u << 11), + + /** + * Bypasses the default status behavior of doing a "soft" index reload + * (i.e. reloading the index data if the file on disk has been modified + * outside libgit2). + */ + GIT_STATUS_OPT_NO_REFRESH = (1u << 12), + + /** + * Tells libgit2 to refresh the stat cache in the index for files that are + * unchanged but have out of date stat einformation in the index. + * It will result in less work being done on subsequent calls to get status. + * This is mutually exclusive with the NO_REFRESH option. + */ + GIT_STATUS_OPT_UPDATE_INDEX = (1u << 13), + + /** + * Normally files that cannot be opened or read are ignored as + * these are often transient files; this option will return + * unreadable files as `GIT_STATUS_WT_UNREADABLE`. + */ + GIT_STATUS_OPT_INCLUDE_UNREADABLE = (1u << 14), + + /** + * Unreadable files will be detected and given the status + * untracked instead of unreadable. + */ + GIT_STATUS_OPT_INCLUDE_UNREADABLE_AS_UNTRACKED = (1u << 15) +} git_status_opt_t; + +/** Default `git_status_opt_t` values */ +#define GIT_STATUS_OPT_DEFAULTS \ + (GIT_STATUS_OPT_INCLUDE_IGNORED | \ + GIT_STATUS_OPT_INCLUDE_UNTRACKED | \ + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS) + +/** + * Options to control how `git_status_foreach_ext()` will issue callbacks. + * + * Initialize with `GIT_STATUS_OPTIONS_INIT`. Alternatively, you can + * use `git_status_options_init`. + * + */ +typedef struct { + /** + * The struct version; pass `GIT_STATUS_OPTIONS_VERSION`. + */ + unsigned int version; + + /** + * The `show` value is one of the `git_status_show_t` constants that + * control which files to scan and in what order. The default is + * `GIT_STATUS_SHOW_INDEX_AND_WORKDIR`. + */ + git_status_show_t show; + + /** + * The `flags` value is an OR'ed combination of the + * `git_status_opt_t` values above. The default is + * `GIT_STATUS_OPT_DEFAULTS`, which matches git's default + * behavior. + */ + unsigned int flags; + + /** + * The `pathspec` is an array of path patterns to match (using + * fnmatch-style matching), or just an array of paths to match + * exactly if `GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH` is specified + * in the flags. + */ + git_strarray pathspec; + + /** + * The `baseline` is the tree to be used for comparison to the + * working directory and index; defaults to HEAD. + */ + git_tree *baseline; + + /** + * Threshold above which similar files will be considered renames. + * This is equivalent to the -M option. Defaults to 50. + */ + uint16_t rename_threshold; +} git_status_options; + +/** Current version for the `git_status_options` structure */ +#define GIT_STATUS_OPTIONS_VERSION 1 + +/** Static constructor for `git_status_options` */ +#define GIT_STATUS_OPTIONS_INIT {GIT_STATUS_OPTIONS_VERSION} + +/** + * Initialize git_status_options structure + * + * Initializes a `git_status_options` with default values. Equivalent to + * creating an instance with `GIT_STATUS_OPTIONS_INIT`. + * + * @param opts The `git_status_options` struct to initialize. + * @param version The struct version; pass `GIT_STATUS_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_status_options_init( + git_status_options *opts, + unsigned int version); + +/** + * A status entry, providing the differences between the file as it exists + * in HEAD and the index, and providing the differences between the index + * and the working directory. + * + * The `status` value provides the status flags for this file. + * + * The `head_to_index` value provides detailed information about the + * differences between the file in HEAD and the file in the index. + * + * The `index_to_workdir` value provides detailed information about the + * differences between the file in the index and the file in the + * working directory. + */ +typedef struct { + git_status_t status; + git_diff_delta *head_to_index; + git_diff_delta *index_to_workdir; +} git_status_entry; + + +/** + * Gather file statuses and run a callback for each one. + * + * 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. + * + * If the callback returns a non-zero value, this function will stop looping + * and return that value to caller. + * + * @param repo A repository object + * @param callback The function to call on each file + * @param payload Pointer to pass through to callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_status_foreach( + git_repository *repo, + git_status_cb callback, + void *payload); + +/** + * Gather file status information and run callbacks as requested. + * + * 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. + * + * 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. + * + * @param repo Repository object + * @param opts Status options structure + * @param callback The function to call on each file + * @param payload Pointer to pass through to callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_status_foreach_ext( + git_repository *repo, + const git_status_options *opts, + git_status_cb callback, + void *payload); + +/** + * Get file status for a single file. + * + * 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. + * + * 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. + * + * 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. + * + * @param status_flags Output combination of git_status_t values for file + * @param repo A repository object + * @param path The exact path to retrieve status for relative to the + * repository working directory + * @return 0 on success, GIT_ENOTFOUND if the file is not found in the HEAD, + * index, and work tree, GIT_EAMBIGUOUS if `path` matches multiple files + * or if it refers to a folder, and -1 on other errors. + */ +GIT_EXTERN(int) git_status_file( + unsigned int *status_flags, + git_repository *repo, + const char *path); + +/** + * Gather file status information and populate the `git_status_list`. + * + * 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. + * + * @param out Pointer to store the status results in + * @param repo Repository object + * @param opts Status options structure + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_status_list_new( + git_status_list **out, + git_repository *repo, + const git_status_options *opts); + +/** + * Gets the count of status entries in this list. + * + * If there are no changes in status (at least according the options given + * when the status list was created), this can return 0. + * + * @param statuslist Existing status list object + * @return the number of status entries + */ +GIT_EXTERN(size_t) git_status_list_entrycount( + git_status_list *statuslist); + +/** + * Get a pointer to one of the entries in the status list. + * + * The entry is not modifiable and should not be freed. + * + * @param statuslist Existing status list object + * @param idx Position of the entry + * @return Pointer to the entry; NULL if out of bounds + */ +GIT_EXTERN(const git_status_entry *) git_status_byindex( + git_status_list *statuslist, + size_t idx); + +/** + * Free an existing status list + * + * @param statuslist Existing status list object + */ +GIT_EXTERN(void) git_status_list_free( + git_status_list *statuslist); + +/** + * Test if the ignore rules apply to a given file. + * + * 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. + * + * One way to think of this is if you were to do "git add ." on the + * directory containing the file, would it be added or not? + * + * @param ignored Boolean returning 0 if the file is not ignored, 1 if it is + * @param repo A repository object + * @param path The file to check ignores for, rooted at the repo's workdir. + * @return 0 if ignore rules could be processed for the file (regardless + * of whether it exists or not), or an error < 0 if they could not. + */ +GIT_EXTERN(int) git_status_should_ignore( + int *ignored, + git_repository *repo, + const char *path); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/stdint.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/stdint.h new file mode 100644 index 00000000..4f532e13 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/stdint.h @@ -0,0 +1,249 @@ +/* ISO C9x compliant stdint.h for Microsoft Visual Studio + * Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 + * + * Copyright (c) 2006-2008 Alexander Chemeris + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. The name of the author may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + *******************************************************************************/ + +#ifdef _MSC_VER /* [ */ + +#ifndef _MSC_STDINT_H_ /* [ */ +#define _MSC_STDINT_H_ + +#if _MSC_VER > 1000 +#pragma once +#endif + +#include + +/* For Visual Studio 6 in C++ mode and for many Visual Studio versions when + * compiling for ARM we should wrap include with 'extern "C++" {}' + * or compiler give many errors like this: + * error C2733: second C linkage of overloaded function 'wmemchr' not allowed +*/ +#ifdef __cplusplus +extern "C" { +#endif +# include +#ifdef __cplusplus +} +#endif + +/* Define _W64 macros to mark types changing their size, like intptr_t. */ +#ifndef _W64 +# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 +# define _W64 __w64 +# else +# define _W64 +# endif +#endif + + +/* 7.18.1 Integer types + * + * 7.18.1.1 Exact-width integer types + * + * Visual Studio 6 and Embedded Visual C++ 4 doesn't + * realize that, e.g. char has the same size as __int8 + * so we give up on __intX for them. + */ +#if (_MSC_VER < 1300) + typedef signed char int8_t; + typedef signed short int16_t; + typedef signed int int32_t; + typedef unsigned char uint8_t; + typedef unsigned short uint16_t; + typedef unsigned int uint32_t; +#else + typedef signed __int8 int8_t; + typedef signed __int16 int16_t; + typedef signed __int32 int32_t; + typedef unsigned __int8 uint8_t; + typedef unsigned __int16 uint16_t; + typedef unsigned __int32 uint32_t; +#endif +typedef signed __int64 int64_t; +typedef unsigned __int64 uint64_t; + + +/* 7.18.1.2 Minimum-width integer types */ +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +typedef int64_t int_least64_t; +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +typedef uint64_t uint_least64_t; + +/* 7.18.1.3 Fastest minimum-width integer types */ +typedef int8_t int_fast8_t; +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef int64_t int_fast64_t; +typedef uint8_t uint_fast8_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +typedef uint64_t uint_fast64_t; + +/* 7.18.1.4 Integer types capable of holding object pointers */ +#ifdef _WIN64 /* [ */ + typedef signed __int64 intptr_t; + typedef unsigned __int64 uintptr_t; +#else /* _WIN64 ][ */ + typedef _W64 signed int intptr_t; + typedef _W64 unsigned int uintptr_t; +#endif /* _WIN64 ] */ + +/* 7.18.1.5 Greatest-width integer types */ +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; + + +/* 7.18.2 Limits of specified-width integer types */ + +#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) /* [ See footnote 220 at page 257 and footnote 221 at page 259 */ + +/* 7.18.2.1 Limits of exact-width integer types */ +#define INT8_MIN ((int8_t)_I8_MIN) +#define INT8_MAX _I8_MAX +#define INT16_MIN ((int16_t)_I16_MIN) +#define INT16_MAX _I16_MAX +#define INT32_MIN ((int32_t)_I32_MIN) +#define INT32_MAX _I32_MAX +#define INT64_MIN ((int64_t)_I64_MIN) +#define INT64_MAX _I64_MAX +#define UINT8_MAX _UI8_MAX +#define UINT16_MAX _UI16_MAX +#define UINT32_MAX _UI32_MAX +#define UINT64_MAX _UI64_MAX + +/* 7.18.2.2 Limits of minimum-width integer types */ +#define INT_LEAST8_MIN INT8_MIN +#define INT_LEAST8_MAX INT8_MAX +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST16_MAX INT16_MAX +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST32_MAX INT32_MAX +#define INT_LEAST64_MIN INT64_MIN +#define INT_LEAST64_MAX INT64_MAX +#define UINT_LEAST8_MAX UINT8_MAX +#define UINT_LEAST16_MAX UINT16_MAX +#define UINT_LEAST32_MAX UINT32_MAX +#define UINT_LEAST64_MAX UINT64_MAX + +/* 7.18.2.3 Limits of fastest minimum-width integer types */ +#define INT_FAST8_MIN INT8_MIN +#define INT_FAST8_MAX INT8_MAX +#define INT_FAST16_MIN INT16_MIN +#define INT_FAST16_MAX INT16_MAX +#define INT_FAST32_MIN INT32_MIN +#define INT_FAST32_MAX INT32_MAX +#define INT_FAST64_MIN INT64_MIN +#define INT_FAST64_MAX INT64_MAX +#define UINT_FAST8_MAX UINT8_MAX +#define UINT_FAST16_MAX UINT16_MAX +#define UINT_FAST32_MAX UINT32_MAX +#define UINT_FAST64_MAX UINT64_MAX + +/* 7.18.2.4 Limits of integer types capable of holding object pointers */ +#ifdef _WIN64 /* [ */ +# define INTPTR_MIN INT64_MIN +# define INTPTR_MAX INT64_MAX +# define UINTPTR_MAX UINT64_MAX +#else /* _WIN64 ][ */ +# define INTPTR_MIN INT32_MIN +# define INTPTR_MAX INT32_MAX +# define UINTPTR_MAX UINT32_MAX +#endif /* _WIN64 ] */ + +/* 7.18.2.5 Limits of greatest-width integer types */ +#define INTMAX_MIN INT64_MIN +#define INTMAX_MAX INT64_MAX +#define UINTMAX_MAX UINT64_MAX + +/* 7.18.3 Limits of other integer types */ + +#ifdef _WIN64 /* [ */ +# define PTRDIFF_MIN _I64_MIN +# define PTRDIFF_MAX _I64_MAX +#else /* _WIN64 ][ */ +# define PTRDIFF_MIN _I32_MIN +# define PTRDIFF_MAX _I32_MAX +#endif /* _WIN64 ] */ + +#define SIG_ATOMIC_MIN INT_MIN +#define SIG_ATOMIC_MAX INT_MAX + +#ifndef SIZE_MAX /* [ */ +# ifdef _WIN64 /* [ */ +# define SIZE_MAX _UI64_MAX +# else /* _WIN64 ][ */ +# define SIZE_MAX _UI32_MAX +# endif /* _WIN64 ] */ +#endif /* SIZE_MAX ] */ + +/* WCHAR_MIN and WCHAR_MAX are also defined in */ +#ifndef WCHAR_MIN /* [ */ +# define WCHAR_MIN 0 +#endif /* WCHAR_MIN ] */ +#ifndef WCHAR_MAX /* [ */ +# define WCHAR_MAX _UI16_MAX +#endif /* WCHAR_MAX ] */ + +#define WINT_MIN 0 +#define WINT_MAX _UI16_MAX + +#endif /* __STDC_LIMIT_MACROS ] */ + + +/* 7.18.4 Limits of other integer types */ + +#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) /* [ See footnote 224 at page 260 */ + +/* 7.18.4.1 Macros for minimum-width integer constants */ + +#define INT8_C(val) val##i8 +#define INT16_C(val) val##i16 +#define INT32_C(val) val##i32 +#define INT64_C(val) val##i64 + +#define UINT8_C(val) val##ui8 +#define UINT16_C(val) val##ui16 +#define UINT32_C(val) val##ui32 +#define UINT64_C(val) val##ui64 + +/* 7.18.4.2 Macros for greatest-width integer constants */ +#define INTMAX_C INT64_C +#define UINTMAX_C UINT64_C + +#endif /* __STDC_CONSTANT_MACROS ] */ + + +#endif /* _MSC_STDINT_H_ ] */ + +#endif /* _MSC_VER ] */ diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/strarray.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/strarray.h new file mode 100644 index 00000000..dcb628a1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/strarray.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_strarray_h__ +#define INCLUDE_git_strarray_h__ + +#include "common.h" + +/** + * @file git2/strarray.h + * @brief An array of strings for the user to free + * @defgroup git_strarray An array of strings for the user to free + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Array of strings */ +typedef struct git_strarray { + char **strings; + size_t count; +} git_strarray; + +/** + * Free the strings contained in a string array. This method should + * be called on `git_strarray` objects that were provided by the + * library. Not doing so, will result in a memory leak. + * + * This does not free the `git_strarray` itself, since the library will + * never allocate that object directly itself. + * + * @param array The git_strarray that contains strings to free + */ +GIT_EXTERN(void) git_strarray_dispose(git_strarray *array); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/submodule.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/submodule.h new file mode 100644 index 00000000..911b3cee --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/submodule.h @@ -0,0 +1,679 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_submodule_h__ +#define INCLUDE_git_submodule_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "remote.h" +#include "checkout.h" + +/** + * @file git2/submodule.h + * @brief Submodules place another repository's contents within this one + * + * Submodule support in libgit2 builds a list of known submodules and keeps + * it in the repository. The list is built from the .gitmodules file, the + * .git/config file, the index, and the HEAD tree. Items in the working + * directory that look like submodules (i.e. a git repo) but are not + * mentioned in those places won't be tracked. + * + * @defgroup git_submodule Git submodule management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Return codes for submodule status. + * + * A combination of these flags will be returned to describe the status of a + * submodule. Depending on the "ignore" property of the submodule, some of + * the flags may never be returned because they indicate changes that are + * supposed to be ignored. + * + * Submodule info is contained in 4 places: the HEAD tree, the index, config + * files (both .git/config and .gitmodules), and the working directory. Any + * or all of those places might be missing information about the submodule + * depending on what state the repo is in. We consider all four places to + * build the combination of status flags. + * + * There are four values that are not really status, but give basic info + * about what sources of submodule data are available. These will be + * returned even if ignore is set to "ALL". + * + * * IN_HEAD - superproject head contains submodule + * * IN_INDEX - superproject index contains submodule + * * IN_CONFIG - superproject gitmodules has submodule + * * IN_WD - superproject workdir has submodule + * + * The following values will be returned so long as ignore is not "ALL". + * + * * INDEX_ADDED - in index, not in head + * * INDEX_DELETED - in head, not in index + * * INDEX_MODIFIED - index and head don't match + * * WD_UNINITIALIZED - workdir contains empty directory + * * WD_ADDED - in workdir, not index + * * WD_DELETED - in index, not workdir + * * WD_MODIFIED - index and workdir head don't match + * + * The following can only be returned if ignore is "NONE" or "UNTRACKED". + * + * * WD_INDEX_MODIFIED - submodule workdir index is dirty + * * WD_WD_MODIFIED - submodule workdir has modified files + * + * Lastly, the following will only be returned for ignore "NONE". + * + * * WD_UNTRACKED - wd contains untracked files + */ +typedef enum { + GIT_SUBMODULE_STATUS_IN_HEAD = (1u << 0), + GIT_SUBMODULE_STATUS_IN_INDEX = (1u << 1), + GIT_SUBMODULE_STATUS_IN_CONFIG = (1u << 2), + GIT_SUBMODULE_STATUS_IN_WD = (1u << 3), + GIT_SUBMODULE_STATUS_INDEX_ADDED = (1u << 4), + GIT_SUBMODULE_STATUS_INDEX_DELETED = (1u << 5), + GIT_SUBMODULE_STATUS_INDEX_MODIFIED = (1u << 6), + GIT_SUBMODULE_STATUS_WD_UNINITIALIZED = (1u << 7), + GIT_SUBMODULE_STATUS_WD_ADDED = (1u << 8), + GIT_SUBMODULE_STATUS_WD_DELETED = (1u << 9), + GIT_SUBMODULE_STATUS_WD_MODIFIED = (1u << 10), + GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED = (1u << 11), + GIT_SUBMODULE_STATUS_WD_WD_MODIFIED = (1u << 12), + GIT_SUBMODULE_STATUS_WD_UNTRACKED = (1u << 13) +} git_submodule_status_t; + +/** Submodule source bits */ +#define GIT_SUBMODULE_STATUS__IN_FLAGS 0x000Fu +/** Submodule index status */ +#define GIT_SUBMODULE_STATUS__INDEX_FLAGS 0x0070u +/** Submodule working directory status */ +#define GIT_SUBMODULE_STATUS__WD_FLAGS 0x3F80u + +/** Whether the submodule is modified */ +#define GIT_SUBMODULE_STATUS_IS_UNMODIFIED(S) \ + (((S) & ~GIT_SUBMODULE_STATUS__IN_FLAGS) == 0) + +/** Whether the submodule is modified (in the index) */ +#define GIT_SUBMODULE_STATUS_IS_INDEX_UNMODIFIED(S) \ + (((S) & GIT_SUBMODULE_STATUS__INDEX_FLAGS) == 0) + +/** Whether the submodule is modified (in the working directory) */ +#define GIT_SUBMODULE_STATUS_IS_WD_UNMODIFIED(S) \ + (((S) & (GIT_SUBMODULE_STATUS__WD_FLAGS & \ + ~GIT_SUBMODULE_STATUS_WD_UNINITIALIZED)) == 0) + +/** Whether the submodule working directory is dirty */ +#define GIT_SUBMODULE_STATUS_IS_WD_DIRTY(S) \ + (((S) & (GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED | \ + GIT_SUBMODULE_STATUS_WD_WD_MODIFIED | \ + GIT_SUBMODULE_STATUS_WD_UNTRACKED)) != 0) + +/** + * Function pointer to receive each submodule + * + * @param sm git_submodule currently being visited + * @param name name of the submodule + * @param payload value you passed to the foreach function as payload + * @return 0 on success or error code + */ +typedef int GIT_CALLBACK(git_submodule_cb)( + git_submodule *sm, const char *name, void *payload); + +/** + * Submodule update options structure + * + * Initialize with `GIT_SUBMODULE_UPDATE_OPTIONS_INIT`. Alternatively, you can + * use `git_submodule_update_options_init`. + * + */ +typedef struct git_submodule_update_options { + unsigned int version; + + /** + * These options are passed to the checkout step. To disable + * checkout, set the `checkout_strategy` to `GIT_CHECKOUT_NONE` + * or `GIT_CHECKOUT_DRY_RUN`. + */ + git_checkout_options checkout_opts; + + /** + * Options which control the fetch, including callbacks. + * + * The callbacks to use for reporting fetch progress, and for acquiring + * credentials in the event they are needed. + */ + git_fetch_options fetch_opts; + + /** + * Allow fetching from the submodule's default remote if the target + * commit isn't found. Enabled by default. + */ + int allow_fetch; +} git_submodule_update_options; + +/** Current version for the `git_submodule_update_options` structure */ +#define GIT_SUBMODULE_UPDATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_submodule_update_options` */ +#define GIT_SUBMODULE_UPDATE_OPTIONS_INIT \ + { GIT_SUBMODULE_UPDATE_OPTIONS_VERSION, \ + GIT_CHECKOUT_OPTIONS_INIT, \ + GIT_FETCH_OPTIONS_INIT, \ + 1 } + +/** + * Initialize git_submodule_update_options structure + * + * Initializes a `git_submodule_update_options` with default values. Equivalent to + * creating an instance with `GIT_SUBMODULE_UPDATE_OPTIONS_INIT`. + * + * @param opts The `git_submodule_update_options` struct to initialize. + * @param version The struct version; pass `GIT_SUBMODULE_UPDATE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_submodule_update_options_init( + git_submodule_update_options *opts, unsigned int version); + +/** + * Update a submodule. This will clone a missing submodule and + * checkout the subrepository to the commit specified in the index of + * the containing repository. If the submodule repository doesn't contain + * the target commit (e.g. because fetchRecurseSubmodules isn't set), then + * the submodule is fetched using the fetch options supplied in options. + * + * @param submodule Submodule object + * @param init If the submodule is not initialized, setting this flag to true + * will initialize the submodule before updating. Otherwise, this will + * return an error if attempting to update an uninitialized repository. + * but setting this to true forces them to be updated. + * @param options configuration options for the update. If NULL, the + * function works as though GIT_SUBMODULE_UPDATE_OPTIONS_INIT was passed. + * @return 0 on success, any non-zero return value from a callback + * function, or a negative value to indicate an error (use + * `git_error_last` for a detailed error message). + */ +GIT_EXTERN(int) git_submodule_update(git_submodule *submodule, int init, git_submodule_update_options *options); + +/** + * Lookup submodule information by name or path. + * + * Given either the submodule name or path (they are usually the same), this + * returns a structure describing the submodule. + * + * There are two expected error scenarios: + * + * - The submodule is not mentioned in the HEAD, the index, and the config, + * but does "exist" in the working directory (i.e. there is a subdirectory + * that appears to be a Git repository). In this case, this function + * returns GIT_EEXISTS to indicate a sub-repository exists but not in a + * state where a git_submodule can be instantiated. + * - The submodule is not mentioned in the HEAD, index, or config and the + * working directory doesn't contain a value git repo at that path. + * There may or may not be anything else at that path, but nothing that + * looks like a submodule. In this case, this returns GIT_ENOTFOUND. + * + * You must call `git_submodule_free` when done with the submodule. + * + * @param out Output ptr to submodule; pass NULL to just get return code + * @param repo The parent repository + * @param name The name of or path to the submodule; trailing slashes okay + * @return 0 on success, GIT_ENOTFOUND if submodule does not exist, + * GIT_EEXISTS if a repository is found in working directory only, + * -1 on other errors. + */ +GIT_EXTERN(int) git_submodule_lookup( + git_submodule **out, + git_repository *repo, + const char *name); + +/** + * Create an in-memory copy of a submodule. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the submodule. + * @param source Original submodule to copy. + * @return 0 + */ +GIT_EXTERN(int) git_submodule_dup(git_submodule **out, git_submodule *source); + +/** + * Release a submodule + * + * @param submodule Submodule object + */ +GIT_EXTERN(void) git_submodule_free(git_submodule *submodule); + +/** + * Iterate over all tracked submodules of a repository. + * + * See the note on `git_submodule` above. This iterates over the tracked + * submodules as described therein. + * + * 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. + * + * @param repo The repository + * @param callback Function to be called with the name of each submodule. + * Return a non-zero value to terminate the iteration. + * @param payload Extra data to pass to callback + * @return 0 on success, -1 on error, or non-zero return value of callback + */ +GIT_EXTERN(int) git_submodule_foreach( + git_repository *repo, + git_submodule_cb callback, + void *payload); + +/** + * Set up a new git submodule for checkout. + * + * This does "git submodule add" up to the fetch and checkout of the + * submodule contents. It preps a new submodule, creates an entry in + * .gitmodules and creates an empty initialized repository either at the + * given path in the working directory or in .git/modules with a gitlink + * from the working directory to the new repo. + * + * To fully emulate "git submodule add" call this function, then open the + * submodule repo and perform the clone step as needed (if you don't need + * anything custom see `git_submodule_add_clone()`). Lastly, call + * `git_submodule_add_finalize()` to wrap up adding the new submodule and + * .gitmodules to the index to be ready to commit. + * + * You must call `git_submodule_free` on the submodule object when done. + * + * @param out The newly created submodule ready to open for clone + * @param repo The repository in which you want to create the submodule + * @param url URL for the submodule's remote + * @param path Path at which the submodule should be created + * @param use_gitlink Should workdir contain a gitlink to the repo in + * .git/modules vs. repo directly in workdir. + * @return 0 on success, GIT_EEXISTS if submodule already exists, + * -1 on other errors. + */ +GIT_EXTERN(int) git_submodule_add_setup( + git_submodule **out, + git_repository *repo, + const char *url, + const char *path, + int use_gitlink); + +/** + * Perform the clone step for a newly created submodule. + * + * This performs the necessary `git_clone` to setup a newly-created submodule. + * + * @param out The newly created repository object. Optional. + * @param submodule The submodule currently waiting for its clone. + * @param opts The options to use. + * + * @return 0 on success, -1 on other errors (see git_clone). + */ +GIT_EXTERN(int) git_submodule_clone( + git_repository **out, + git_submodule *submodule, + const git_submodule_update_options *opts); + +/** + * Resolve the setup of a new git submodule. + * + * This should be called on a submodule once you have called add setup + * and done the clone of the submodule. This adds the .gitmodules file + * and the newly cloned submodule to the index to be ready to be committed + * (but doesn't actually do the commit). + * + * @param submodule The submodule to finish adding. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_submodule_add_finalize(git_submodule *submodule); + +/** + * Add current submodule HEAD commit to index of superproject. + * + * @param submodule The submodule to add to the index + * @param write_index Boolean if this should immediately write the index + * file. If you pass this as false, you will have to get the + * git_index and explicitly call `git_index_write()` on it to + * save the change. + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_submodule_add_to_index( + git_submodule *submodule, + int write_index); + +/** + * Get the containing repository for a submodule. + * + * This returns a pointer to the repository that contains the submodule. + * This is a just a reference to the repository that was passed to the + * original `git_submodule_lookup()` call, so if that repository has been + * freed, then this may be a dangling reference. + * + * @param submodule Pointer to submodule object + * @return Pointer to `git_repository` + */ +GIT_EXTERN(git_repository *) git_submodule_owner(git_submodule *submodule); + +/** + * Get the name of submodule. + * + * @param submodule Pointer to submodule object + * @return Pointer to the submodule name + */ +GIT_EXTERN(const char *) git_submodule_name(git_submodule *submodule); + +/** + * Get the path to the submodule. + * + * The path is almost always the same as the submodule name, but the + * two are actually not required to match. + * + * @param submodule Pointer to submodule object + * @return Pointer to the submodule path + */ +GIT_EXTERN(const char *) git_submodule_path(git_submodule *submodule); + +/** + * Get the URL for the submodule. + * + * @param submodule Pointer to submodule object + * @return Pointer to the submodule url + */ +GIT_EXTERN(const char *) git_submodule_url(git_submodule *submodule); + +/** + * Resolve a submodule url relative to the given repository. + * + * @param out buffer to store the absolute submodule url in + * @param repo Pointer to repository object + * @param url Relative url + * @return 0 or an error code + */ +GIT_EXTERN(int) git_submodule_resolve_url(git_buf *out, git_repository *repo, const char *url); + +/** +* Get the branch for the submodule. +* +* @param submodule Pointer to submodule object +* @return Pointer to the submodule branch +*/ +GIT_EXTERN(const char *) git_submodule_branch(git_submodule *submodule); + +/** + * Set the branch for the submodule in the configuration + * + * After calling this, you may wish to call `git_submodule_sync()` to + * write the changes to the checked out submodule repository. + * + * @param repo the repository to affect + * @param name the name of the submodule to configure + * @param branch Branch that should be used for the submodule + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_submodule_set_branch(git_repository *repo, const char *name, const char *branch); + +/** + * Set the URL for the submodule in the configuration + * + * + * After calling this, you may wish to call `git_submodule_sync()` to + * write the changes to the checked out submodule repository. + * + * @param repo the repository to affect + * @param name the name of the submodule to configure + * @param url URL that should be used for the submodule + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_submodule_set_url(git_repository *repo, const char *name, const char *url); + +/** + * Get the OID for the submodule in the index. + * + * @param submodule Pointer to submodule object + * @return Pointer to git_oid or NULL if submodule is not in index. + */ +GIT_EXTERN(const git_oid *) git_submodule_index_id(git_submodule *submodule); + +/** + * Get the OID for the submodule in the current HEAD tree. + * + * @param submodule Pointer to submodule object + * @return Pointer to git_oid or NULL if submodule is not in the HEAD. + */ +GIT_EXTERN(const git_oid *) git_submodule_head_id(git_submodule *submodule); + +/** + * Get the OID for the submodule in the current working directory. + * + * This returns the OID that corresponds to looking up 'HEAD' in the checked + * out submodule. If there are pending changes in the index or anything + * else, this won't notice that. You should call `git_submodule_status()` + * for a more complete picture about the state of the working directory. + * + * @param submodule Pointer to submodule object + * @return Pointer to git_oid or NULL if submodule is not checked out. + */ +GIT_EXTERN(const git_oid *) git_submodule_wd_id(git_submodule *submodule); + +/** + * Get the ignore rule that will be used for the submodule. + * + * These values control the behavior of `git_submodule_status()` for this + * submodule. There are four ignore values: + * + * - **GIT_SUBMODULE_IGNORE_NONE** will consider any change to the contents + * of the submodule from a clean checkout to be dirty, including the + * addition of untracked files. This is the default if unspecified. + * - **GIT_SUBMODULE_IGNORE_UNTRACKED** examines the contents of the + * working tree (i.e. call `git_status_foreach()` on the submodule) but + * UNTRACKED files will not count as making the submodule dirty. + * - **GIT_SUBMODULE_IGNORE_DIRTY** means to only check if the HEAD of the + * submodule has moved for status. This is fast since it does not need to + * scan the working tree of the submodule at all. + * - **GIT_SUBMODULE_IGNORE_ALL** means not to open the submodule repo. + * The working directory will be consider clean so long as there is a + * checked out version present. + * + * @param submodule The submodule to check + * @return The current git_submodule_ignore_t valyue what will be used for + * this submodule. + */ +GIT_EXTERN(git_submodule_ignore_t) git_submodule_ignore( + git_submodule *submodule); + +/** + * Set the ignore rule for the submodule in the configuration + * + * This does not affect any currently-loaded instances. + * + * @param repo the repository to affect + * @param name the name of the submdule + * @param ignore The new value for the ignore rule + * @return 0 or an error code + */ +GIT_EXTERN(int) git_submodule_set_ignore( + git_repository *repo, + const char *name, + git_submodule_ignore_t ignore); + +/** + * Get the update rule that will be used for the submodule. + * + * This value controls the behavior of the `git submodule update` command. + * There are four useful values documented with `git_submodule_update_t`. + * + * @param submodule The submodule to check + * @return The current git_submodule_update_t value that will be used + * for this submodule. + */ +GIT_EXTERN(git_submodule_update_t) git_submodule_update_strategy( + git_submodule *submodule); + +/** + * Set the update rule for the submodule in the configuration + * + * This setting won't affect any existing instances. + * + * @param repo the repository to affect + * @param name the name of the submodule to configure + * @param update The new value to use + * @return 0 or an error code + */ +GIT_EXTERN(int) git_submodule_set_update( + git_repository *repo, + const char *name, + git_submodule_update_t update); + +/** + * Read the fetchRecurseSubmodules rule for a submodule. + * + * This accesses the submodule..fetchRecurseSubmodules value for + * the submodule that controls fetching behavior for the submodule. + * + * Note that at this time, libgit2 does not honor this setting and the + * fetch functionality current ignores submodules. + * + * @param submodule the submodule to examine + * @return the submodule recursion configuration + */ +GIT_EXTERN(git_submodule_recurse_t) git_submodule_fetch_recurse_submodules( + git_submodule *submodule); + +/** + * Set the fetchRecurseSubmodules rule for a submodule in the configuration + * + * This setting won't affect any existing instances. + * + * @param repo the repository to affect + * @param name the submodule to configure + * @param fetch_recurse_submodules the submodule recursion configuration + * @return old value for fetchRecurseSubmodules + */ +GIT_EXTERN(int) git_submodule_set_fetch_recurse_submodules( + git_repository *repo, + const char *name, + git_submodule_recurse_t fetch_recurse_submodules); + +/** + * Copy submodule info into ".git/config" file. + * + * Just like "git submodule init", this copies information about the + * submodule into ".git/config". You can use the accessor functions + * above to alter the in-memory git_submodule object and control what + * is written to the config, overriding what is in .gitmodules. + * + * @param submodule The submodule to write into the superproject config + * @param overwrite By default, existing entries will not be overwritten, + * but setting this to true forces them to be updated. + * @return 0 on success, <0 on failure. + */ +GIT_EXTERN(int) git_submodule_init(git_submodule *submodule, int overwrite); + +/** + * Set up the subrepository for a submodule in preparation for clone. + * + * This function can be called to init and set up a submodule + * repository from a submodule in preparation to clone it from + * its remote. + * + * @param out Output pointer to the created git repository. + * @param sm The submodule to create a new subrepository from. + * @param use_gitlink Should the workdir contain a gitlink to + * the repo in .git/modules vs. repo directly in workdir. + * @return 0 on success, <0 on failure. + */ +GIT_EXTERN(int) git_submodule_repo_init( + git_repository **out, + const git_submodule *sm, + int use_gitlink); + +/** + * Copy submodule remote info into submodule repo. + * + * This copies the information about the submodules URL into the checked out + * submodule config, acting like "git submodule sync". This is useful if + * you have altered the URL for the submodule (or it has been altered by a + * fetch of upstream changes) and you need to update your local repo. + * + * @param submodule The submodule to copy. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_submodule_sync(git_submodule *submodule); + +/** + * Open the repository for a submodule. + * + * This is a newly opened repository object. The caller is responsible for + * calling `git_repository_free()` on it when done. Multiple calls to this + * function will return distinct `git_repository` objects. This will only + * work if the submodule is checked out into the working directory. + * + * @param repo Pointer to the submodule repo which was opened + * @param submodule Submodule to be opened + * @return 0 on success, <0 if submodule repo could not be opened. + */ +GIT_EXTERN(int) git_submodule_open( + git_repository **repo, + git_submodule *submodule); + +/** + * Reread submodule info from config, index, and HEAD. + * + * Call this to reread cached submodule information for this submodule if + * you have reason to believe that it has changed. + * + * @param submodule The submodule to reload + * @param force Force reload even if the data doesn't seem out of date + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_submodule_reload(git_submodule *submodule, int force); + +/** + * Get the status for a submodule. + * + * 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. + * + * @param status Combination of `GIT_SUBMODULE_STATUS` flags + * @param repo the repository in which to look + * @param name name of the submodule + * @param ignore the ignore rules to follow + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_submodule_status( + unsigned int *status, + git_repository *repo, + const char *name, + git_submodule_ignore_t ignore); + +/** + * Get the locations of submodule information. + * + * This is a bit like a very lightweight version of `git_submodule_status`. + * It just returns a made of the first four submodule status values (i.e. + * the ones like GIT_SUBMODULE_STATUS_IN_HEAD, etc) that tell you where the + * submodule data comes from (i.e. the HEAD commit, gitmodules file, etc.). + * This can be useful if you want to know if the submodule is present in the + * working directory at this point in time, etc. + * + * @param location_status Combination of first four `GIT_SUBMODULE_STATUS` flags + * @param submodule Submodule for which to get status + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_submodule_location( + unsigned int *location_status, + git_submodule *submodule); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/alloc.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/alloc.h new file mode 100644 index 00000000..67506f2b --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/alloc.h @@ -0,0 +1,79 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_alloc_h__ +#define INCLUDE_sys_git_alloc_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/alloc.h + * @brief Custom memory allocators + * @defgroup git_merge Git merge routines + * @ingroup Git + * + * Users can configure custom allocators; this is particularly + * interesting when running in constrained environments, when calling + * from another language, or during testing. + * @{ + */ +GIT_BEGIN_DECL + +/** + * An instance for a custom memory allocator + * + * Setting the pointers of this structure allows the developer to implement + * custom memory allocators. The global memory allocator can be set by using + * "GIT_OPT_SET_ALLOCATOR" with the `git_libgit2_opts` function. Keep in mind + * that all fields need to be set to a proper function. + */ +typedef struct { + /** Allocate `n` bytes of memory */ + void * GIT_CALLBACK(gmalloc)(size_t n, const char *file, int line); + + /** + * This function shall deallocate the old object `ptr` and return a + * pointer to a new object that has the size specified by `size`. In + * case `ptr` is `NULL`, a new array shall be allocated. + */ + void * GIT_CALLBACK(grealloc)(void *ptr, size_t size, const char *file, int line); + + /** + * This function shall free the memory pointed to by `ptr`. In case + * `ptr` is `NULL`, this shall be a no-op. + */ + void GIT_CALLBACK(gfree)(void *ptr); +} git_allocator; + +/** + * Initialize the allocator structure to use the `stdalloc` pointer. + * + * Set up the structure so that all of its members are using the standard + * "stdalloc" allocator functions. The structure can then be used with + * `git_allocator_setup`. + * + * @param allocator The allocator that is to be initialized. + * @return An error code or 0. + */ +int git_stdalloc_init_allocator(git_allocator *allocator); + +/** + * Initialize the allocator structure to use the `crtdbg` pointer. + * + * Set up the structure so that all of its members are using the "crtdbg" + * allocator functions. Note that this allocator is only available on Windows + * platforms and only if libgit2 is being compiled with "-DMSVC_CRTDBG". + * + * @param allocator The allocator that is to be initialized. + * @return An error code or 0. + */ +int git_win32_crtdbg_init_allocator(git_allocator *allocator); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/commit.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/commit.h new file mode 100644 index 00000000..a8253c06 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/commit.h @@ -0,0 +1,154 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_commit_h__ +#define INCLUDE_sys_git_commit_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/commit.h + * @brief Low-level Git commit creation + * @defgroup git_commit Low-level Git commit creation + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create new commit in the repository from a list of `git_oid` values. + * + * See documentation for `git_commit_create()` for information about the + * parameters, as the meaning is identical excepting that `tree` and + * `parents` now take `git_oid`. This is a dangerous API in that nor + * the `tree`, neither the `parents` list of `git_oid`s are checked for + * validity. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @param parents Array of `parent_count` pointers to `git_commit` + * objects that will be used as the parents for this commit. This + * array may be NULL if `parent_count` is 0 (root commit). All the + * given commits must be owned by the `repo`. + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create_from_ids( + 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_oid *tree, + size_t parent_count, + const git_oid *parents[]); + +/** + * Callback function to return parents for commit. + * + * This is invoked with the count of the number of parents processed so far + * along with the user supplied payload. This should return a git_oid of + * the next parent or NULL if all parents have been provided. + * + * @param idx the index of the parent + * @param payload the user-specified payload + * @return the object id of the parent, or NULL if there are no further parents + */ +typedef const git_oid * GIT_CALLBACK(git_commit_parent_callback)(size_t idx, void *payload); + +/** + * Create a new commit in the repository with an callback to supply parents. + * + * See documentation for `git_commit_create()` for information about the + * parameters, as the meaning is identical excepting that `tree` takes a + * `git_oid` and doesn't check for validity, and `parent_cb` is invoked + * with `parent_payload` and should return `git_oid` values or NULL to + * indicate that all parents are accounted for. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_cb Callback to invoke to obtain parent information + * + * @param parent_payload User-specified payload to provide to the callback + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create_from_callback( + 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_oid *tree, + git_commit_parent_callback parent_cb, + void *parent_payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/commit_graph.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/commit_graph.h new file mode 100644 index 00000000..ff547ef0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/commit_graph.h @@ -0,0 +1,225 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_commit_graph_h__ +#define INCLUDE_sys_git_commit_graph_h__ + +#include "git2/common.h" +#include "git2/types.h" + +/** + * @file git2/sys/commit_graph.h + * @brief Commit graphs store information about commit relationships + * @defgroup git_commit_graph Commit graphs + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options structure for `git_commit_graph_open_new`. + * + * Initialize with `GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT`. Alternatively, + * you can use `git_commit_graph_open_options_init`. + */ +typedef struct { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** The object ID type that this commit graph contains. */ + git_oid_t oid_type; +#endif +} git_commit_graph_open_options; + +/** Current version for the `git_commit_graph_open_options` structure */ +#define GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION 1 + +/** Static constructor for `git_commit_graph_open_options` */ +#define GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT { \ + GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION \ + } + +/** + * Initialize git_commit_graph_open_options structure + * + * Initializes a `git_commit_graph_open_options` with default values. + * Equivalent to creating an instance with + * `GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT`. + * + * @param opts The `git_commit_graph_open_options` struct to initialize. + * @param version The struct version; pass `GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_commit_graph_open_options_init( + git_commit_graph_open_options *opts, + unsigned int version); + + +/** + * Opens a `git_commit_graph` from a path to an objects directory. + * + * This finds, opens, and validates the `commit-graph` file. + * + * @param cgraph_out the `git_commit_graph` struct to initialize. + * @param objects_dir the path to a git objects directory. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_commit_graph_open( + git_commit_graph **cgraph_out, + const char *objects_dir +#ifdef GIT_EXPERIMENTAL_SHA256 + , const git_commit_graph_open_options *options +#endif + ); + +/** + * Frees commit-graph data. This should only be called when memory allocated + * using `git_commit_graph_open` is not returned to libgit2 because it was not + * associated with the ODB through a successful call to + * `git_odb_set_commit_graph`. + * + * @param cgraph the commit-graph object to free. If NULL, no action is taken. + */ +GIT_EXTERN(void) git_commit_graph_free(git_commit_graph *cgraph); + + +/** + * The strategy to use when adding a new set of commits to a pre-existing + * commit-graph chain. + */ +typedef enum { + /** + * Do not split commit-graph files. The other split strategy-related option + * fields are ignored. + */ + GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0 +} git_commit_graph_split_strategy_t; + +/** + * Options structure for `git_commit_graph_writer_new`. + * + * Initialize with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. Alternatively, + * you can use `git_commit_graph_writer_options_init`. + */ +typedef struct { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** The object ID type that this commit graph contains. */ + git_oid_t oid_type; +#endif + + /** + * The strategy to use when adding new commits to a pre-existing commit-graph + * chain. + */ + git_commit_graph_split_strategy_t split_strategy; + + /** + * The number of commits in level N is less than X times the number of + * commits in level N + 1. Default is 2. + */ + float size_multiple; + + /** + * The number of commits in level N + 1 is more than C commits. + * Default is 64000. + */ + size_t max_commits; +} git_commit_graph_writer_options; + +/** Current version for the `git_commit_graph_writer_options` structure */ +#define GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION 1 + +/** Static constructor for `git_commit_graph_writer_options` */ +#define GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT { \ + GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION \ + } + +/** + * Initialize git_commit_graph_writer_options structure + * + * Initializes a `git_commit_graph_writer_options` with default values. Equivalent to + * creating an instance with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. + * + * @param opts The `git_commit_graph_writer_options` struct to initialize. + * @param version The struct version; pass `GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_commit_graph_writer_options_init( + git_commit_graph_writer_options *opts, + unsigned int version); + +/** + * Create a new writer for `commit-graph` files. + * + * @param out Location to store the writer pointer. + * @param objects_info_dir The `objects/info` directory. + * The `commit-graph` file will be written in this directory. + * @param options The options for the commit graph writer. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_new( + git_commit_graph_writer **out, + const char *objects_info_dir, + const git_commit_graph_writer_options *options); + +/** + * Free the commit-graph writer and its resources. + * + * @param w The writer to free. If NULL no action is taken. + */ +GIT_EXTERN(void) git_commit_graph_writer_free(git_commit_graph_writer *w); + +/** + * Add an `.idx` file (associated to a packfile) to the writer. + * + * @param w The writer. + * @param repo The repository that owns the `.idx` file. + * @param idx_path The path of an `.idx` file. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_add_index_file( + git_commit_graph_writer *w, + git_repository *repo, + const char *idx_path); + +/** + * Add a revwalk to the writer. This will add all the commits from the revwalk + * to the commit-graph. + * + * @param w The writer. + * @param walk The git_revwalk. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_add_revwalk( + git_commit_graph_writer *w, + git_revwalk *walk); + +/** + * Write a `commit-graph` file to a file. + * + * @param w The writer + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_commit( + git_commit_graph_writer *w); + +/** + * Dump the contents of the `commit-graph` to an in-memory buffer. + * + * @param[out] buffer Buffer where to store the contents of the `commit-graph`. + * @param w The writer. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_dump( + git_buf *buffer, + git_commit_graph_writer *w); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/config.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/config.h new file mode 100644 index 00000000..cc4a3991 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/config.h @@ -0,0 +1,206 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_config_backend_h__ +#define INCLUDE_sys_git_config_backend_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/config.h" + +/** + * @file git2/sys/config.h + * @brief Custom configuration database backends + * @defgroup git_backend Custom configuration database backends + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * An entry in a configuration backend. This is provided so that + * backend implementors can have a mechanism to free their data. + */ +typedef struct git_config_backend_entry { + /** The base configuration entry */ + struct git_config_entry entry; + + /** + * Free function for this entry; for internal purposes. Callers + * should call `git_config_entry_free` to free data. + */ + void GIT_CALLBACK(free)(struct git_config_backend_entry *entry); +} git_config_backend_entry; + +/** + * Every iterator must have this struct as its first element, so the + * API can talk to it. You'd define your iterator as + * + * struct my_iterator { + * git_config_iterator parent; + * ... + * } + * + * and assign `iter->parent.backend` to your `git_config_backend`. + */ +struct git_config_iterator { + git_config_backend *backend; + unsigned int flags; + + /** + * Return the current entry and advance the iterator. The + * memory belongs to the library. + */ + int GIT_CALLBACK(next)(git_config_backend_entry **entry, git_config_iterator *iter); + + /** + * Free the iterator + */ + void GIT_CALLBACK(free)(git_config_iterator *iter); +}; + +/** + * Generic backend that implements the interface to + * access a configuration file + */ +struct git_config_backend { + unsigned int version; + /** True if this backend is for a snapshot */ + int readonly; + struct git_config *cfg; + + /* Open means open the file/database and parse if necessary */ + int GIT_CALLBACK(open)(struct git_config_backend *, git_config_level_t level, const git_repository *repo); + int GIT_CALLBACK(get)(struct git_config_backend *, const char *key, git_config_backend_entry **entry); + int GIT_CALLBACK(set)(struct git_config_backend *, const char *key, const char *value); + int GIT_CALLBACK(set_multivar)(git_config_backend *cfg, const char *name, const char *regexp, const char *value); + int GIT_CALLBACK(del)(struct git_config_backend *, const char *key); + int GIT_CALLBACK(del_multivar)(struct git_config_backend *, const char *key, const char *regexp); + int GIT_CALLBACK(iterator)(git_config_iterator **, struct git_config_backend *); + /** Produce a read-only version of this backend */ + int GIT_CALLBACK(snapshot)(struct git_config_backend **, struct git_config_backend *); + /** + * Lock this backend. + * + * Prevent any writes to the data store backing this + * backend. Any updates must not be visible to any other + * readers. + */ + int GIT_CALLBACK(lock)(struct git_config_backend *); + /** + * Unlock the data store backing this backend. If success is + * true, the changes should be committed, otherwise rolled + * back. + */ + int GIT_CALLBACK(unlock)(struct git_config_backend *, int success); + void GIT_CALLBACK(free)(struct git_config_backend *); +}; + +/** Current version for the `git_config_backend_options` structure */ +#define GIT_CONFIG_BACKEND_VERSION 1 + +/** Static constructor for `git_config_backend_options` */ +#define GIT_CONFIG_BACKEND_INIT {GIT_CONFIG_BACKEND_VERSION} + +/** + * Initializes a `git_config_backend` with default values. Equivalent to + * creating an instance with GIT_CONFIG_BACKEND_INIT. + * + * @param backend the `git_config_backend` struct to initialize. + * @param version Version of struct; pass `GIT_CONFIG_BACKEND_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_config_init_backend( + git_config_backend *backend, + unsigned int version); + +/** + * Add a generic config file instance to an existing config + * + * Note that the configuration object will free the file + * automatically. + * + * Further queries on this config object will access each + * of the config file instances in order (instances with + * a higher priority level will be accessed first). + * + * @param cfg the configuration to add the file to + * @param file the configuration file (backend) to add + * @param level the priority level of the backend + * @param repo optional repository to allow parsing of + * conditional includes + * @param force if a config file already exists for the given + * priority level, replace it + * @return 0 on success, GIT_EEXISTS when adding more than one file + * for a given priority level (and force_replace set to 0), or error code + */ +GIT_EXTERN(int) git_config_add_backend( + git_config *cfg, + git_config_backend *file, + git_config_level_t level, + const git_repository *repo, + int force); + +/** Options for in-memory configuration backends. */ +typedef struct { + unsigned int version; + + /** + * The type of this backend (eg, "command line"). If this is + * NULL, then this will be "in-memory". + */ + const char *backend_type; + + /** + * The path to the origin; if this is NULL then it will be + * left unset in the resulting configuration entries. + */ + const char *origin_path; +} git_config_backend_memory_options; + +/** Current version for the `git_config_backend_memory_options` structure */ +#define GIT_CONFIG_BACKEND_MEMORY_OPTIONS_VERSION 1 + +/** Static constructor for `git_config_backend_memory_options` */ +#define GIT_CONFIG_BACKEND_MEMORY_OPTIONS_INIT { GIT_CONFIG_BACKEND_MEMORY_OPTIONS_VERSION } + + +/** + * Create an in-memory configuration backend from a string in standard + * git configuration file format. + * + * @param out the new backend + * @param cfg the configuration that is to be parsed + * @param len the length of the string pointed to by `cfg` + * @param opts the options to initialize this backend with, or NULL + * @return 0 on success or an error code + */ +extern int git_config_backend_from_string( + git_config_backend **out, + const char *cfg, + size_t len, + git_config_backend_memory_options *opts); + +/** + * Create an in-memory configuration backend from a list of name/value + * pairs. + * + * @param out the new backend + * @param values the configuration values to set (in "key=value" format) + * @param len the length of the values array + * @param opts the options to initialize this backend with, or NULL + * @return 0 on success or an error code + */ +extern int git_config_backend_from_values( + git_config_backend **out, + const char **values, + size_t len, + git_config_backend_memory_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/cred.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/cred.h new file mode 100644 index 00000000..4d2a59af --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/cred.h @@ -0,0 +1,15 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_cred_h__ +#define INCLUDE_sys_git_cred_h__ + +/* These declarations have moved. */ +#ifndef GIT_DEPRECATE_HARD +# include "git2/sys/credential.h" +#endif + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/credential.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/credential.h new file mode 100644 index 00000000..0d573a32 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/credential.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_credential_h__ +#define INCLUDE_sys_git_credential_h__ + +#include "git2/common.h" +#include "git2/credential.h" + +/** + * @file git2/sys/credential.h + * @brief Low-level credentials implementation + * @defgroup git_credential Low-level credentials implementation + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The base structure for all credential types + */ +struct git_credential { + git_credential_t credtype; /**< A type of credential */ + + /** The deallocator for this type of credentials */ + void GIT_CALLBACK(free)(git_credential *cred); +}; + +/** A plaintext username and password */ +struct git_credential_userpass_plaintext { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + char *password; /**< The password to use */ +}; + +/** Username-only credential information */ +struct git_credential_username { + git_credential parent; /**< The parent credential */ + char username[1]; /**< The username to authenticate as */ +}; + +/** + * A ssh key from disk + */ +struct git_credential_ssh_key { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + char *publickey; /**< The path to a public key */ + char *privatekey; /**< The path to a private key */ + char *passphrase; /**< Passphrase to decrypt the private key */ +}; + +/** + * Keyboard-interactive based ssh authentication + */ +struct git_credential_ssh_interactive { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + + /** + * Callback used for authentication. + */ + git_credential_ssh_interactive_cb prompt_callback; + + void *payload; /**< Payload passed to prompt_callback */ +}; + +/** + * A key with a custom signature function + */ +struct git_credential_ssh_custom { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + char *publickey; /**< The public key data */ + size_t publickey_len; /**< Length of the public key */ + + /** + * Callback used to sign the data. + */ + git_credential_sign_cb sign_callback; + + void *payload; /**< Payload passed to prompt_callback */ +}; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/diff.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/diff.h new file mode 100644 index 00000000..a398f549 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/diff.h @@ -0,0 +1,114 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_diff_h__ +#define INCLUDE_sys_git_diff_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" +#include "git2/diff.h" +#include "git2/status.h" + +/** + * @file git2/sys/diff.h + * @brief Low-level diff utilities + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Diff print callback that writes to a git_buf. + * + * This function is provided not for you to call it directly, but instead + * so you can use it as a function pointer to the `git_diff_print` or + * `git_patch_print` APIs. When using those APIs, you specify a callback + * to actually handle the diff and/or patch data. + * + * Use this callback to easily write that data to a `git_buf` buffer. You + * must pass a `git_buf *` value as the payload to the `git_diff_print` + * and/or `git_patch_print` function. The data will be appended to the + * buffer (after any existing content). + * + * @param delta the delta being processed + * @param hunk the hunk being processed + * @param line the line being processed + * @param payload the payload provided by the diff generator + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_diff_print_callback__to_buf( + const git_diff_delta *delta, + const git_diff_hunk *hunk, + const git_diff_line *line, + void *payload); /**< payload must be a `git_buf *` */ + +/** + * Diff print callback that writes to stdio FILE handle. + * + * This function is provided not for you to call it directly, but instead + * so you can use it as a function pointer to the `git_diff_print` or + * `git_patch_print` APIs. When using those APIs, you specify a callback + * to actually handle the diff and/or patch data. + * + * Use this callback to easily write that data to a stdio FILE handle. You + * must pass a `FILE *` value (such as `stdout` or `stderr` or the return + * value from `fopen()`) as the payload to the `git_diff_print` + * and/or `git_patch_print` function. If you pass NULL, this will write + * data to `stdout`. + * + * @param delta the delta being processed + * @param hunk the hunk being processed + * @param line the line being processed + * @param payload the payload provided by the diff generator + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_diff_print_callback__to_file_handle( + const git_diff_delta *delta, + const git_diff_hunk *hunk, + const git_diff_line *line, + void *payload); /**< payload must be a `FILE *` */ + + +/** + * Performance data from diffing + */ +typedef struct { + unsigned int version; + size_t stat_calls; /**< Number of stat() calls performed */ + size_t oid_calculations; /**< Number of ID calculations */ +} git_diff_perfdata; + +/** Current version for the `git_diff_perfdata_options` structure */ +#define GIT_DIFF_PERFDATA_VERSION 1 + +/** Static constructor for `git_diff_perfdata_options` */ +#define GIT_DIFF_PERFDATA_INIT {GIT_DIFF_PERFDATA_VERSION,0,0} + +/** + * Get performance data for a diff object. + * + * @param out Structure to be filled with diff performance data + * @param diff Diff to read performance data from + * @return 0 for success, <0 for error + */ +GIT_EXTERN(int) git_diff_get_perfdata( + git_diff_perfdata *out, const git_diff *diff); + +/** + * Get performance data for diffs from a git_status_list + * + * @param out Structure to be filled with diff performance data + * @param status Diff to read performance data from + * @return 0 for success, <0 for error + */ +GIT_EXTERN(int) git_status_list_get_perfdata( + git_diff_perfdata *out, const git_status_list *status); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/email.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/email.h new file mode 100644 index 00000000..26e792ab --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/email.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_email_h__ +#define INCLUDE_sys_git_email_h__ + +#include "git2/common.h" +#include "git2/diff.h" +#include "git2/email.h" +#include "git2/types.h" + +/** + * @file git2/sys/email.h + * @brief Advanced git email creation routines + * @defgroup git_email Advanced git email creation routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a diff for a commit in mbox format for sending via email. + * + * @param out buffer to store the e-mail patch in + * @param diff the changes to include in the email + * @param patch_idx the patch index + * @param patch_count the total number of patches that will be included + * @param commit_id the commit id for this change + * @param summary the commit message for this change + * @param body optional text to include above the diffstat + * @param author the person who authored this commit + * @param opts email creation options + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_email_create_from_diff( + 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); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/errors.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/errors.h new file mode 100644 index 00000000..44e8ecba --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/errors.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_errors_h__ +#define INCLUDE_sys_git_errors_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/errors.h + * @brief Advanced error handling + * @ingroup Git + * + * Error handling for advanced consumers; those who use callbacks + * or those who create custom databases. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Clear the last library error that occurred for this thread. + */ +GIT_EXTERN(void) git_error_clear(void); + +/** + * Set the error message string for this thread, using `printf`-style + * formatting. + * + * This function is public so that custom ODB backends and the like can + * relay an error message through libgit2. Most regular users of libgit2 + * will never need to call this function -- actually, calling it in most + * circumstances (for example, calling from within a callback function) + * will just end up having the value overwritten by libgit2 internals. + * + * This error message is stored in thread-local storage and only applies + * to the particular thread that this libgit2 call is made from. + * + * @param error_class One of the `git_error_t` enum above describing the + * general subsystem that is responsible for the error. + * @param fmt The `printf`-style format string; subsequent arguments must + * be the arguments for the format string. + */ +GIT_EXTERN(void) git_error_set(int error_class, const char *fmt, ...) + GIT_FORMAT_PRINTF(2, 3); + +/** + * Set the error message string for this thread. This function is like + * `git_error_set` but takes a static string instead of a `printf`-style + * format. + * + * @param error_class One of the `git_error_t` enum above describing the + * general subsystem that is responsible for the error. + * @param string The error message to keep + * @return 0 on success or -1 on failure + */ +GIT_EXTERN(int) git_error_set_str(int error_class, const char *string); + +/** + * Set the error message to a special value for memory allocation failure. + * + * The normal `git_error_set_str()` function attempts to `strdup()` the + * string that is passed in. This is not a good idea when the error in + * question is a memory allocation failure. That circumstance has a + * special setter function that sets the error string to a known and + * statically allocated internal value. + */ +GIT_EXTERN(void) git_error_set_oom(void); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/features.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/features.h new file mode 100644 index 00000000..425b8387 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/features.h @@ -0,0 +1,50 @@ +#ifndef INCLUDE_features_h__ +#define INCLUDE_features_h__ + +/* #undef GIT_DEBUG_POOL */ +/* #undef GIT_DEBUG_STRICT_ALLOC */ +/* #undef GIT_DEBUG_STRICT_OPEN */ + +#define GIT_TRACE 1 +#define GIT_THREADS 1 +/* #undef GIT_WIN32_LEAKCHECK */ + +#define GIT_ARCH_64 1 +/* #undef GIT_ARCH_32 */ + +#define GIT_USE_ICONV 1 +#define GIT_USE_NSEC 1 +/* #undef GIT_USE_STAT_MTIM */ +#define GIT_USE_STAT_MTIMESPEC 1 +/* #undef GIT_USE_STAT_MTIME_NSEC */ +#define GIT_USE_FUTIMENS 1 + +#define GIT_REGEX_REGCOMP_L +/* #undef GIT_REGEX_REGCOMP */ +/* #undef GIT_REGEX_PCRE */ +/* #undef GIT_REGEX_PCRE2 */ +/* #undef GIT_REGEX_BUILTIN */ + +/* #undef GIT_SSH */ +/* #undef GIT_SSH_MEMORY_CREDENTIALS */ + +#define GIT_NTLM 1 +/* #undef GIT_GSSAPI */ +/* #undef GIT_GSSFRAMEWORK */ + +/* #undef GIT_WINHTTP */ +#define GIT_HTTPS 1 +/* #undef GIT_OPENSSL */ +/* #undef GIT_OPENSSL_DYNAMIC */ +#define GIT_SECURE_TRANSPORT 1 +/* #undef GIT_MBEDTLS */ + +#define GIT_SHA1_COLLISIONDETECT 1 +/* #undef GIT_SHA1_WIN32 */ +/* #undef GIT_SHA1_COMMON_CRYPTO */ +/* #undef GIT_SHA1_OPENSSL */ +/* #undef GIT_SHA1_MBEDTLS */ + +#endif +#define GIT_SSH_MEMORY_CREDENTIALS 1 +#define GIT_SSH 1 diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/filter.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/filter.h new file mode 100644 index 00000000..60466d17 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/filter.h @@ -0,0 +1,416 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_filter_h__ +#define INCLUDE_sys_git_filter_h__ + +#include "git2/filter.h" + +/** + * @file git2/sys/filter.h + * @brief Custom filter backends and plugins + * @defgroup git_backend Custom filter backends and plugins + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Look up a filter by name + * + * @param name The name of the filter + * @return Pointer to the filter object or NULL if not found + */ +GIT_EXTERN(git_filter *) git_filter_lookup(const char *name); + +/** The "crlf" filter */ +#define GIT_FILTER_CRLF "crlf" + +/** The "ident" filter */ +#define GIT_FILTER_IDENT "ident" + +/** + * This is priority that the internal CRLF filter will be registered with + */ +#define GIT_FILTER_CRLF_PRIORITY 0 + +/** + * This is priority that the internal ident filter will be registered with + */ +#define GIT_FILTER_IDENT_PRIORITY 100 + +/** + * This is priority to use with a custom filter to imitate a core Git + * filter driver, so that it will be run last on checkout and first on + * checkin. You do not have to use this, but it helps compatibility. + */ +#define GIT_FILTER_DRIVER_PRIORITY 200 + +/** + * Create a new empty filter list + * + * Normally you won't use this because `git_filter_list_load` will create + * the filter list for you, but you can use this in combination with the + * `git_filter_lookup` and `git_filter_list_push` functions to assemble + * your own chains of filters. + * + * @param out the filter list + * @param repo the repository to use for configuration + * @param mode the filter mode (direction) + * @param options the options + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_filter_list_new( + git_filter_list **out, + git_repository *repo, + git_filter_mode_t mode, + uint32_t options); + +/** + * Add a filter to a filter list with the given payload. + * + * Normally you won't have to do this because the filter list is created + * by calling the "check" function on registered filters when the filter + * attributes are set, but this does allow more direct manipulation of + * filter lists when desired. + * + * Note that normally the "check" function can set up a payload for the + * filter. Using this function, you can either pass in a payload if you + * know the expected payload format, or you can pass NULL. Some filters + * may fail with a NULL payload. Good luck! + * + * @param fl the filter list + * @param filter the filter to push + * @param payload the payload for the filter + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_filter_list_push( + git_filter_list *fl, git_filter *filter, void *payload); + +/** + * Look up how many filters are in the list + * + * We will attempt to apply all of these filters to any data passed in, + * but note that the filter apply action still has the option of skipping + * data that is passed in (for example, the CRLF filter will skip data + * that appears to be binary). + * + * @param fl A filter list + * @return The number of filters in the list + */ +GIT_EXTERN(size_t) git_filter_list_length(const git_filter_list *fl); + +/** + * A filter source represents a file/blob to be processed + */ +typedef struct git_filter_source git_filter_source; + +/** + * Get the repository that the source data is coming from. + * + * @param src the filter source + * @return the repository for the filter information + */ +GIT_EXTERN(git_repository *) git_filter_source_repo(const git_filter_source *src); + +/** + * Get the path that the source data is coming from. + * + * @param src the filter source + * @return the path that is being filtered + */ +GIT_EXTERN(const char *) git_filter_source_path(const git_filter_source *src); + +/** + * Get the file mode of the source file + * If the mode is unknown, this will return 0 + * + * @param src the filter source + * @return the file mode for the file being filtered + */ +GIT_EXTERN(uint16_t) git_filter_source_filemode(const git_filter_source *src); + +/** + * Get the OID of the source + * If the OID is unknown (often the case with GIT_FILTER_CLEAN) then + * this will return NULL. + * + * @param src the filter source + * @return the object id of the file being filtered + */ +GIT_EXTERN(const git_oid *) git_filter_source_id(const git_filter_source *src); + +/** + * Get the git_filter_mode_t to be used + * + * @param src the filter source + * @return the mode (direction) of the filter + */ +GIT_EXTERN(git_filter_mode_t) git_filter_source_mode(const git_filter_source *src); + +/** + * Get the combination git_filter_flag_t options to be applied + * + * @param src the filter source + * @return the flags of the filter + */ +GIT_EXTERN(uint32_t) git_filter_source_flags(const git_filter_source *src); + +/** + * Initialize callback on filter + * + * Specified as `filter.initialize`, this is an optional callback invoked + * before a filter is first used. It will be called once at most. + * + * If non-NULL, the filter's `initialize` callback will be invoked right + * before the first use of the filter, so you can defer expensive + * initialization operations (in case libgit2 is being used in a way that + * doesn't need the filter). + * + * @param self the filter to initialize + * @return 0 on success, negative number on failure + */ +typedef int GIT_CALLBACK(git_filter_init_fn)(git_filter *self); + +/** + * Shutdown callback on filter + * + * Specified as `filter.shutdown`, this is an optional callback invoked + * when the filter is unregistered or when libgit2 is shutting down. It + * will be called once at most and should release resources as needed. + * This may be called even if the `initialize` callback was not made. + * + * Typically this function will free the `git_filter` object itself. + * + * @param self the filter to shutdown + */ +typedef void GIT_CALLBACK(git_filter_shutdown_fn)(git_filter *self); + +/** + * Callback to decide if a given source needs this filter + * + * Specified as `filter.check`, this is an optional callback that checks + * if filtering is needed for a given source. + * + * It should return 0 if the filter should be applied (i.e. success), + * GIT_PASSTHROUGH if the filter should not be applied, or an error code + * to fail out of the filter processing pipeline and return to the caller. + * + * The `attr_values` will be set to the values of any attributes given in + * the filter definition. See `git_filter` below for more detail. + * + * The `payload` will be a pointer to a reference payload for the filter. + * This will start as NULL, but `check` can assign to this pointer for + * later use by the `stream` callback. Note that the value should be heap + * allocated (not stack), so that it doesn't go away before the `stream` + * callback can use it. If a filter allocates and assigns a value to the + * `payload`, it will need a `cleanup` callback to free the payload. + * + * @param self the filter check + * @param payload a data for future filter functions + * @param src the filter source + * @param attr_values the attribute values + * @return 0 on success or a negative value on error + */ +typedef int GIT_CALLBACK(git_filter_check_fn)( + git_filter *self, + void **payload, /* NULL on entry, may be set */ + const git_filter_source *src, + const char **attr_values); + +#ifndef GIT_DEPRECATE_HARD +/** + * Callback to actually perform the data filtering + * + * Specified as `filter.apply`, this is the callback that actually filters + * data. If it successfully writes the output, it should return 0. Like + * `check`, it can return GIT_PASSTHROUGH to indicate that the filter + * doesn't want to run. Other error codes will stop filter processing and + * return to the caller. + * + * The `payload` value will refer to any payload that was set by the + * `check` callback. It may be read from or written to as needed. + * + * @param self the filter check + * @param payload a data for future filter functions + * @param to the input buffer + * @param from the output buffer + * @param src the filter source + * @return 0 on success or a negative value on error + * @deprecated use git_filter_stream_fn + */ +typedef int GIT_CALLBACK(git_filter_apply_fn)( + git_filter *self, + void **payload, /* may be read and/or set */ + git_buf *to, + const git_buf *from, + const git_filter_source *src); +#endif + +/** + * Callback to perform the data filtering. + * + * Specified as `filter.stream`, this is a callback that filters data + * in a streaming manner. This function will provide a + * `git_writestream` that will the original data will be written to; + * with that data, the `git_writestream` will then perform the filter + * translation and stream the filtered data out to the `next` location. + * + * @param out the write stream + * @param self the filter + * @param payload a data for future filter functions + * @param src the filter source + * @param next the output stream + * @return 0 on success or a negative value on error + */ +typedef int GIT_CALLBACK(git_filter_stream_fn)( + git_writestream **out, + git_filter *self, + void **payload, + const git_filter_source *src, + git_writestream *next); + +/** + * Callback to clean up after filtering has been applied + * + * Specified as `filter.cleanup`, this is an optional callback invoked + * after the filter has been applied. If the `check`, `apply`, or + * `stream` callbacks allocated a `payload` to keep per-source filter + * state, use this callback to free that payload and release resources + * as required. + * + * @param self the filter + * @param payload a data for future filter functions + */ +typedef void GIT_CALLBACK(git_filter_cleanup_fn)( + git_filter *self, + void *payload); + +/** + * Filter structure used to register custom filters. + * + * To associate extra data with a filter, allocate extra data and put the + * `git_filter` struct at the start of your data buffer, then cast the + * `self` pointer to your larger structure when your callback is invoked. + */ +struct git_filter { + /** The `version` field should be set to `GIT_FILTER_VERSION`. */ + unsigned int version; + + /** + * A whitespace-separated list of attribute names to check for this + * filter (e.g. "eol crlf text"). If the attribute name is bare, it + * will be simply loaded and passed to the `check` callback. If it + * has a value (i.e. "name=value"), the attribute must match that + * value for the filter to be applied. The value may be a wildcard + * (eg, "name=*"), in which case the filter will be invoked for any + * value for the given attribute name. See the attribute parameter + * of the `check` callback for the attribute value that was specified. + */ + const char *attributes; + + /** Called when the filter is first used for any file. */ + git_filter_init_fn initialize; + + /** Called when the filter is removed or unregistered from the system. */ + git_filter_shutdown_fn shutdown; + + /** + * Called to determine whether the filter should be invoked for a + * given file. If this function returns `GIT_PASSTHROUGH` then the + * `stream` or `apply` functions will not be invoked and the + * contents will be passed through unmodified. + */ + git_filter_check_fn check; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + /** + * Provided for backward compatibility; this will apply the + * filter to the given contents in a `git_buf`. Callers should + * provide a `stream` function instead. + */ + git_filter_apply_fn apply; +#endif + + /** + * Called to apply the filter, this function will provide a + * `git_writestream` that will the original data will be + * written to; with that data, the `git_writestream` will then + * perform the filter translation and stream the filtered data + * out to the `next` location. + */ + git_filter_stream_fn stream; + + /** Called when the system is done filtering for a file. */ + git_filter_cleanup_fn cleanup; +}; + +/** Current version for the `git_filter_options` structure */ +#define GIT_FILTER_VERSION 1 + +/** Static constructor for `git_filter_options` */ +#define GIT_FILTER_INIT {GIT_FILTER_VERSION} + +/** + * Initializes a `git_filter` with default values. Equivalent to + * creating an instance with GIT_FILTER_INIT. + * + * @param filter the `git_filter` struct to initialize. + * @param version Version the struct; pass `GIT_FILTER_VERSION` + * @return 0 on success; -1 on failure. + */ +GIT_EXTERN(int) git_filter_init(git_filter *filter, unsigned int version); + +/** + * Register a filter under a given name with a given priority. + * + * As mentioned elsewhere, the initialize callback will not be invoked + * immediately. It is deferred until the filter is used in some way. + * + * A filter's attribute checks and `check` and `stream` (or `apply`) + * callbacks will be issued in order of `priority` on smudge (to + * workdir), and in reverse order of `priority` on clean (to odb). + * + * Two filters are preregistered with libgit2: + * - GIT_FILTER_CRLF with priority 0 + * - GIT_FILTER_IDENT with priority 100 + * + * Currently the filter registry is not thread safe, so any registering or + * deregistering of filters must be done outside of any possible usage of + * the filters (i.e. during application setup or shutdown). + * + * @param name A name by which the filter can be referenced. Attempting + * to register with an in-use name will return GIT_EEXISTS. + * @param filter The filter definition. This pointer will be stored as is + * by libgit2 so it must be a durable allocation (either static + * or on the heap). + * @param priority The priority for filter application + * @return 0 on successful registry, error code <0 on failure + */ +GIT_EXTERN(int) git_filter_register( + const char *name, git_filter *filter, int priority); + +/** + * Remove the filter with the given name + * + * Attempting to remove the builtin libgit2 filters is not permitted and + * will return an error. + * + * Currently the filter registry is not thread safe, so any registering or + * deregistering of filters must be done outside of any possible usage of + * the filters (i.e. during application setup or shutdown). + * + * @param name The name under which the filter was registered + * @return 0 on success, error code <0 on failure + */ +GIT_EXTERN(int) git_filter_unregister(const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/hashsig.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/hashsig.h new file mode 100644 index 00000000..0d7be535 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/hashsig.h @@ -0,0 +1,117 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_hashsig_h__ +#define INCLUDE_sys_hashsig_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/hashsig.h + * @brief Signatures for file similarity comparison + * @defgroup git_hashsig Git merge routines + * @ingroup Git + * + * Hash signatures are used for file similary comparison; this is + * used for git's rename handling. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Similarity signature of arbitrary text content based on line hashes + */ +typedef struct git_hashsig git_hashsig; + +/** + * Options for hashsig computation + * + * The options GIT_HASHSIG_NORMAL, GIT_HASHSIG_IGNORE_WHITESPACE, + * GIT_HASHSIG_SMART_WHITESPACE are exclusive and should not be combined. + */ +typedef enum { + /** + * Use all data + */ + GIT_HASHSIG_NORMAL = 0, + + /** + * Ignore whitespace + */ + GIT_HASHSIG_IGNORE_WHITESPACE = (1 << 0), + + /** + * Ignore \r and all space after \n + */ + GIT_HASHSIG_SMART_WHITESPACE = (1 << 1), + + /** + * Allow hashing of small files + */ + GIT_HASHSIG_ALLOW_SMALL_FILES = (1 << 2) +} git_hashsig_option_t; + +/** + * Compute a similarity signature for a text buffer + * + * If you have passed the option GIT_HASHSIG_IGNORE_WHITESPACE, then the + * whitespace will be removed from the buffer while it is being processed, + * modifying the buffer in place. Sorry about that! + * + * @param out The computed similarity signature. + * @param buf The input buffer. + * @param buflen The input buffer size. + * @param opts The signature computation options (see above). + * @return 0 on success, GIT_EBUFS if the buffer doesn't contain enough data to + * compute a valid signature (unless GIT_HASHSIG_ALLOW_SMALL_FILES is set), or + * error code. + */ +GIT_EXTERN(int) git_hashsig_create( + git_hashsig **out, + const char *buf, + size_t buflen, + git_hashsig_option_t opts); + +/** + * Compute a similarity signature for a text file + * + * This walks through the file, only loading a maximum of 4K of file data at + * a time. Otherwise, it acts just like `git_hashsig_create`. + * + * @param out The computed similarity signature. + * @param path The path to the input file. + * @param opts The signature computation options (see above). + * @return 0 on success, GIT_EBUFS if the buffer doesn't contain enough data to + * compute a valid signature (unless GIT_HASHSIG_ALLOW_SMALL_FILES is set), or + * error code. + */ +GIT_EXTERN(int) git_hashsig_create_fromfile( + git_hashsig **out, + const char *path, + git_hashsig_option_t opts); + +/** + * Release memory for a content similarity signature + * + * @param sig The similarity signature to free. + */ +GIT_EXTERN(void) git_hashsig_free(git_hashsig *sig); + +/** + * Measure similarity score between two similarity signatures + * + * @param a The first similarity signature to compare. + * @param b The second similarity signature to compare. + * @return [0 to 100] on success as the similarity score, or error code. + */ +GIT_EXTERN(int) git_hashsig_compare( + const git_hashsig *a, + const git_hashsig *b); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/index.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/index.h new file mode 100644 index 00000000..b3b86a04 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/index.h @@ -0,0 +1,183 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_index_h__ +#define INCLUDE_sys_git_index_h__ + +#include "git2/common.h" +#include "git2/types.h" + +/** + * @file git2/sys/index.h + * @brief Low-level index manipulation routines + * @defgroup git_index Low-level index manipulation routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Representation of a rename conflict entry in the index. */ +typedef struct git_index_name_entry { + char *ancestor; + char *ours; + char *theirs; +} git_index_name_entry; + +/** Representation of a resolve undo entry in the index. */ +typedef struct git_index_reuc_entry { + uint32_t mode[3]; + git_oid oid[3]; + char *path; +} git_index_reuc_entry; + +/** @name Conflict Name entry functions + * + * These functions work on rename conflict entries. + */ +/**@{*/ + +/** + * Get the count of filename conflict entries currently in the index. + * + * @param index an existing index object + * @return integer of count of current filename conflict entries + */ +GIT_EXTERN(size_t) git_index_name_entrycount(git_index *index); + +/** + * Get a filename conflict entry from the index. + * + * The returned entry is read-only and should not be modified + * or freed by the caller. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the filename conflict entry; NULL if out of bounds + */ +GIT_EXTERN(const git_index_name_entry *) git_index_name_get_byindex( + git_index *index, size_t n); + +/** + * Record the filenames involved in a rename conflict. + * + * @param index an existing index object + * @param ancestor the path of the file as it existed in the ancestor + * @param ours the path of the file as it existed in our tree + * @param theirs the path of the file as it existed in their tree + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_index_name_add(git_index *index, + const char *ancestor, const char *ours, const char *theirs); + +/** + * Remove all filename conflict entries. + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_name_clear(git_index *index); + +/**@}*/ + +/** @name Resolve Undo (REUC) index entry manipulation. + * + * These functions work on the Resolve Undo index extension and contains + * data about the original files that led to a merge conflict. + */ +/**@{*/ + +/** + * Get the count of resolve undo entries currently in the index. + * + * @param index an existing index object + * @return integer of count of current resolve undo entries + */ +GIT_EXTERN(size_t) git_index_reuc_entrycount(git_index *index); + +/** + * Finds the resolve undo entry that points to the given path in the Git + * index. + * + * @param at_pos the address to which the position of the reuc entry is written (optional) + * @param index an existing index object + * @param path path to search + * @return 0 if found, < 0 otherwise (GIT_ENOTFOUND) + */ +GIT_EXTERN(int) git_index_reuc_find(size_t *at_pos, git_index *index, const char *path); + +/** + * Get a resolve undo entry from the index. + * + * The returned entry is read-only and should not be modified + * or freed by the caller. + * + * @param index an existing index object + * @param path path to search + * @return the resolve undo entry; NULL if not found + */ +GIT_EXTERN(const git_index_reuc_entry *) git_index_reuc_get_bypath(git_index *index, const char *path); + +/** + * Get a resolve undo entry from the index. + * + * The returned entry is read-only and should not be modified + * or freed by the caller. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the resolve undo entry; NULL if out of bounds + */ +GIT_EXTERN(const git_index_reuc_entry *) git_index_reuc_get_byindex(git_index *index, size_t n); + +/** + * Adds a resolve undo entry for a file based on the given parameters. + * + * The resolve undo entry contains the OIDs of files that were involved + * in a merge conflict after the conflict has been resolved. This allows + * conflicts to be re-resolved later. + * + * If there exists a resolve undo entry for the given path in the index, + * it will be removed. + * + * This method will fail in bare index instances. + * + * @param index an existing index object + * @param path filename to add + * @param ancestor_mode mode of the ancestor file + * @param ancestor_id oid of the ancestor file + * @param our_mode mode of our file + * @param our_id oid of our file + * @param their_mode mode of their file + * @param their_id oid of their file + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_reuc_add(git_index *index, const char *path, + int ancestor_mode, const git_oid *ancestor_id, + int our_mode, const git_oid *our_id, + int their_mode, const git_oid *their_id); + +/** + * Remove an resolve undo entry from the index + * + * @param index an existing index object + * @param n position of the resolve undo entry to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_reuc_remove(git_index *index, size_t n); + +/** + * Remove all resolve undo entries from the index + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_reuc_clear(git_index *index); + +/**@}*/ + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/mempack.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/mempack.h new file mode 100644 index 00000000..be902be2 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/mempack.h @@ -0,0 +1,117 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_odb_mempack_h__ +#define INCLUDE_sys_git_odb_mempack_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" +#include "git2/odb.h" +#include "git2/buffer.h" + +/** + * @file git2/sys/mempack.h + * @brief A custom object database backend for storing objects in-memory + * @defgroup git_mempack A custom object database backend for storing objects in-memory + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Instantiate a new mempack backend. + * + * The backend must be added to an existing ODB with the highest + * priority. + * + * git_mempack_new(&mempacker); + * git_repository_odb(&odb, repository); + * git_odb_add_backend(odb, mempacker, 999); + * + * Once the backend has been loaded, all writes to the ODB will + * instead be queued in memory, and can be finalized with + * `git_mempack_dump`. + * + * Subsequent reads will also be served from the in-memory store + * to ensure consistency, until the memory store is dumped. + * + * @param out Pointer where to store the ODB backend + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_mempack_new(git_odb_backend **out); + +/** + * Write a thin packfile with the objects in the memory store. + * + * A thin packfile is a packfile that does not contain its transitive closure of + * references. This is useful for efficiently distributing additions to a + * repository over the network, but also finds use in the efficient bulk + * addition of objects to a repository, locally. + * + * This operation performs the (shallow) insert operations into the + * `git_packbuilder`, but does not write the packfile to disk; + * see `git_packbuilder_write_buf`. + * + * It also does not reset the in-memory object database; see `git_mempack_reset`. + * + * @param backend The mempack backend + * @param pb The packbuilder to use to write the packfile + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_mempack_write_thin_pack(git_odb_backend *backend, git_packbuilder *pb); + +/** + * Dump all the queued in-memory writes to a packfile. + * + * The contents of the packfile will be stored in the given buffer. + * It is the caller's responsibility to ensure that the generated + * packfile is available to the repository (e.g. by writing it + * to disk, or doing something crazy like distributing it across + * several copies of the repository over a network). + * + * Once the generated packfile is available to the repository, + * call `git_mempack_reset` to cleanup the memory store. + * + * Calling `git_mempack_reset` before the packfile has been + * written to disk will result in an inconsistent repository + * (the objects in the memory store won't be accessible). + * + * @param pack Buffer where to store the raw packfile + * @param repo The active repository where the backend is loaded + * @param backend The mempack backend + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_mempack_dump(git_buf *pack, git_repository *repo, git_odb_backend *backend); + +/** + * Reset the memory packer by clearing all the queued objects. + * + * This assumes that `git_mempack_dump` has been called before to + * store all the queued objects into a single packfile. + * + * Alternatively, call `reset` without a previous dump to "undo" + * all the recently written objects, giving transaction-like + * semantics to the Git repository. + * + * @param backend The mempack backend + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_mempack_reset(git_odb_backend *backend); + +/** + * Get the total number of objects in mempack + * + * @param count The count of objects in the mempack + * @param backend The mempack backend + * @return 0 on success, or -1 on error + */ +GIT_EXTERN(int) git_mempack_object_count(size_t *count, git_odb_backend *backend); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/merge.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/merge.h new file mode 100644 index 00000000..a9f52205 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/merge.h @@ -0,0 +1,230 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_merge_h__ +#define INCLUDE_sys_git_merge_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/index.h" +#include "git2/merge.h" + +/** + * @file git2/sys/merge.h + * @brief Custom merge drivers + * @defgroup git_merge Custom merge drivers + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * A "merge driver" is a mechanism that can be configured to handle + * conflict resolution for files changed in both the "ours" and "theirs" + * side of a merge. + */ +typedef struct git_merge_driver git_merge_driver; + +/** + * Look up a merge driver by name + * + * @param name The name of the merge driver + * @return Pointer to the merge driver object or NULL if not found + */ +GIT_EXTERN(git_merge_driver *) git_merge_driver_lookup(const char *name); + +/** The "text" merge driver */ +#define GIT_MERGE_DRIVER_TEXT "text" +/** The "binary" merge driver */ +#define GIT_MERGE_DRIVER_BINARY "binary" +/** The "union" merge driver */ +#define GIT_MERGE_DRIVER_UNION "union" + +/** + * A merge driver source represents the file to be merged + */ +typedef struct git_merge_driver_source git_merge_driver_source; + +/** + * Get the repository that the source data is coming from. + * + * @param src the merge driver source + * @return the repository + */ +GIT_EXTERN(git_repository *) git_merge_driver_source_repo( + const git_merge_driver_source *src); + +/** + * Gets the ancestor of the file to merge. + * + * @param src the merge driver source + * @return the ancestor or NULL if there was no ancestor + */ +GIT_EXTERN(const git_index_entry *) git_merge_driver_source_ancestor( + const git_merge_driver_source *src); + +/** + * Gets the ours side of the file to merge. + * + * @param src the merge driver source + * @return the ours side or NULL if there was no ours side + */ +GIT_EXTERN(const git_index_entry *) git_merge_driver_source_ours( + const git_merge_driver_source *src); + +/** + * Gets the theirs side of the file to merge. + * + * @param src the merge driver source + * @return the theirs side or NULL if there was no theirs side + */ +GIT_EXTERN(const git_index_entry *) git_merge_driver_source_theirs( + const git_merge_driver_source *src); + +/** + * Gets the merge file options that the merge was invoked with. + * + * @param src the merge driver source + * @return the options + */ +GIT_EXTERN(const git_merge_file_options *) git_merge_driver_source_file_options( + const git_merge_driver_source *src); + + +/** + * Initialize callback on merge driver + * + * Specified as `driver.initialize`, this is an optional callback invoked + * before a merge driver is first used. It will be called once at most + * per library lifetime. + * + * If non-NULL, the merge driver's `initialize` callback will be invoked + * right before the first use of the driver, so you can defer expensive + * initialization operations (in case libgit2 is being used in a way that + * doesn't need the merge driver). + * + * @param self the merge driver to initialize + * @return 0 on success, or a negative number on failure + */ +typedef int GIT_CALLBACK(git_merge_driver_init_fn)(git_merge_driver *self); + +/** + * Shutdown callback on merge driver + * + * Specified as `driver.shutdown`, this is an optional callback invoked + * when the merge driver is unregistered or when libgit2 is shutting down. + * It will be called once at most and should release resources as needed. + * This may be called even if the `initialize` callback was not made. + * + * Typically this function will free the `git_merge_driver` object itself. + * + * @param self the merge driver to shutdown + */ +typedef void GIT_CALLBACK(git_merge_driver_shutdown_fn)(git_merge_driver *self); + +/** + * Callback to perform the merge. + * + * Specified as `driver.apply`, this is the callback that actually does the + * merge. If it can successfully perform a merge, it should populate + * `path_out` with a pointer to the filename to accept, `mode_out` with + * the resultant mode, and `merged_out` with the buffer of the merged file + * and then return 0. If the driver returns `GIT_PASSTHROUGH`, then the + * default merge driver should instead be run. It can also return + * `GIT_EMERGECONFLICT` if the driver is not able to produce a merge result, + * and the file will remain conflicted. Any other errors will fail and + * return to the caller. + * + * The `filter_name` contains the name of the filter that was invoked, as + * specified by the file's attributes. + * + * The `src` contains the data about the file to be merged. + * + * @param self the merge driver + * @param path_out the resolved path + * @param mode_out the resolved mode + * @param merged_out the merged output contents + * @param filter_name the filter that was invoked + * @param src the data about the unmerged file + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_merge_driver_apply_fn)( + git_merge_driver *self, + const char **path_out, + uint32_t *mode_out, + git_buf *merged_out, + const char *filter_name, + const git_merge_driver_source *src); + +/** + * Merge driver structure used to register custom merge drivers. + * + * To associate extra data with a driver, allocate extra data and put the + * `git_merge_driver` struct at the start of your data buffer, then cast + * the `self` pointer to your larger structure when your callback is invoked. + */ +struct git_merge_driver { + /** The `version` should be set to `GIT_MERGE_DRIVER_VERSION`. */ + unsigned int version; + + /** Called when the merge driver is first used for any file. */ + git_merge_driver_init_fn initialize; + + /** Called when the merge driver is unregistered from the system. */ + git_merge_driver_shutdown_fn shutdown; + + /** + * Called to merge the contents of a conflict. If this function + * returns `GIT_PASSTHROUGH` then the default (`text`) merge driver + * will instead be invoked. If this function returns + * `GIT_EMERGECONFLICT` then the file will remain conflicted. + */ + git_merge_driver_apply_fn apply; +}; + +/** The version for the `git_merge_driver` */ +#define GIT_MERGE_DRIVER_VERSION 1 + +/** + * Register a merge driver under a given name. + * + * As mentioned elsewhere, the initialize callback will not be invoked + * immediately. It is deferred until the driver is used in some way. + * + * Currently the merge driver registry is not thread safe, so any + * registering or deregistering of merge drivers must be done outside of + * any possible usage of the drivers (i.e. during application setup or + * shutdown). + * + * @param name The name of this driver to match an attribute. Attempting + * to register with an in-use name will return GIT_EEXISTS. + * @param driver The merge driver definition. This pointer will be stored + * as is by libgit2 so it must be a durable allocation (either + * static or on the heap). + * @return 0 on successful registry, error code <0 on failure + */ +GIT_EXTERN(int) git_merge_driver_register( + const char *name, git_merge_driver *driver); + +/** + * Remove the merge driver with the given name. + * + * Attempting to remove the builtin libgit2 merge drivers is not permitted + * and will return an error. + * + * Currently the merge driver registry is not thread safe, so any + * registering or deregistering of drivers must be done outside of any + * possible usage of the drivers (i.e. during application setup or shutdown). + * + * @param name The name under which the merge driver was registered + * @return 0 on success, error code <0 on failure + */ +GIT_EXTERN(int) git_merge_driver_unregister(const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/midx.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/midx.h new file mode 100644 index 00000000..b3a68afb --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/midx.h @@ -0,0 +1,117 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_midx_h__ +#define INCLUDE_sys_git_midx_h__ + +#include "git2/common.h" +#include "git2/types.h" + +/** + * @file git2/sys/midx.h + * @brief Incremental multi-pack indexes + * @defgroup git_midx Incremental multi-pack indexes + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options structure for `git_midx_writer_options`. + * + * Initialize with `GIT_MIDX_WRITER_OPTIONS_INIT`. Alternatively, + * you can use `git_midx_writer_options_init`. + */ +typedef struct { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** The object ID type that this commit graph contains. */ + git_oid_t oid_type; +#endif +} git_midx_writer_options; + +/** Current version for the `git_midx_writer_options` structure */ +#define GIT_MIDX_WRITER_OPTIONS_VERSION 1 + +/** Static constructor for `git_midx_writer_options` */ +#define GIT_MIDX_WRITER_OPTIONS_INIT { \ + GIT_MIDX_WRITER_OPTIONS_VERSION \ + } + +/** + * Initialize git_midx_writer_options structure + * + * Initializes a `git_midx_writer_options` with default values. + * Equivalent to creating an instance with + * `GIT_MIDX_WRITER_OPTIONS_INIT`. + * + * @param opts The `git_midx_writer_options` struct to initialize. + * @param version The struct version; pass `GIT_MIDX_WRITER_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_midx_writer_options_init( + git_midx_writer_options *opts, + unsigned int version); + +/** + * Create a new writer for `multi-pack-index` files. + * + * @param out location to store the writer pointer. + * @param pack_dir the directory where the `.pack` and `.idx` files are. The + * `multi-pack-index` file will be written in this directory, too. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_new( + git_midx_writer **out, + const char *pack_dir +#ifdef GIT_EXPERIMENTAL_SHA256 + , git_midx_writer_options *options +#endif + ); + +/** + * Free the multi-pack-index writer and its resources. + * + * @param w the writer to free. If NULL no action is taken. + */ +GIT_EXTERN(void) git_midx_writer_free(git_midx_writer *w); + +/** + * Add an `.idx` file to the writer. + * + * @param w the writer + * @param idx_path the path of an `.idx` file. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_add( + git_midx_writer *w, + const char *idx_path); + +/** + * Write a `multi-pack-index` file to a file. + * + * @param w the writer + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_commit( + git_midx_writer *w); + +/** + * Dump the contents of the `multi-pack-index` to an in-memory buffer. + * + * @param midx Buffer where to store the contents of the `multi-pack-index`. + * @param w the writer + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_dump( + git_buf *midx, + git_midx_writer *w); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/odb_backend.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/odb_backend.h new file mode 100644 index 00000000..53d8d060 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/odb_backend.h @@ -0,0 +1,176 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_odb_backend_h__ +#define INCLUDE_sys_git_odb_backend_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" +#include "git2/odb.h" + +/** + * @file git2/sys/odb_backend.h + * @brief Object database backends for custom object storage + * @defgroup git_backend Object database backends for custom object storage + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * An instance for a custom backend + */ +struct git_odb_backend { + unsigned int version; + git_odb *odb; + + /* read and read_prefix each return to libgit2 a buffer which + * will be freed later. The buffer should be allocated using + * the function git_odb_backend_data_alloc to ensure that libgit2 + * can safely free it later. */ + int GIT_CALLBACK(read)( + void **, size_t *, git_object_t *, git_odb_backend *, const git_oid *); + + /* To find a unique object given a prefix of its oid. The oid given + * must be so that the remaining (GIT_OID_SHA1_HEXSIZE - len)*4 bits are 0s. + */ + int GIT_CALLBACK(read_prefix)( + git_oid *, void **, size_t *, git_object_t *, + git_odb_backend *, const git_oid *, size_t); + + int GIT_CALLBACK(read_header)( + size_t *, git_object_t *, git_odb_backend *, const git_oid *); + + /** + * Write an object into the backend. The id of the object has + * already been calculated and is passed in. + */ + int GIT_CALLBACK(write)( + git_odb_backend *, const git_oid *, const void *, size_t, git_object_t); + + int GIT_CALLBACK(writestream)( + git_odb_stream **, git_odb_backend *, git_object_size_t, git_object_t); + + int GIT_CALLBACK(readstream)( + git_odb_stream **, size_t *, git_object_t *, + git_odb_backend *, const git_oid *); + + int GIT_CALLBACK(exists)( + git_odb_backend *, const git_oid *); + + int GIT_CALLBACK(exists_prefix)( + git_oid *, git_odb_backend *, const git_oid *, size_t); + + /** + * If the backend implements a refreshing mechanism, it should be exposed + * through this endpoint. Each call to `git_odb_refresh()` will invoke it. + * + * The odb layer will automatically call this when needed on failed + * lookups (ie. `exists()`, `read()`, `read_header()`). + */ + int GIT_CALLBACK(refresh)(git_odb_backend *); + + int GIT_CALLBACK(foreach)( + git_odb_backend *, git_odb_foreach_cb cb, void *payload); + + int GIT_CALLBACK(writepack)( + git_odb_writepack **, git_odb_backend *, git_odb *odb, + git_indexer_progress_cb progress_cb, void *progress_payload); + + /** + * If the backend supports pack files, this will create a + * `multi-pack-index` file which will contain an index of all objects + * across all the `.pack` files. + */ + int GIT_CALLBACK(writemidx)(git_odb_backend *); + + /** + * "Freshens" an already existing object, updating its last-used + * time. This occurs when `git_odb_write` was called, but the + * object already existed (and will not be re-written). The + * underlying implementation may want to update last-used timestamps. + * + * If callers implement this, they should return `0` if the object + * exists and was freshened, and non-zero otherwise. + */ + int GIT_CALLBACK(freshen)(git_odb_backend *, const git_oid *); + + /** + * Frees any resources held by the odb (including the `git_odb_backend` + * itself). An odb backend implementation must provide this function. + */ + void GIT_CALLBACK(free)(git_odb_backend *); +}; + +/** Current version for the `git_odb_backend_options` structure */ +#define GIT_ODB_BACKEND_VERSION 1 + +/** Static constructor for `git_odb_backend_options` */ +#define GIT_ODB_BACKEND_INIT {GIT_ODB_BACKEND_VERSION} + +/** + * Initializes a `git_odb_backend` with default values. Equivalent to + * creating an instance with GIT_ODB_BACKEND_INIT. + * + * @param backend the `git_odb_backend` struct to initialize. + * @param version Version the struct; pass `GIT_ODB_BACKEND_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_odb_init_backend( + git_odb_backend *backend, + unsigned int version); + +/** + * Allocate data for an ODB object. Custom ODB backends may use this + * to provide data back to the ODB from their read function. This + * memory should not be freed once it is returned to libgit2. If a + * custom ODB uses this function but encounters an error and does not + * return this data to libgit2, then they should use the corresponding + * git_odb_backend_data_free function. + * + * @param backend the ODB backend that is allocating this memory + * @param len the number of bytes to allocate + * @return the allocated buffer on success or NULL if out of memory + */ +GIT_EXTERN(void *) git_odb_backend_data_alloc(git_odb_backend *backend, size_t len); + +/** + * Frees custom allocated ODB data. This should only be called when + * memory allocated using git_odb_backend_data_alloc is not returned + * to libgit2 because the backend encountered an error in the read + * function after allocation and did not return this data to libgit2. + * + * @param backend the ODB backend that is freeing this memory + * @param data the buffer to free + */ +GIT_EXTERN(void) git_odb_backend_data_free(git_odb_backend *backend, void *data); + + +/* + * Users can avoid deprecated functions by defining `GIT_DEPRECATE_HARD`. + */ +#ifndef GIT_DEPRECATE_HARD + +/** + * Allocate memory for an ODB object from a custom backend. This is + * an alias of `git_odb_backend_data_alloc` and is preserved for + * backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated git_odb_backend_data_alloc + * @see git_odb_backend_data_alloc + */ +GIT_EXTERN(void *) git_odb_backend_malloc(git_odb_backend *backend, size_t len); + +#endif + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/openssl.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/openssl.h new file mode 100644 index 00000000..8b74a98c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/openssl.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_openssl_h__ +#define INCLUDE_git_openssl_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/openssl.h + * @brief Custom OpenSSL functionality + * @defgroup git_openssl Custom OpenSSL functionality + * @{ + */ +GIT_BEGIN_DECL + +/** + * Initialize the OpenSSL locks + * + * OpenSSL requires the application to determine how it performs + * locking. + * + * This is a last-resort convenience function which libgit2 provides for + * allocating and initializing the locks as well as setting the + * locking function to use the system's native locking functions. + * + * The locking function will be cleared and the memory will be freed + * when you call git_threads_sutdown(). + * + * If your programming language has an OpenSSL package/bindings, it + * likely sets up locking. You should very strongly prefer that over + * this function. + * + * @return 0 on success, -1 if there are errors or if libgit2 was not + * built with OpenSSL and threading support. + */ +GIT_EXTERN(int) git_openssl_set_locking(void); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/path.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/path.h new file mode 100644 index 00000000..2963bca3 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/path.h @@ -0,0 +1,75 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_path_h__ +#define INCLUDE_sys_git_path_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/path.h + * @brief Custom path handling + * @defgroup git_path Custom path handling + * @ingroup Git + * + * Merge will take two commits and attempt to produce a commit that + * includes the changes that were made in both branches. + * @{ + */ +GIT_BEGIN_DECL + +/** + * The kinds of git-specific files we know about. + * + * The order needs to stay the same to not break the `gitfiles` + * array in path.c + */ +typedef enum { + /** Check for the .gitignore file */ + GIT_PATH_GITFILE_GITIGNORE, + /** Check for the .gitmodules file */ + GIT_PATH_GITFILE_GITMODULES, + /** Check for the .gitattributes file */ + GIT_PATH_GITFILE_GITATTRIBUTES +} git_path_gitfile; + +/** + * The kinds of checks to perform according to which filesystem we are trying to + * protect. + */ +typedef enum { + /** Do both NTFS- and HFS-specific checks */ + GIT_PATH_FS_GENERIC, + /** Do NTFS-specific checks only */ + GIT_PATH_FS_NTFS, + /** Do HFS-specific checks only */ + GIT_PATH_FS_HFS +} git_path_fs; + +/** + * Check whether a path component corresponds to a .git$SUFFIX + * file. + * + * As some filesystems do special things to filenames when + * writing files to disk, you cannot always do a plain string + * comparison to verify whether a file name matches an expected + * path or not. This function can do the comparison for you, + * depending on the filesystem you're on. + * + * @param path the path component to check + * @param pathlen the length of `path` that is to be checked + * @param gitfile which file to check against + * @param fs which filesystem-specific checks to use + * @return 0 in case the file does not match, a positive value if + * it does; -1 in case of an error + */ +GIT_EXTERN(int) git_path_is_gitfile(const char *path, size_t pathlen, git_path_gitfile gitfile, git_path_fs fs); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/refdb_backend.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/refdb_backend.h new file mode 100644 index 00000000..813822a6 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/refdb_backend.h @@ -0,0 +1,365 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_refdb_backend_h__ +#define INCLUDE_sys_git_refdb_backend_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/refdb_backend.h + * @brief Custom reference database backends for refs storage + * @defgroup git_refdb_backend Custom reference database backends for refs storage + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + + +/** + * Every backend's iterator must have a pointer to itself as the first + * element, so the API can talk to it. You'd define your iterator as + * + * struct my_iterator { + * git_reference_iterator parent; + * ... + * } + * + * and assign `iter->parent.backend` to your `git_refdb_backend`. + */ +struct git_reference_iterator { + git_refdb *db; + + /** + * Return the current reference and advance the iterator. + */ + int GIT_CALLBACK(next)( + git_reference **ref, + git_reference_iterator *iter); + + /** + * Return the name of the current reference and advance the iterator + */ + int GIT_CALLBACK(next_name)( + const char **ref_name, + git_reference_iterator *iter); + + /** + * Free the iterator + */ + void GIT_CALLBACK(free)( + git_reference_iterator *iter); +}; + +/** An instance for a custom backend */ +struct git_refdb_backend { + unsigned int version; /**< The backend API version */ + + /** + * Queries the refdb backend for the existence of a reference. + * + * A refdb implementation must provide this function. + * + * @param exists The implementation shall set this to `0` if a ref does + * not exist, otherwise to `1`. + * @param ref_name The reference's name that should be checked for + * existence. + * @return `0` on success, a negative error value code. + */ + int GIT_CALLBACK(exists)( + int *exists, + git_refdb_backend *backend, + const char *ref_name); + + /** + * Queries the refdb backend for a given reference. + * + * A refdb implementation must provide this function. + * + * @param out The implementation shall set this to the allocated + * reference, if it could be found, otherwise to `NULL`. + * @param ref_name The reference's name that should be checked for + * existence. + * @return `0` on success, `GIT_ENOTFOUND` if the reference does + * exist, otherwise a negative error code. + */ + int GIT_CALLBACK(lookup)( + git_reference **out, + git_refdb_backend *backend, + const char *ref_name); + + /** + * Allocate an iterator object for the backend. + * + * A refdb implementation must provide this function. + * + * @param out The implementation shall set this to the allocated + * reference iterator. A custom structure may be used with an + * embedded `git_reference_iterator` structure. Both `next` + * and `next_name` functions of `git_reference_iterator` need + * to be populated. + * @param glob A pattern to filter references by. If given, the iterator + * shall only return references that match the glob when + * passed to `wildmatch`. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(iterator)( + git_reference_iterator **iter, + struct git_refdb_backend *backend, + const char *glob); + + /** + * Writes the given reference to the refdb. + * + * A refdb implementation must provide this function. + * + * @param ref The reference to persist. May either be a symbolic or + * direct reference. + * @param force Whether to write the reference if a reference with the + * same name already exists. + * @param who The person updating the reference. Shall be used to create + * a reflog entry. + * @param message The message detailing what kind of reference update is + * performed. Shall be used to create a reflog entry. + * @param old If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the reference is currently at + * the given OID before writing the new value. If both `old` + * and `old_target` are `NULL`, then the reference should not + * exist at the point of writing. + * @param old_target If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the symbolic + * reference is currently at the given target before + * writing the new value. If both `old` and + * `old_target` are `NULL`, then the reference should + * not exist at the point of writing. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(write)(git_refdb_backend *backend, + const git_reference *ref, int force, + const git_signature *who, const char *message, + const git_oid *old, const char *old_target); + + /** + * Rename a reference in the refdb. + * + * A refdb implementation must provide this function. + * + * @param out The implementation shall set this to the newly created + * reference or `NULL` on error. + * @param old_name The current name of the reference that is to be renamed. + * @param new_name The new name that the old reference shall be renamed to. + * @param force Whether to write the reference if a reference with the + * target name already exists. + * @param who The person updating the reference. Shall be used to create + * a reflog entry. + * @param message The message detailing what kind of reference update is + * performed. Shall be used to create a reflog entry. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(rename)( + git_reference **out, git_refdb_backend *backend, + const char *old_name, const char *new_name, int force, + const git_signature *who, const char *message); + + /** + * Deletes the given reference from the refdb. + * + * If it exists, its reflog should be deleted as well. + * + * A refdb implementation must provide this function. + * + * @param ref_name The name of the reference name that shall be deleted. + * @param old_id If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the reference is currently at + * the given OID before writing the new value. + * @param old_target If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the symbolic + * reference is currently at the given target before + * writing the new value. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(del)(git_refdb_backend *backend, const char *ref_name, const git_oid *old_id, const char *old_target); + + /** + * Suggests that the given refdb compress or optimize its references. + * + * This mechanism is implementation specific. For on-disk reference + * databases, this may pack all loose references. + * + * A refdb implementation may provide this function; if it is not + * provided, nothing will be done. + * + * @return `0` on success a negative error code otherwise + */ + int GIT_CALLBACK(compress)(git_refdb_backend *backend); + + /** + * Query whether a particular reference has a log (may be empty) + * + * Shall return 1 if it has a reflog, 0 it it doesn't and negative in + * case an error occurred. + * + * A refdb implementation must provide this function. + * + * @return `0` on success, `1` if the reflog for the given reference + * exists, a negative error code otherwise + */ + int GIT_CALLBACK(has_log)(git_refdb_backend *backend, const char *refname); + + /** + * Make sure a particular reference will have a reflog which + * will be appended to on writes. + * + * A refdb implementation must provide this function. + * + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(ensure_log)(git_refdb_backend *backend, const char *refname); + + /** + * Frees any resources held by the refdb (including the `git_refdb_backend` + * itself). + * + * A refdb backend implementation must provide this function. + */ + void GIT_CALLBACK(free)(git_refdb_backend *backend); + + /** + * Read the reflog for the given reference name. + * + * A refdb implementation must provide this function. + * + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_read)(git_reflog **out, git_refdb_backend *backend, const char *name); + + /** + * Write a reflog to disk. + * + * A refdb implementation must provide this function. + * + * @param reflog The complete reference log for a given reference. Note + * that this may contain entries that have already been + * written to disk. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_write)(git_refdb_backend *backend, git_reflog *reflog); + + /** + * Rename a reflog. + * + * A refdb implementation must provide this function. + * + * @param old_name The name of old reference whose reflog shall be renamed from. + * @param new_name The name of new reference whose reflog shall be renamed to. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_rename)(git_refdb_backend *_backend, const char *old_name, const char *new_name); + + /** + * Remove a reflog. + * + * A refdb implementation must provide this function. + * + * @param name The name of the reference whose reflog shall be deleted. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_delete)(git_refdb_backend *backend, const char *name); + + /** + * Lock a reference. + * + * A refdb implementation may provide this function; if it is not + * provided, the transaction API will fail to work. + * + * @param payload_out Opaque parameter that will be passed verbosely to + * `unlock`. + * @param refname Reference that shall be locked. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(lock)(void **payload_out, git_refdb_backend *backend, const char *refname); + + /** + * Unlock a reference. + * + * Only one of target or symbolic_target will be set. + * `success` will be true if the reference should be update, false if + * the lock must be discarded. + * + * A refdb implementation must provide this function if a `lock` + * implementation is provided. + * + * @param payload The payload returned by `lock`. + * @param success `1` if a reference should be updated, `2` if + * a reference should be deleted, `0` if the lock must be + * discarded. + * @param update_reflog `1` in case the reflog should be updated, `0` + * otherwise. + * @param ref The reference which should be unlocked. + * @param who The person updating the reference. Shall be used to create + * a reflog entry in case `update_reflog` is set. + * @param message The message detailing what kind of reference update is + * performed. Shall be used to create a reflog entry in + * case `update_reflog` is set. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(unlock)(git_refdb_backend *backend, void *payload, int success, int update_reflog, + const git_reference *ref, const git_signature *sig, const char *message); +}; + +/** Current version for the `git_refdb_backend_options` structure */ +#define GIT_REFDB_BACKEND_VERSION 1 + +/** Static constructor for `git_refdb_backend_options` */ +#define GIT_REFDB_BACKEND_INIT {GIT_REFDB_BACKEND_VERSION} + +/** + * Initializes a `git_refdb_backend` with default values. Equivalent to + * creating an instance with GIT_REFDB_BACKEND_INIT. + * + * @param backend the `git_refdb_backend` struct to initialize + * @param version Version of struct; pass `GIT_REFDB_BACKEND_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_refdb_init_backend( + git_refdb_backend *backend, + unsigned int version); + +/** + * Constructors for default filesystem-based refdb backend + * + * Under normal usage, this is called for you when the repository is + * opened / created, but you can use this to explicitly construct a + * filesystem refdb backend for a repository. + * + * @param backend_out Output pointer to the git_refdb_backend object + * @param repo Git repository to access + * @return 0 on success, <0 error code on failure + */ +GIT_EXTERN(int) git_refdb_backend_fs( + git_refdb_backend **backend_out, + git_repository *repo); + +/** + * Sets the custom backend to an existing reference DB + * + * The `git_refdb` will take ownership of the `git_refdb_backend` so you + * should NOT free it after calling this function. + * + * @param refdb database to add the backend to + * @param backend pointer to a git_refdb_backend instance + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_refdb_set_backend( + git_refdb *refdb, + git_refdb_backend *backend); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/refs.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/refs.h new file mode 100644 index 00000000..e434e67c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/refs.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_refdb_h__ +#define INCLUDE_sys_git_refdb_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/refs.h + * @brief Low-level git reference creation + * @defgroup git_backend Low-level git reference creation + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new direct reference from an OID. + * + * @param name the reference name + * @param oid the object id for a direct reference + * @param peel the first non-tag object's OID, or NULL + * @return the created git_reference or NULL on error + */ +GIT_EXTERN(git_reference *) git_reference__alloc( + const char *name, + const git_oid *oid, + const git_oid *peel); + +/** + * Create a new symbolic reference. + * + * @param name the reference name + * @param target the target for a symbolic reference + * @return the created git_reference or NULL on error + */ +GIT_EXTERN(git_reference *) git_reference__alloc_symbolic( + const char *name, + const char *target); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/remote.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/remote.h new file mode 100644 index 00000000..476965da --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/remote.h @@ -0,0 +1,53 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_remote_h +#define INCLUDE_sys_git_remote_h + +#include "git2/remote.h" + +/** + * @file git2/sys/remote.h + * @brief Low-level remote functionality for custom transports + * @defgroup git_remote Low-level remote functionality for custom transports + * @ingroup Git + * @{ +*/ + +GIT_BEGIN_DECL + +/** + * A remote's capabilities. + */ +typedef enum { + /** Remote supports fetching an advertised object by ID. */ + GIT_REMOTE_CAPABILITY_TIP_OID = (1 << 0), + + /** Remote supports fetching an individual reachable object. */ + GIT_REMOTE_CAPABILITY_REACHABLE_OID = (1 << 1), + + /** Remote supports push options. */ + GIT_REMOTE_CAPABILITY_PUSH_OPTIONS = (1 << 2), +} git_remote_capability_t; + +/** + * Disposes libgit2-initialized fields from a git_remote_connect_options. + * This should only be used for git_remote_connect_options returned by + * git_transport_remote_connect_options. + * + * Note that this does not free the `git_remote_connect_options` itself, just + * the memory pointed to by it. + * + * @param opts The `git_remote_connect_options` struct to dispose. + */ +GIT_EXTERN(void) git_remote_connect_options_dispose( + git_remote_connect_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/repository.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/repository.h new file mode 100644 index 00000000..026ac8a1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/repository.h @@ -0,0 +1,240 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_repository_h__ +#define INCLUDE_sys_git_repository_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/repository.h + * @brief Custom repository handling + * @defgroup git_repository Custom repository handling + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * The options for creating an repository from scratch. + * + * Initialize with `GIT_REPOSITORY_NEW_OPTIONS_INIT`. Alternatively, + * you can use `git_repository_new_options_init`. + * + * @options[version] GIT_REPOSITORY_NEW_OPTIONS_VERSION + * @options[init_macro] GIT_REPOSITORY_NEW_OPTIONS_INIT + * @options[init_function] git_repository_new_options_init + */ +typedef struct git_repository_new_options { + unsigned int version; /**< The version */ + + /** + * The object ID type for the object IDs that exist in the index. + * + * If this is not specified, this defaults to `GIT_OID_SHA1`. + */ + git_oid_t oid_type; +} git_repository_new_options; + +/** Current version for the `git_repository_new_options` structure */ +#define GIT_REPOSITORY_NEW_OPTIONS_VERSION 1 + +/** Static constructor for `git_repository_new_options` */ +#define GIT_REPOSITORY_NEW_OPTIONS_INIT { GIT_REPOSITORY_NEW_OPTIONS_VERSION } + +/** + * Initialize git_repository_new_options structure + * + * Initializes a `git_repository_new_options` with default values. + * Equivalent to creating an instance with + * `GIT_REPOSITORY_NEW_OPTIONS_INIT`. + * + * @param opts The `git_repository_new_options` struct to initialize. + * @param version The struct version; pass `GIT_REPOSITORY_NEW_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_repository_new_options_init( + git_repository_new_options *opts, + unsigned int version); + +/** + * Create a new repository with no backends. + * + * @param[out] out The blank repository + * @param opts the options for repository creation, or NULL for defaults + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_new(git_repository **out, git_repository_new_options *opts); +#else + +/** + * Create a new repository with neither backends nor config object + * + * Note that this is only useful if you wish to associate the repository + * with a non-filesystem-backed object database and config store. + * + * Caveats: since this repository has no physical location, some systems + * can fail to function properly: locations under $GIT_DIR, $GIT_COMMON_DIR, + * or $GIT_INFO_DIR are impacted. + * + * @param[out] out The blank repository + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_new(git_repository **out); + +#endif + +/** + * Reset all the internal state in a repository. + * + * This will free all the mapped memory and internal objects + * of the repository and leave it in a "blank" state. + * + * There's no need to call this function directly unless you're + * trying to aggressively cleanup the repo before its + * deallocation. `git_repository_free` already performs this operation + * before deallocating the repo. + * + * @param repo The repository to clean up + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository__cleanup(git_repository *repo); + +/** + * Update the filesystem config settings for an open repository + * + * When a repository is initialized, config values are set based on the + * properties of the filesystem that the repository is on, such as + * "core.ignorecase", "core.filemode", "core.symlinks", etc. If the + * repository is moved to a new filesystem, these properties may no + * longer be correct and API calls may not behave as expected. This + * call reruns the phase of repository initialization that sets those + * properties to compensate for the current filesystem of the repo. + * + * @param repo A repository object + * @param recurse_submodules Should submodules be updated recursively + * @return 0 on success, < 0 on error + */ +GIT_EXTERN(int) git_repository_reinit_filesystem( + git_repository *repo, + int recurse_submodules); + +/** + * Set the configuration file for this repository + * + * This configuration file will be used for all configuration + * queries involving this repository. + * + * The repository will keep a reference to the config file; + * the user must still free the config after setting it + * to the repository, or it will leak. + * + * @param repo A repository object + * @param config A Config object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_config(git_repository *repo, git_config *config); + +/** + * Set the Object Database for this repository + * + * The ODB will be used for all object-related operations + * involving this repository. + * + * The repository will keep a reference to the ODB; the user + * must still free the ODB object after setting it to the + * repository, or it will leak. + * + * @param repo A repository object + * @param odb An ODB object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_odb(git_repository *repo, git_odb *odb); + +/** + * Set the Reference Database Backend for this repository + * + * The refdb will be used for all reference related operations + * involving this repository. + * + * The repository will keep a reference to the refdb; the user + * must still free the refdb object after setting it to the + * repository, or it will leak. + * + * @param repo A repository object + * @param refdb An refdb object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_refdb(git_repository *repo, git_refdb *refdb); + +/** + * Set the index file for this repository + * + * This index will be used for all index-related operations + * involving this repository. + * + * The repository will keep a reference to the index file; + * the user must still free the index after setting it + * to the repository, or it will leak. + * + * @param repo A repository object + * @param index An index object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_index(git_repository *repo, git_index *index); + +/** + * Set a repository to be bare. + * + * Clear the working directory and set core.bare to true. You may also + * want to call `git_repository_set_index(repo, NULL)` since a bare repo + * typically does not have an index, but this function will not do that + * for you. + * + * @param repo Repo to make bare + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_repository_set_bare(git_repository *repo); + +/** + * Load and cache all submodules. + * + * Because the `.gitmodules` file is unstructured, loading submodules is an + * O(N) operation. Any operation (such as `git_rebase_init`) that requires + * accessing all submodules is O(N^2) in the number of submodules, if it + * has to look each one up individually. This function loads all submodules + * and caches them so that subsequent calls to `git_submodule_lookup` are O(1). + * + * @param repo the repository whose submodules will be cached. + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_submodule_cache_all( + git_repository *repo); + +/** + * Clear the submodule cache. + * + * Clear the submodule cache populated by `git_repository_submodule_cache_all`. + * If there is no cache, do nothing. + * + * The cache incorporates data from the repository's configuration, as well + * as the state of the working tree, the index, and HEAD. So any time any + * of these has changed, the cache might become invalid. + * + * @param repo the repository whose submodule cache will be cleared + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_submodule_cache_clear( + git_repository *repo); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/stream.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/stream.h new file mode 100644 index 00000000..eabff686 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/stream.h @@ -0,0 +1,161 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_stream_h__ +#define INCLUDE_sys_git_stream_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/proxy.h" + +/** + * @file git2/sys/stream.h + * @brief Streaming file I/O functionality + * @defgroup git_stream Streaming file I/O functionality + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Current version for the `git_stream` structures */ +#define GIT_STREAM_VERSION 1 + +/** + * Every stream must have this struct as its first element, so the + * API can talk to it. You'd define your stream as + * + * struct my_stream { + * git_stream parent; + * ... + * } + * + * and fill the functions + */ +typedef struct git_stream { + int version; + + unsigned int encrypted : 1, + proxy_support : 1; + + /** + * Timeout for read and write operations; can be set to `0` to + * block indefinitely. + */ + int timeout; + + /** + * Timeout to connect to the remote server; can be set to `0` + * to use the system defaults. This can be shorter than the + * system default - often 75 seconds - but cannot be longer. + */ + int connect_timeout; + + int GIT_CALLBACK(connect)(struct git_stream *); + int GIT_CALLBACK(certificate)(git_cert **, struct git_stream *); + int GIT_CALLBACK(set_proxy)(struct git_stream *, const git_proxy_options *proxy_opts); + ssize_t GIT_CALLBACK(read)(struct git_stream *, void *, size_t); + ssize_t GIT_CALLBACK(write)(struct git_stream *, const char *, size_t, int); + int GIT_CALLBACK(close)(struct git_stream *); + void GIT_CALLBACK(free)(struct git_stream *); +} git_stream; + +typedef struct { + /** The `version` field should be set to `GIT_STREAM_VERSION`. */ + int version; + + /** + * Called to create a new connection to a given host. + * + * @param out The created stream + * @param host The hostname to connect to; may be a hostname or + * IP address + * @param port The port to connect to; may be a port number or + * service name + * @return 0 or an error code + */ + int GIT_CALLBACK(init)(git_stream **out, const char *host, const char *port); + + /** + * Called to create a new connection on top of the given stream. If + * this is a TLS stream, then this function may be used to proxy a + * TLS stream over an HTTP CONNECT session. If this is unset, then + * HTTP CONNECT proxies will not be supported. + * + * @param out The created stream + * @param in An existing stream to add TLS to + * @param host The hostname that the stream is connected to, + * for certificate validation + * @return 0 or an error code + */ + int GIT_CALLBACK(wrap)(git_stream **out, git_stream *in, const char *host); +} git_stream_registration; + +/** + * The type of stream to register. + */ +typedef enum { + /** A standard (non-TLS) socket. */ + GIT_STREAM_STANDARD = 1, + + /** A TLS-encrypted socket. */ + GIT_STREAM_TLS = 2 +} git_stream_t; + +/** + * Register stream constructors for the library to use + * + * If a registration structure is already set, it will be overwritten. + * Pass `NULL` in order to deregister the current constructor and return + * to the system defaults. + * + * The type parameter may be a bitwise AND of types. + * + * @param type the type or types of stream to register + * @param registration the registration data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_stream_register( + git_stream_t type, git_stream_registration *registration); + +#ifndef GIT_DEPRECATE_HARD + +/** @name Deprecated TLS Stream Registration Functions + * + * These functions are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * @deprecated Provide a git_stream_registration to git_stream_register + * @see git_stream_registration + */ +typedef int GIT_CALLBACK(git_stream_cb)(git_stream **out, const char *host, const char *port); + +/** + * Register a TLS stream constructor for the library to use. This stream + * will not support HTTP CONNECT proxies. This internally calls + * `git_stream_register` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Provide a git_stream_registration to git_stream_register + * @see git_stream_register + */ +GIT_EXTERN(int) git_stream_register_tls(git_stream_cb ctor); + +/**@}*/ + +#endif + +/**@}*/ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/transport.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/transport.h new file mode 100644 index 00000000..ad6765c6 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/sys/transport.h @@ -0,0 +1,486 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_transport_h +#define INCLUDE_sys_git_transport_h + +#include "git2/net.h" +#include "git2/oidarray.h" +#include "git2/proxy.h" +#include "git2/remote.h" +#include "git2/strarray.h" +#include "git2/transport.h" +#include "git2/types.h" + +/** + * @file git2/sys/transport.h + * @brief Custom transport registration interfaces and functions + * @defgroup git_transport Custom transport registration + * @ingroup Git + * + * Callers can override the default HTTPS or SSH implementation by + * specifying a custom transport. + * @{ + */ + +GIT_BEGIN_DECL + +/** + * The negotiation state during a fetch smart transport negotiation. + */ +typedef struct { + const git_remote_head * const *refs; + size_t refs_len; + git_oid *shallow_roots; + size_t shallow_roots_len; + int depth; +} git_fetch_negotiation; + +struct git_transport { + unsigned int version; /**< The struct version */ + + /** + * Connect the transport to the remote repository, using the given + * direction. + */ + int GIT_CALLBACK(connect)( + git_transport *transport, + const char *url, + int direction, + const git_remote_connect_options *connect_opts); + + /** + * Resets the connect options for the given transport. This + * is useful for updating settings or callbacks for an already + * connected transport. + */ + int GIT_CALLBACK(set_connect_opts)( + git_transport *transport, + const git_remote_connect_options *connect_opts); + + /** + * Gets the capabilities for this remote repository. + * + * This function may be called after a successful call to + * `connect()`. + */ + int GIT_CALLBACK(capabilities)( + unsigned int *capabilities, + git_transport *transport); + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** + * Gets the object type for the remote repository. + * + * This function may be called after a successful call to + * `connect()`. + */ + int GIT_CALLBACK(oid_type)( + git_oid_t *object_type, + git_transport *transport); +#endif + + /** + * Get the list of available references in the remote repository. + * + * This function may be called after a successful call to + * `connect()`. The array returned is owned by the transport and + * must be kept valid until the next call to one of its functions. + */ + int GIT_CALLBACK(ls)( + const git_remote_head ***out, + size_t *size, + git_transport *transport); + + /** Executes the push whose context is in the git_push object. */ + int GIT_CALLBACK(push)( + git_transport *transport, + git_push *push); + + /** + * Negotiate a fetch with the remote repository. + * + * This function may be called after a successful call to `connect()`, + * when the direction is GIT_DIRECTION_FETCH. The function performs a + * negotiation to calculate the `wants` list for the fetch. + */ + int GIT_CALLBACK(negotiate_fetch)( + git_transport *transport, + git_repository *repo, + const git_fetch_negotiation *fetch_data); + + /** + * Return the shallow roots of the remote. + * + * This function may be called after a successful call to + * `negotiate_fetch`. + */ + int GIT_CALLBACK(shallow_roots)( + git_oidarray *out, + git_transport *transport); + + /** + * Start downloading the packfile from the remote repository. + * + * This function may be called after a successful call to + * negotiate_fetch(), when the direction is GIT_DIRECTION_FETCH. + */ + int GIT_CALLBACK(download_pack)( + git_transport *transport, + git_repository *repo, + git_indexer_progress *stats); + + /** Checks to see if the transport is connected */ + int GIT_CALLBACK(is_connected)(git_transport *transport); + + /** Cancels any outstanding transport operation */ + void GIT_CALLBACK(cancel)(git_transport *transport); + + /** + * Close the connection to the remote repository. + * + * This function is the reverse of connect() -- it terminates the + * connection to the remote end. + */ + int GIT_CALLBACK(close)(git_transport *transport); + + /** Frees/destructs the git_transport object. */ + void GIT_CALLBACK(free)(git_transport *transport); +}; + +/** Current version for the `git_transport` structure */ +#define GIT_TRANSPORT_VERSION 1 + +/** Static constructor for `git_transport` */ +#define GIT_TRANSPORT_INIT {GIT_TRANSPORT_VERSION} + +/** + * Initializes a `git_transport` with default values. Equivalent to + * creating an instance with GIT_TRANSPORT_INIT. + * + * @param opts the `git_transport` struct to initialize + * @param version Version of struct; pass `GIT_TRANSPORT_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_transport_init( + git_transport *opts, + unsigned int version); + +/** + * Function to use to create a transport from a URL. The transport database + * is scanned to find a transport that implements the scheme of the URI (i.e. + * git:// or http://) and a transport object is returned to the caller. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param url The URL to connect to + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_new(git_transport **out, git_remote *owner, const char *url); + +/** + * Create an ssh transport with custom git command paths + * + * This is a factory function suitable for setting as the transport + * callback in a remote (or for a clone in the options). + * + * The payload argument must be a strarray pointer with the paths for + * the `git-upload-pack` and `git-receive-pack` at index 0 and 1. + * + * @param out the resulting transport + * @param owner the owning remote + * @param payload a strarray with the paths + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_ssh_with_paths(git_transport **out, git_remote *owner, void *payload); + +/** + * Add a custom transport definition, to be used in addition to the built-in + * set of transports that come with libgit2. + * + * The caller is responsible for synchronizing calls to git_transport_register + * and git_transport_unregister with other calls to the library that + * instantiate transports. + * + * @param prefix The scheme (ending in "://") to match, i.e. "git://" + * @param cb The callback used to create an instance of the transport + * @param param A fixed parameter to pass to cb at creation time + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_register( + const char *prefix, + git_transport_cb cb, + void *param); + +/** + * Unregister a custom transport definition which was previously registered + * with git_transport_register. + * + * The caller is responsible for synchronizing calls to git_transport_register + * and git_transport_unregister with other calls to the library that + * instantiate transports. + * + * @param prefix From the previous call to git_transport_register + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_unregister( + const char *prefix); + +/* Transports which come with libgit2 (match git_transport_cb). The expected + * value for "param" is listed in-line below. */ + +/** + * Create an instance of the dummy transport. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param payload You must pass NULL for this parameter. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_dummy( + git_transport **out, + git_remote *owner, + /* NULL */ void *payload); + +/** + * Create an instance of the local transport. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param payload You must pass NULL for this parameter. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_local( + git_transport **out, + git_remote *owner, + /* NULL */ void *payload); + +/** + * Create an instance of the smart transport. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param payload A pointer to a git_smart_subtransport_definition + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_smart( + git_transport **out, + git_remote *owner, + /* (git_smart_subtransport_definition *) */ void *payload); + +/** + * Call the certificate check for this transport. + * + * @param transport a smart transport + * @param cert the certificate to pass to the caller + * @param valid whether we believe the certificate is valid + * @param hostname the hostname we connected to + * @return the return value of the callback: 0 for no error, GIT_PASSTHROUGH + * to indicate that there is no callback registered (or the callback + * refused to validate the certificate and callers should behave as + * if no callback was set), or < 0 for an error + */ +GIT_EXTERN(int) git_transport_smart_certificate_check(git_transport *transport, git_cert *cert, int valid, const char *hostname); + +/** + * Call the credentials callback for this transport + * + * @param out the pointer where the creds are to be stored + * @param transport a smart transport + * @param user the user we saw on the url (if any) + * @param methods available methods for authentication + * @return the return value of the callback: 0 for no error, GIT_PASSTHROUGH + * to indicate that there is no callback registered (or the callback + * refused to provide credentials and callers should behave as if no + * callback was set), or < 0 for an error + */ +GIT_EXTERN(int) git_transport_smart_credentials(git_credential **out, git_transport *transport, const char *user, int methods); + +/** + * Get a copy of the remote connect options + * + * All data is copied and must be freed by the caller by calling + * `git_remote_connect_options_dispose`. + * + * @param out options struct to fill + * @param transport the transport to extract the data from. + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_transport_remote_connect_options( + git_remote_connect_options *out, + git_transport *transport); + +/* + *** End of base transport interface *** + *** Begin interface for subtransports for the smart transport *** + */ + +/** Actions that the smart transport can ask a subtransport to perform */ +typedef enum { + GIT_SERVICE_UPLOADPACK_LS = 1, + GIT_SERVICE_UPLOADPACK = 2, + GIT_SERVICE_RECEIVEPACK_LS = 3, + GIT_SERVICE_RECEIVEPACK = 4 +} git_smart_service_t; + +typedef struct git_smart_subtransport git_smart_subtransport; +typedef struct git_smart_subtransport_stream git_smart_subtransport_stream; + +/** + * A stream used by the smart transport to read and write data + * from a subtransport. + * + * This provides a customization point in case you need to + * support some other communication method. + */ +struct git_smart_subtransport_stream { + git_smart_subtransport *subtransport; /**< The owning subtransport */ + + /** + * Read available data from the stream. + * + * The implementation may read less than requested. + */ + int GIT_CALLBACK(read)( + git_smart_subtransport_stream *stream, + char *buffer, + size_t buf_size, + size_t *bytes_read); + + /** + * Write data to the stream + * + * The implementation must write all data or return an error. + */ + int GIT_CALLBACK(write)( + git_smart_subtransport_stream *stream, + const char *buffer, + size_t len); + + /** Free the stream */ + void GIT_CALLBACK(free)( + git_smart_subtransport_stream *stream); +}; + +/** + * An implementation of a subtransport which carries data for the + * smart transport + */ +struct git_smart_subtransport { + /** + * Setup a subtransport stream for the requested action. + */ + int GIT_CALLBACK(action)( + git_smart_subtransport_stream **out, + git_smart_subtransport *transport, + const char *url, + git_smart_service_t action); + + /** + * Close the subtransport. + * + * Subtransports are guaranteed a call to close() between + * calls to action(), except for the following two "natural" progressions + * of actions against a constant URL: + * + * - UPLOADPACK_LS -> UPLOADPACK + * - RECEIVEPACK_LS -> RECEIVEPACK + */ + int GIT_CALLBACK(close)(git_smart_subtransport *transport); + + /** Free the subtransport */ + void GIT_CALLBACK(free)(git_smart_subtransport *transport); +}; + +/** + * A function that creates a new subtransport for the smart transport + * + * @param out the smart subtransport + * @param owner the transport owner + * @param param the input parameter + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_smart_subtransport_cb)( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** + * Definition for a "subtransport" + * + * The smart transport knows how to speak the git protocol, but it has no + * knowledge of how to establish a connection between it and another endpoint, + * or how to move data back and forth. For this, a subtransport interface is + * declared, and the smart transport delegates this work to the subtransports. + * + * Three subtransports are provided by libgit2: ssh, git, http(s). + * + * Subtransports can either be RPC = 0 (persistent connection) or RPC = 1 + * (request/response). The smart transport handles the differences in its own + * logic. The git subtransport is RPC = 0, while http is RPC = 1. + */ +typedef struct git_smart_subtransport_definition { + /** The function to use to create the git_smart_subtransport */ + git_smart_subtransport_cb callback; + + /** + * True if the protocol is stateless; false otherwise. For example, + * http:// is stateless, but git:// is not. + */ + unsigned rpc; + + /** User-specified parameter passed to the callback */ + void *param; +} git_smart_subtransport_definition; + +/* Smart transport subtransports that come with libgit2 */ + +/** + * Create an instance of the http subtransport. + * + * This subtransport also supports https. + * + * @param out The newly created subtransport + * @param owner The smart transport to own this subtransport + * @param param custom parameters for the subtransport + * @return 0 or an error code + */ +GIT_EXTERN(int) git_smart_subtransport_http( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** + * Create an instance of the git subtransport. + * + * @param out The newly created subtransport + * @param owner The smart transport to own this subtransport + * @param param custom parameters for the subtransport + * @return 0 or an error code + */ +GIT_EXTERN(int) git_smart_subtransport_git( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** + * Create an instance of the ssh subtransport. + * + * @param out The newly created subtransport + * @param owner The smart transport to own this subtransport + * @param param custom parameters for the subtransport + * @return 0 or an error code + */ +GIT_EXTERN(int) git_smart_subtransport_ssh( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/tag.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/tag.h new file mode 100644 index 00000000..3b0c12eb --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/tag.h @@ -0,0 +1,385 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_tag_h__ +#define INCLUDE_git_tag_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" +#include "strarray.h" + +/** + * @file git2/tag.h + * @brief A (nearly) immutable pointer to a commit; useful for versioning + * @defgroup git_tag Git tag management + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a tag object from the repository. + * + * @param out pointer to the looked up tag + * @param repo the repo to use when locating the tag. + * @param id identity of the tag to locate. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_lookup( + git_tag **out, git_repository *repo, const git_oid *id); + +/** + * Lookup a tag object from the repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param out pointer to the looked up tag + * @param repo the repo to use when locating the tag. + * @param id identity of the tag to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_lookup_prefix( + git_tag **out, git_repository *repo, const git_oid *id, size_t len); + +/** + * Close an open tag + * + * You can no longer use the git_tag pointer after this call. + * + * 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. + * + * @param tag the tag to close + */ +GIT_EXTERN(void) git_tag_free(git_tag *tag); + +/** + * Get the id of a tag. + * + * @param tag a previously loaded tag. + * @return object identity for the tag. + */ +GIT_EXTERN(const git_oid *) git_tag_id(const git_tag *tag); + +/** + * Get the repository that contains the tag. + * + * @param tag A previously loaded tag. + * @return Repository that contains this tag. + */ +GIT_EXTERN(git_repository *) git_tag_owner(const git_tag *tag); + +/** + * Get the tagged object of a tag + * + * This method performs a repository lookup for the + * given object and returns it + * + * @param target_out pointer where to store the target + * @param tag a previously loaded tag. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_target(git_object **target_out, const git_tag *tag); + +/** + * Get the OID of the tagged object of a tag + * + * @param tag a previously loaded tag. + * @return pointer to the OID + */ +GIT_EXTERN(const git_oid *) git_tag_target_id(const git_tag *tag); + +/** + * Get the type of a tag's tagged object + * + * @param tag a previously loaded tag. + * @return type of the tagged object + */ +GIT_EXTERN(git_object_t) git_tag_target_type(const git_tag *tag); + +/** + * Get the name of a tag + * + * @param tag a previously loaded tag. + * @return name of the tag + */ +GIT_EXTERN(const char *) git_tag_name(const git_tag *tag); + +/** + * Get the tagger (author) of a tag + * + * @param tag a previously loaded tag. + * @return reference to the tag's author or NULL when unspecified + */ +GIT_EXTERN(const git_signature *) git_tag_tagger(const git_tag *tag); + +/** + * Get the message of a tag + * + * @param tag a previously loaded tag. + * @return message of the tag or NULL when unspecified + */ +GIT_EXTERN(const char *) git_tag_message(const git_tag *tag); + + +/** + * Create a new tag in the repository from an object + * + * 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. + * + * The message will not be cleaned up. This can be achieved + * through `git_message_prettify()`. + * + * The tag name will be checked for validity. You must avoid + * the characters '~', '^', ':', '\\', '?', '[', and '*', and the + * sequences ".." and "@{" which have special meaning to revparse. + * + * @param oid Pointer where to store the OID of the + * newly created tag. If the tag already exists, this parameter + * will be the oid of the existing tag, and the function will + * return a GIT_EEXISTS error code. + * + * @param repo Repository where to store the tag + * + * @param tag_name Name for the tag; this name is validated + * for consistency. It should also not conflict with an + * already existing tag name + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param tagger Signature of the tagger for this tag, and + * of the tagging time + * + * @param message Full message for this tag + * + * @param force Overwrite existing references + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code + * A tag object is written to the ODB, and a proper reference + * is written in the /refs/tags folder, pointing to it + */ +GIT_EXTERN(int) git_tag_create( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + const git_signature *tagger, + const char *message, + int force); + +/** + * Create a new tag in the object database pointing to a git_object + * + * The message will not be cleaned up. This can be achieved + * through `git_message_prettify()`. + * + * @param oid Pointer where to store the OID of the + * newly created tag + * + * @param repo Repository where to store the tag + * + * @param tag_name Name for the tag + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param tagger Signature of the tagger for this tag, and + * of the tagging time + * + * @param message Full message for this tag + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_tag_annotation_create( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + const git_signature *tagger, + const char *message); + +/** + * Create a new tag in the repository from a buffer + * + * @param oid Pointer where to store the OID of the newly created tag + * @param repo Repository where to store the tag + * @param buffer Raw tag data + * @param force Overwrite existing tags + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_tag_create_from_buffer( + git_oid *oid, + git_repository *repo, + const char *buffer, + int force); + +/** + * Create a new lightweight tag pointing at a target object + * + * 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. + * + * The tag name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param oid Pointer where to store the OID of the provided + * target object. If the tag already exists, this parameter + * will be filled with the oid of the existing pointed object + * and the function will return a GIT_EEXISTS error code. + * + * @param repo Repository where to store the lightweight tag + * + * @param tag_name Name for the tag; this name is validated + * for consistency. It should also not conflict with an + * already existing tag name + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param force Overwrite existing references + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code + * A proper reference is written in the /refs/tags folder, + * pointing to the provided target object + */ +GIT_EXTERN(int) git_tag_create_lightweight( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + int force); + +/** + * Delete an existing tag reference. + * + * The tag name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param repo Repository where lives the tag + * + * @param tag_name Name of the tag to be deleted; + * this name is validated for consistency. + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_tag_delete( + git_repository *repo, + const char *tag_name); + +/** + * Fill a list with all the tags in the Repository + * + * 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`. + * + * @param tag_names Pointer to a git_strarray structure where + * the tag names will be stored + * @param repo Repository where to find the tags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_list( + git_strarray *tag_names, + git_repository *repo); + +/** + * Fill a list with all the tags in the Repository + * which name match a defined pattern + * + * If an empty pattern is provided, all the tags + * will be returned. + * + * 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`. + * + * @param tag_names Pointer to a git_strarray structure where + * the tag names will be stored + * @param pattern Standard fnmatch pattern + * @param repo Repository where to find the tags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_list_match( + git_strarray *tag_names, + const char *pattern, + git_repository *repo); + +/** + * Callback used to iterate over tag names + * + * @see git_tag_foreach + * + * @param name The tag name + * @param oid The tag's OID + * @param payload Payload passed to git_tag_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_tag_foreach_cb)(const char *name, git_oid *oid, void *payload); + +/** + * Call callback `cb' for each tag in the repository + * + * @param repo Repository + * @param callback Callback function + * @param payload Pointer to callback data (optional) + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_tag_foreach( + git_repository *repo, + git_tag_foreach_cb callback, + void *payload); + + +/** + * Recursively peel a tag until a non tag git_object is found + * + * The retrieved `tag_target` object is owned by the repository + * and should be closed with the `git_object_free` method. + * + * @param tag_target_out Pointer to the peeled git_object + * @param tag The tag to be processed + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_peel( + git_object **tag_target_out, + const git_tag *tag); + +/** + * Create an in-memory copy of a tag. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the tag + * @param source Original tag to copy + * @return 0 + */ +GIT_EXTERN(int) git_tag_dup(git_tag **out, git_tag *source); + +/** + * Determine whether a tag name is valid, meaning that (when prefixed + * with `refs/tags/`) that it is a valid reference name, and that any + * additional tag name restrictions are imposed (eg, it cannot start + * with a `-`). + * + * @param valid output pointer to set with validity of given tag name + * @param name a tag name to test + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_tag_name_is_valid(int *valid, const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/trace.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/trace.h new file mode 100644 index 00000000..62cb87c0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/trace.h @@ -0,0 +1,73 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_trace_h__ +#define INCLUDE_git_trace_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/trace.h + * @brief Tracing functionality to introspect libgit2 in your application + * @defgroup git_trace Tracing functionality to introspect libgit2 in your application + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Available tracing levels. When tracing is set to a particular level, + * callers will be provided tracing at the given level and all lower levels. + */ +typedef enum { + /** No tracing will be performed. */ + GIT_TRACE_NONE = 0, + + /** Severe errors that may impact the program's execution */ + GIT_TRACE_FATAL = 1, + + /** Errors that do not impact the program's execution */ + GIT_TRACE_ERROR = 2, + + /** Warnings that suggest abnormal data */ + GIT_TRACE_WARN = 3, + + /** Informational messages about program execution */ + GIT_TRACE_INFO = 4, + + /** Detailed data that allows for debugging */ + GIT_TRACE_DEBUG = 5, + + /** Exceptionally detailed debugging data */ + GIT_TRACE_TRACE = 6 +} git_trace_level_t; + +/** + * An instance for a tracing function + * + * @param level the trace level + * @param msg the trace message + */ +typedef void GIT_CALLBACK(git_trace_cb)( + git_trace_level_t level, + const char *msg); + +/** + * Sets the system tracing configuration to the specified level with the + * specified callback. When system events occur at a level equal to, or + * lower than, the given level they will be reported to the given callback. + * + * @param level Level to set tracing to + * @param cb Function to call with trace data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_trace_set(git_trace_level_t level, git_trace_cb cb); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/transaction.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/transaction.h new file mode 100644 index 00000000..212d3291 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/transaction.h @@ -0,0 +1,122 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_transaction_h__ +#define INCLUDE_git_transaction_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/transaction.h + * @brief Transactional reference handling + * @defgroup git_transaction Transactional reference handling + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new transaction object + * + * This does not lock anything, but sets up the transaction object to + * know from which repository to lock. + * + * @param out the resulting transaction + * @param repo the repository in which to lock + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transaction_new(git_transaction **out, git_repository *repo); + +/** + * Lock a reference + * + * Lock the specified reference. This is the first step to updating a + * reference. + * + * @param tx the transaction + * @param refname the reference to lock + * @return 0 or an error message + */ +GIT_EXTERN(int) git_transaction_lock_ref(git_transaction *tx, const char *refname); + +/** + * Set the target of a reference + * + * Set the target of the specified reference. This reference must be + * locked. + * + * @param tx the transaction + * @param refname reference to update + * @param target target to set the reference to + * @param sig signature to use in the reflog; pass NULL to read the identity from the config + * @param msg message to use in the reflog + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_set_target(git_transaction *tx, const char *refname, const git_oid *target, const git_signature *sig, const char *msg); + +/** + * Set the target of a reference + * + * Set the target of the specified reference. This reference must be + * locked. + * + * @param tx the transaction + * @param refname reference to update + * @param target target to set the reference to + * @param sig signature to use in the reflog; pass NULL to read the identity from the config + * @param msg message to use in the reflog + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_set_symbolic_target(git_transaction *tx, const char *refname, const char *target, const git_signature *sig, const char *msg); + +/** + * Set the reflog of a reference + * + * Set the specified reference's reflog. If this is combined with + * setting the target, that update won't be written to the reflog. + * + * @param tx the transaction + * @param refname the reference whose reflog to set + * @param reflog the reflog as it should be written out + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_set_reflog(git_transaction *tx, const char *refname, const git_reflog *reflog); + +/** + * Remove a reference + * + * @param tx the transaction + * @param refname the reference to remove + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_remove(git_transaction *tx, const char *refname); + +/** + * Commit the changes from the transaction + * + * Perform the changes that have been queued. The updates will be made + * one by one, and the first failure will stop the processing. + * + * @param tx the transaction + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transaction_commit(git_transaction *tx); + +/** + * Free the resources allocated by this transaction + * + * If any references remain locked, they will be unlocked without any + * changes made to them. + * + * @param tx the transaction + */ +GIT_EXTERN(void) git_transaction_free(git_transaction *tx); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/transport.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/transport.h new file mode 100644 index 00000000..04a7390b --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/transport.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_transport_h__ +#define INCLUDE_git_transport_h__ + +#include "indexer.h" +#include "net.h" +#include "types.h" +#include "cert.h" +#include "credential.h" + +/** + * @file git2/transport.h + * @brief Transports are the low-level mechanism to connect to a remote server + * @defgroup git_transport Transports are the low-level mechanism to connect to a remote server + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Callback for messages received by the transport. + * + * Return a negative value to cancel the network operation. + * + * @param str The message from the transport + * @param len The length of the message + * @param payload Payload provided by the caller + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_transport_message_cb)(const char *str, int len, void *payload); + +/** + * Signature of a function which creates a transport. + * + * @param out the transport generate + * @param owner the owner for the transport + * @param param the param to the transport creation + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_transport_cb)(git_transport **out, git_remote *owner, void *param); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/tree.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/tree.h new file mode 100644 index 00000000..b8e2de21 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/tree.h @@ -0,0 +1,486 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_tree_h__ +#define INCLUDE_git_tree_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" + +/** + * @file git2/tree.h + * @brief Trees are collections of files and folders to make up the repository hierarchy + * @defgroup git_tree Trees are collections of files and folders to make up the repository hierarchy + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a tree object from the repository. + * + * @param[out] out Pointer to the looked up tree + * @param repo The repo to use when locating the tree. + * @param id Identity of the tree to locate. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_lookup( + git_tree **out, git_repository *repo, const git_oid *id); + +/** + * Lookup a tree object from the repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param out pointer to the looked up tree + * @param repo the repo to use when locating the tree. + * @param id identity of the tree to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_lookup_prefix( + git_tree **out, + git_repository *repo, + const git_oid *id, + size_t len); + +/** + * Close an open tree + * + * You can no longer use the git_tree pointer after this call. + * + * IMPORTANT: You MUST call this method when you stop using a tree to + * release memory. Failure to do so will cause a memory leak. + * + * @param tree The tree to close + */ +GIT_EXTERN(void) git_tree_free(git_tree *tree); + +/** + * Get the id of a tree. + * + * @param tree a previously loaded tree. + * @return object identity for the tree. + */ +GIT_EXTERN(const git_oid *) git_tree_id(const git_tree *tree); + +/** + * Get the repository that contains the tree. + * + * @param tree A previously loaded tree. + * @return Repository that contains this tree. + */ +GIT_EXTERN(git_repository *) git_tree_owner(const git_tree *tree); + +/** + * Get the number of entries listed in a tree + * + * @param tree a previously loaded tree. + * @return the number of entries in the tree + */ +GIT_EXTERN(size_t) git_tree_entrycount(const git_tree *tree); + +/** + * Lookup a tree entry by its filename + * + * 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. + * + * @param tree a previously loaded tree. + * @param filename the filename of the desired entry + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byname( + const git_tree *tree, const char *filename); + +/** + * Lookup a tree entry by its position in the tree + * + * 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. + * + * @param tree a previously loaded tree. + * @param idx the position in the entry list + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byindex( + const git_tree *tree, size_t idx); + +/** + * Lookup a tree entry by SHA value. + * + * 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. + * + * Warning: this must examine every entry in the tree, so it is not fast. + * + * @param tree a previously loaded tree. + * @param id the sha being looked for + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byid( + const git_tree *tree, const git_oid *id); + +/** + * Retrieve a tree entry contained in a tree or in any of its subtrees, + * given its relative path. + * + * Unlike the other lookup functions, the returned tree entry is owned by + * the user and must be freed explicitly with `git_tree_entry_free()`. + * + * @param out Pointer where to store the tree entry + * @param root Previously loaded tree which is the root of the relative path + * @param path Path to the contained entry + * @return 0 on success; GIT_ENOTFOUND if the path does not exist + */ +GIT_EXTERN(int) git_tree_entry_bypath( + git_tree_entry **out, + const git_tree *root, + const char *path); + +/** + * Duplicate a tree entry + * + * Create a copy of a tree entry. The returned copy is owned by the user, + * and must be freed explicitly with `git_tree_entry_free()`. + * + * @param dest pointer where to store the copy + * @param source tree entry to duplicate + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_entry_dup(git_tree_entry **dest, const git_tree_entry *source); + +/** + * Free a user-owned tree entry + * + * IMPORTANT: This function is only needed for tree entries owned by the + * user, such as the ones returned by `git_tree_entry_dup()` or + * `git_tree_entry_bypath()`. + * + * @param entry The entry to free + */ +GIT_EXTERN(void) git_tree_entry_free(git_tree_entry *entry); + +/** + * Get the filename of a tree entry + * + * @param entry a tree entry + * @return the name of the file + */ +GIT_EXTERN(const char *) git_tree_entry_name(const git_tree_entry *entry); + +/** + * Get the id of the object pointed by the entry + * + * @param entry a tree entry + * @return the oid of the object + */ +GIT_EXTERN(const git_oid *) git_tree_entry_id(const git_tree_entry *entry); + +/** + * Get the type of the object pointed by the entry + * + * @param entry a tree entry + * @return the type of the pointed object + */ +GIT_EXTERN(git_object_t) git_tree_entry_type(const git_tree_entry *entry); + +/** + * Get the UNIX file attributes of a tree entry + * + * @param entry a tree entry + * @return filemode as an integer + */ +GIT_EXTERN(git_filemode_t) git_tree_entry_filemode(const git_tree_entry *entry); + +/** + * Get the raw UNIX file attributes of a tree entry + * + * This function does not perform any normalization and is only useful + * if you need to be able to recreate the original tree object. + * + * @param entry a tree entry + * @return filemode as an integer + */ + +GIT_EXTERN(git_filemode_t) git_tree_entry_filemode_raw(const git_tree_entry *entry); +/** + * Compare two tree entries + * + * @param e1 first tree entry + * @param e2 second tree entry + * @return <0 if e1 is before e2, 0 if e1 == e2, >0 if e1 is after e2 + */ +GIT_EXTERN(int) git_tree_entry_cmp(const git_tree_entry *e1, const git_tree_entry *e2); + +/** + * Convert a tree entry to the git_object it points to. + * + * You must call `git_object_free()` on the object when you are done with it. + * + * @param object_out pointer to the converted object + * @param repo repository where to lookup the pointed object + * @param entry a tree entry + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_entry_to_object( + git_object **object_out, + git_repository *repo, + const git_tree_entry *entry); + +/** + * Create a new tree builder. + * + * The tree builder can be used to create or modify trees in memory and + * write them as tree objects to the database. + * + * If the `source` parameter is not NULL, the tree builder will be + * initialized with the entries of the given tree. + * + * If the `source` parameter is NULL, the tree builder will start with no + * entries and will have to be filled manually. + * + * @param out Pointer where to store the tree builder + * @param repo Repository in which to store the object + * @param source Source tree to initialize the builder (optional) + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_treebuilder_new( + git_treebuilder **out, git_repository *repo, const git_tree *source); + +/** + * Clear all the entries in the builder + * + * @param bld Builder to clear + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_treebuilder_clear(git_treebuilder *bld); + +/** + * Get the number of entries listed in a treebuilder + * + * @param bld a previously loaded treebuilder. + * @return the number of entries in the treebuilder + */ +GIT_EXTERN(size_t) git_treebuilder_entrycount(git_treebuilder *bld); + +/** + * Free a tree builder + * + * This will clear all the entries and free to builder. + * Failing to free the builder after you're done using it + * will result in a memory leak + * + * @param bld Builder to free + */ +GIT_EXTERN(void) git_treebuilder_free(git_treebuilder *bld); + +/** + * Get an entry from the builder from its filename + * + * The returned entry is owned by the builder and should + * not be freed manually. + * + * @param bld Tree builder + * @param filename Name of the entry + * @return pointer to the entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_treebuilder_get( + git_treebuilder *bld, const char *filename); + +/** + * Add or update an entry to the builder + * + * Insert a new entry for `filename` in the builder with the + * given attributes. + * + * If an entry named `filename` already exists, its attributes + * will be updated with the given ones. + * + * The optional pointer `out` can be used to retrieve a pointer to the + * newly created/updated entry. Pass NULL if you do not need it. The + * pointer may not be valid past the next operation in this + * builder. Duplicate the entry if you want to keep it. + * + * By default the entry that you are inserting will be checked for + * validity; that it exists in the object database and is of the + * correct type. If you do not want this behavior, set the + * `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION` library option to false. + * + * @param out Pointer to store the entry (optional) + * @param bld Tree builder + * @param filename Filename of the entry + * @param id SHA1 oid of the entry + * @param filemode Folder attributes of the entry. This parameter must + * be valued with one of the following entries: 0040000, 0100644, + * 0100755, 0120000 or 0160000. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_insert( + const git_tree_entry **out, + git_treebuilder *bld, + const char *filename, + const git_oid *id, + git_filemode_t filemode); + +/** + * Remove an entry from the builder by its filename + * + * @param bld Tree builder + * @param filename Filename of the entry to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_remove( + git_treebuilder *bld, const char *filename); + +/** + * Callback for git_treebuilder_filter + * + * 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). + * + * @param entry the tree entry for the callback to examine + * @param payload the payload from the caller + * @return 0 to do nothing, non-zero to remove the entry + */ +typedef int GIT_CALLBACK(git_treebuilder_filter_cb)( + const git_tree_entry *entry, void *payload); + +/** + * Selectively remove entries in the tree + * + * The `filter` callback will be called for each entry in the tree with a + * pointer to the entry and the provided `payload`; if the callback returns + * non-zero, the entry will be filtered (removed from the builder). + * + * @param bld Tree builder + * @param filter Callback to filter entries + * @param payload Extra data to pass to filter callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_treebuilder_filter( + git_treebuilder *bld, + git_treebuilder_filter_cb filter, + void *payload); + +/** + * Write the contents of the tree builder as a tree object + * + * The tree builder will be written to the given `repo`, and its + * identifying SHA1 hash will be stored in the `id` pointer. + * + * @param id Pointer to store the OID of the newly written tree + * @param bld Tree builder to write + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_write( + git_oid *id, git_treebuilder *bld); + +/** + * Callback for the tree traversal method. + * + * @param root the current (relative) root to the entry + * @param entry the tree entry + * @param payload the caller-provided callback payload + * @return a positive value to skip the entry, a negative value to stop the walk + */ +typedef int GIT_CALLBACK(git_treewalk_cb)( + const char *root, const git_tree_entry *entry, void *payload); + +/** Tree traversal modes */ +typedef enum { + GIT_TREEWALK_PRE = 0, /* Pre-order */ + GIT_TREEWALK_POST = 1 /* Post-order */ +} git_treewalk_mode; + +/** + * Traverse the entries in a tree and its subtrees in post or pre order. + * + * The entries will be traversed in the specified order, children subtrees + * will be automatically loaded as required, and the `callback` will be + * called once per entry with the current (relative) root for the entry and + * the entry data itself. + * + * If the callback returns a positive value, the passed entry will be + * skipped on the traversal (in pre mode). A negative value stops the walk. + * + * @param tree The tree to walk + * @param mode Traversal mode (pre or post-order) + * @param callback Function to call on each tree entry + * @param payload Opaque pointer to be passed on each callback + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_walk( + const git_tree *tree, + git_treewalk_mode mode, + git_treewalk_cb callback, + void *payload); + +/** + * Create an in-memory copy of a tree. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the tree + * @param source Original tree to copy + * @return 0 + */ +GIT_EXTERN(int) git_tree_dup(git_tree **out, git_tree *source); + +/** + * The kind of update to perform + */ +typedef enum { + /** Update or insert an entry at the specified path */ + GIT_TREE_UPDATE_UPSERT, + /** Remove an entry from the specified path */ + GIT_TREE_UPDATE_REMOVE +} git_tree_update_t; + +/** + * An action to perform during the update of a tree + */ +typedef struct { + /** Update action. If it's an removal, only the path is looked at */ + git_tree_update_t action; + /** The entry's id */ + git_oid id; + /** The filemode/kind of object */ + git_filemode_t filemode; + /** The full path from the root tree */ + const char *path; +} git_tree_update; + +/** + * Create a tree based on another one with the specified modifications + * + * Given the `baseline` perform the changes described in the list of + * `updates` and create a new tree. + * + * This function is optimized for common file/directory addition, removal and + * replacement in trees. It is much more efficient than reading the tree into a + * `git_index` and modifying that, but in exchange it is not as flexible. + * + * Deleting and adding the same entry is undefined behaviour, changing + * a tree to a blob or viceversa is not supported. + * + * @param out id of the new tree + * @param repo the repository in which to create the tree, must be the + * same as for `baseline` + * @param baseline the tree to base these changes on + * @param nupdates the number of elements in the update list + * @param updates the list of updates to perform + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseline, size_t nupdates, const git_tree_update *updates); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/types.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/types.h new file mode 100644 index 00000000..a4afd18c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/types.h @@ -0,0 +1,387 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_types_h__ +#define INCLUDE_git_types_h__ + +#include "common.h" + +/** + * @file git2/types.h + * @brief libgit2 base & compatibility types + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Cross-platform compatibility types for off_t / time_t + * + * NOTE: This needs to be in a public header so that both the library + * implementation and client applications both agree on the same types. + * Otherwise we get undefined behavior. + * + * Use the "best" types that each platform provides. Currently we truncate + * these intermediate representations for compatibility with the git ABI, but + * if and when it changes to support 64 bit types, our code will naturally + * adapt. + * NOTE: These types should match those that are returned by our internal + * stat() functions, for all platforms. + */ +#include +#ifdef __amigaos4__ +#include +#endif + +#if defined(_MSC_VER) + +typedef __int64 git_off_t; +typedef __time64_t git_time_t; + +#elif defined(__MINGW32__) + +typedef off64_t git_off_t; +typedef __time64_t git_time_t; + +#elif defined(__HAIKU__) + +typedef __haiku_std_int64 git_off_t; +typedef __haiku_std_int64 git_time_t; + +#else /* POSIX */ + +/* + * Note: Can't use off_t since if a client program includes + * before us (directly or indirectly), they'll get 32 bit off_t in their client + * app, even though /we/ define _FILE_OFFSET_BITS=64. + */ +typedef int64_t git_off_t; +typedef int64_t git_time_t; /**< time in seconds from epoch */ + +#endif + +/** The maximum size of an object */ +typedef uint64_t git_object_size_t; + +#include "buffer.h" +#include "oid.h" + +/** Basic type (loose or packed) of any Git object. */ +typedef enum { + GIT_OBJECT_ANY = -2, /**< Object can be any of the following */ + GIT_OBJECT_INVALID = -1, /**< Object is invalid. */ + GIT_OBJECT_COMMIT = 1, /**< A commit object. */ + GIT_OBJECT_TREE = 2, /**< A tree (directory listing) object. */ + GIT_OBJECT_BLOB = 3, /**< A file revision object. */ + GIT_OBJECT_TAG = 4, /**< An annotated tag object. */ + GIT_OBJECT_OFS_DELTA = 6, /**< A delta, base is given by an offset. */ + GIT_OBJECT_REF_DELTA = 7 /**< A delta, base is given by object id. */ +} git_object_t; + +/** + * An object database stores the objects (commit, trees, blobs, tags, + * etc) for a repository. + */ +typedef struct git_odb git_odb; + +/** A custom backend in an ODB */ +typedef struct git_odb_backend git_odb_backend; + +/** + * A "raw" object read from the object database. + */ +typedef struct git_odb_object git_odb_object; + +/** A stream to read/write from the ODB */ +typedef struct git_odb_stream git_odb_stream; + +/** A stream to write a packfile to the ODB */ +typedef struct git_odb_writepack git_odb_writepack; + +/** a writer for multi-pack-index files. */ +typedef struct git_midx_writer git_midx_writer; + +/** An open refs database handle. */ +typedef struct git_refdb git_refdb; + +/** A custom backend for refs */ +typedef struct git_refdb_backend git_refdb_backend; + +/** A git commit-graph */ +typedef struct git_commit_graph git_commit_graph; + +/** a writer for commit-graph files. */ +typedef struct git_commit_graph_writer git_commit_graph_writer; + +/** + * Representation of an existing git repository, + * including all its object contents + */ +typedef struct git_repository git_repository; + +/** Representation of a working tree */ +typedef struct git_worktree git_worktree; + +/** Representation of a generic object in a repository */ +typedef struct git_object git_object; + +/** Representation of an in-progress walk through the commits in a repo */ +typedef struct git_revwalk git_revwalk; + +/** Parsed representation of a tag object. */ +typedef struct git_tag git_tag; + +/** In-memory representation of a blob object. */ +typedef struct git_blob git_blob; + +/** Parsed representation of a commit object. */ +typedef struct git_commit git_commit; + +/** Representation of each one of the entries in a tree object. */ +typedef struct git_tree_entry git_tree_entry; + +/** Representation of a tree object. */ +typedef struct git_tree git_tree; + +/** Constructor for in-memory trees */ +typedef struct git_treebuilder git_treebuilder; + +/** Memory representation of an index file. */ +typedef struct git_index git_index; + +/** An iterator for entries in the index. */ +typedef struct git_index_iterator git_index_iterator; + +/** An iterator for conflicts in the index. */ +typedef struct git_index_conflict_iterator git_index_conflict_iterator; + +/** Memory representation of a set of config files */ +typedef struct git_config git_config; + +/** Interface to access a configuration file */ +typedef struct git_config_backend git_config_backend; + +/** Representation of a reference log entry */ +typedef struct git_reflog_entry git_reflog_entry; + +/** Representation of a reference log */ +typedef struct git_reflog git_reflog; + +/** Representation of a git note */ +typedef struct git_note git_note; + +/** Representation of a git packbuilder */ +typedef struct git_packbuilder git_packbuilder; + +/** Time in a signature */ +typedef struct git_time { + git_time_t time; /**< time in seconds from epoch */ + int offset; /**< timezone offset, in minutes */ + char sign; /**< indicator for questionable '-0000' offsets in signature */ +} git_time; + +/** An action signature (e.g. for committers, taggers, etc) */ +typedef struct git_signature { + char *name; /**< full name of the author */ + char *email; /**< email of the author */ + git_time when; /**< time when the action happened */ +} git_signature; + +/** In-memory representation of a reference. */ +typedef struct git_reference git_reference; + +/** Iterator for references */ +typedef struct git_reference_iterator git_reference_iterator; + +/** Transactional interface to references */ +typedef struct git_transaction git_transaction; + +/** + * Annotated commits are commits with additional metadata about how the + * commit was resolved, which can be used for maintaining the user's + * "intent" through commands like merge and rebase. + * + * 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. + */ +typedef struct git_annotated_commit git_annotated_commit; + +/** Representation of a status collection */ +typedef struct git_status_list git_status_list; + +/** Representation of a rebase */ +typedef struct git_rebase git_rebase; + +/** Basic type of any Git reference. */ +typedef enum { + GIT_REFERENCE_INVALID = 0, /**< Invalid reference */ + GIT_REFERENCE_DIRECT = 1, /**< A reference that points at an object id */ + GIT_REFERENCE_SYMBOLIC = 2, /**< A reference that points at another reference */ + GIT_REFERENCE_ALL = GIT_REFERENCE_DIRECT | GIT_REFERENCE_SYMBOLIC +} git_reference_t; + +/** Basic type of any Git branch. */ +typedef enum { + GIT_BRANCH_LOCAL = 1, + GIT_BRANCH_REMOTE = 2, + GIT_BRANCH_ALL = GIT_BRANCH_LOCAL|GIT_BRANCH_REMOTE +} git_branch_t; + +/** Valid modes for index and tree entries. */ +typedef enum { + GIT_FILEMODE_UNREADABLE = 0000000, + GIT_FILEMODE_TREE = 0040000, + GIT_FILEMODE_BLOB = 0100644, + GIT_FILEMODE_BLOB_EXECUTABLE = 0100755, + GIT_FILEMODE_LINK = 0120000, + GIT_FILEMODE_COMMIT = 0160000 +} git_filemode_t; + +/** + * A refspec specifies the mapping between remote and local reference + * names when fetch or pushing. + */ +typedef struct git_refspec git_refspec; + +/** + * Git's idea of a remote repository. A remote can be anonymous (in + * which case it does not have backing configuration entries). + */ +typedef struct git_remote git_remote; + +/** + * Interface which represents a transport to communicate with a + * remote. + */ +typedef struct git_transport git_transport; + +/** + * Preparation for a push operation. Can be used to configure what to + * push and the level of parallelism of the packfile builder. + */ +typedef struct git_push git_push; + +/* documentation in the definition */ +typedef struct git_remote_head git_remote_head; +typedef struct git_remote_callbacks git_remote_callbacks; + +/** + * Parent type for `git_cert_hostkey` and `git_cert_x509`. + */ +typedef struct git_cert git_cert; + +/** + * Opaque structure representing a submodule. + */ +typedef struct git_submodule git_submodule; + +/** + * Submodule update values + * + * These values represent settings for the `submodule.$name.update` + * configuration value which says how to handle `git submodule update` for + * this submodule. The value is usually set in the ".gitmodules" file and + * copied to ".git/config" when the submodule is initialized. + * + * You can override this setting on a per-submodule basis with + * `git_submodule_set_update()` and write the changed value to disk using + * `git_submodule_save()`. If you have overwritten the value, you can + * revert it by passing `GIT_SUBMODULE_UPDATE_RESET` to the set function. + * + * The values are: + * + * - GIT_SUBMODULE_UPDATE_CHECKOUT: the default; when a submodule is + * updated, checkout the new detached HEAD to the submodule directory. + * - GIT_SUBMODULE_UPDATE_REBASE: update by rebasing the current checked + * out branch onto the commit from the superproject. + * - GIT_SUBMODULE_UPDATE_MERGE: update by merging the commit in the + * superproject into the current checkout out branch of the submodule. + * - GIT_SUBMODULE_UPDATE_NONE: do not update this submodule even when + * the commit in the superproject is updated. + * - GIT_SUBMODULE_UPDATE_DEFAULT: not used except as static initializer + * when we don't want any particular update rule to be specified. + */ +typedef enum { + GIT_SUBMODULE_UPDATE_CHECKOUT = 1, + GIT_SUBMODULE_UPDATE_REBASE = 2, + GIT_SUBMODULE_UPDATE_MERGE = 3, + GIT_SUBMODULE_UPDATE_NONE = 4, + + GIT_SUBMODULE_UPDATE_DEFAULT = 0 +} git_submodule_update_t; + +/** + * Submodule ignore values + * + * These values represent settings for the `submodule.$name.ignore` + * configuration value which says how deeply to look at the working + * directory when getting submodule status. + * + * You can override this value in memory on a per-submodule basis with + * `git_submodule_set_ignore()` and can write the changed value to disk + * with `git_submodule_save()`. If you have overwritten the value, you + * can revert to the on disk value by using `GIT_SUBMODULE_IGNORE_RESET`. + * + * The values are: + * + * - GIT_SUBMODULE_IGNORE_UNSPECIFIED: use the submodule's configuration + * - GIT_SUBMODULE_IGNORE_NONE: don't ignore any change - i.e. even an + * untracked file, will mark the submodule as dirty. Ignored files are + * still ignored, of course. + * - GIT_SUBMODULE_IGNORE_UNTRACKED: ignore untracked files; only changes + * to tracked files, or the index or the HEAD commit will matter. + * - GIT_SUBMODULE_IGNORE_DIRTY: ignore changes in the working directory, + * only considering changes if the HEAD of submodule has moved from the + * value in the superproject. + * - GIT_SUBMODULE_IGNORE_ALL: never check if the submodule is dirty + * - GIT_SUBMODULE_IGNORE_DEFAULT: not used except as static initializer + * when we don't want any particular ignore rule to be specified. + */ +typedef enum { + GIT_SUBMODULE_IGNORE_UNSPECIFIED = -1, /**< use the submodule's configuration */ + + GIT_SUBMODULE_IGNORE_NONE = 1, /**< any change or untracked == dirty */ + GIT_SUBMODULE_IGNORE_UNTRACKED = 2, /**< dirty if tracked files change */ + GIT_SUBMODULE_IGNORE_DIRTY = 3, /**< only dirty if HEAD moved */ + GIT_SUBMODULE_IGNORE_ALL = 4 /**< never dirty */ +} git_submodule_ignore_t; + +/** + * Options for submodule recurse. + * + * Represent the value of `submodule.$name.fetchRecurseSubmodules` + * + * * GIT_SUBMODULE_RECURSE_NO - do no recurse into submodules + * * GIT_SUBMODULE_RECURSE_YES - recurse into submodules + * * GIT_SUBMODULE_RECURSE_ONDEMAND - recurse into submodules only when + * commit not already in local clone + */ +typedef enum { + GIT_SUBMODULE_RECURSE_NO = 0, + GIT_SUBMODULE_RECURSE_YES = 1, + GIT_SUBMODULE_RECURSE_ONDEMAND = 2 +} git_submodule_recurse_t; + +typedef struct git_writestream git_writestream; + +/** A type to write in a streaming fashion, for example, for filters. */ +struct git_writestream { + int GIT_CALLBACK(write)(git_writestream *stream, const char *buffer, size_t len); + int GIT_CALLBACK(close)(git_writestream *stream); + void GIT_CALLBACK(free)(git_writestream *stream); +}; + +/** Representation of .mailmap file state. */ +typedef struct git_mailmap git_mailmap; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/version.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/version.h new file mode 100644 index 00000000..6a352e1a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/version.h @@ -0,0 +1,75 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_version_h__ +#define INCLUDE_git_version_h__ + +/** + * @file git2/version.h + * @brief The version of libgit2 + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The version string for libgit2. This string follows semantic + * versioning (v2) guidelines. + */ +#define LIBGIT2_VERSION "1.9.0" + +/** The major version number for this version of libgit2. */ +#define LIBGIT2_VERSION_MAJOR 1 + +/** The minor version number for this version of libgit2. */ +#define LIBGIT2_VERSION_MINOR 9 + +/** The revision ("teeny") version number for this version of libgit2. */ +#define LIBGIT2_VERSION_REVISION 0 + +/** The Windows DLL patch number for this version of libgit2. */ +#define LIBGIT2_VERSION_PATCH 0 + +/** + * The prerelease string for this version of libgit2. For development + * (nightly) builds, this will be "alpha". For prereleases, this will be + * a prerelease name like "beta" or "rc1". For final releases, this will + * be `NULL`. + */ +#define LIBGIT2_VERSION_PRERELEASE NULL + +/** + * The library ABI soversion for this version of libgit2. This should + * only be changed when the library has a breaking ABI change, and so + * may not reflect the library's API version number. + */ +#define LIBGIT2_SOVERSION "1.9" + +/** + * An integer value representing the libgit2 version number. For example, + * libgit2 1.6.3 is 1060300. + */ +#define LIBGIT2_VERSION_NUMBER ( \ + (LIBGIT2_VERSION_MAJOR * 1000000) + \ + (LIBGIT2_VERSION_MINOR * 10000) + \ + (LIBGIT2_VERSION_REVISION * 100)) + +/** + * Compare the libgit2 version against a given version. Evaluates to true + * if the given major, minor, and revision values are greater than or equal + * to the currently running libgit2 version. For example: + * + * #if LIBGIT2_VERSION_CHECK(1, 6, 3) + * # error libgit2 version is >= 1.6.3 + * #endif + */ +#define LIBGIT2_VERSION_CHECK(major, minor, revision) \ + (LIBGIT2_VERSION_NUMBER >= ((major)*1000000)+((minor)*10000)+((revision)*100)) + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/worktree.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/worktree.h new file mode 100644 index 00000000..fd375175 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/git2/worktree.h @@ -0,0 +1,278 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_worktree_h__ +#define INCLUDE_git_worktree_h__ + +#include "common.h" +#include "buffer.h" +#include "types.h" +#include "strarray.h" +#include "checkout.h" + +/** + * @file git2/worktree.h + * @brief Additional working directories for a repository + * @defgroup git_commit Additional working directories for a repository + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * List names of linked working trees + * + * The returned list should be released with `git_strarray_free` + * when no longer needed. + * + * @param out pointer to the array of working tree names + * @param repo the repo to use when listing working trees + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_list(git_strarray *out, git_repository *repo); + +/** + * Lookup a working tree by its name for a given repository + * + * @param out Output pointer to looked up worktree or `NULL` + * @param repo The repository containing worktrees + * @param name Name of the working tree to look up + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_lookup(git_worktree **out, git_repository *repo, const char *name); + +/** + * Open a worktree of a given repository + * + * If a repository is not the main tree but a worktree, this + * function will look up the worktree inside the parent + * repository and create a new `git_worktree` structure. + * + * @param out Out-pointer for the newly allocated worktree + * @param repo Repository to look up worktree for + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_open_from_repository(git_worktree **out, git_repository *repo); + +/** + * Free a previously allocated worktree + * + * @param wt worktree handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_worktree_free(git_worktree *wt); + +/** + * Check if worktree is valid + * + * A valid worktree requires both the git data structures inside + * the linked parent repository and the linked working copy to be + * present. + * + * @param wt Worktree to check + * @return 0 when worktree is valid, error-code otherwise + */ +GIT_EXTERN(int) git_worktree_validate(const git_worktree *wt); + +/** + * Worktree add options structure + * + * Initialize with `GIT_WORKTREE_ADD_OPTIONS_INIT`. Alternatively, you can + * use `git_worktree_add_options_init`. + * + */ +typedef struct git_worktree_add_options { + unsigned int version; + + int lock; /**< lock newly created worktree */ + int checkout_existing; /**< allow checkout of existing branch matching worktree name */ + git_reference *ref; /**< reference to use for the new worktree HEAD */ + + /** + * Options for the checkout. + */ + git_checkout_options checkout_options; +} git_worktree_add_options; + +/** Current version for the `git_worktree_add_options` structure */ +#define GIT_WORKTREE_ADD_OPTIONS_VERSION 1 + +/** Static constructor for `git_worktree_add_options` */ +#define GIT_WORKTREE_ADD_OPTIONS_INIT { GIT_WORKTREE_ADD_OPTIONS_VERSION, \ + 0, 0, NULL, GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_worktree_add_options structure + * + * Initializes a `git_worktree_add_options` with default values. Equivalent to + * creating an instance with `GIT_WORKTREE_ADD_OPTIONS_INIT`. + * + * @param opts The `git_worktree_add_options` struct to initialize. + * @param version The struct version; pass `GIT_WORKTREE_ADD_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_worktree_add_options_init(git_worktree_add_options *opts, + unsigned int version); + +/** + * Add a new working tree + * + * Add a new working tree for the repository, that is create the + * required data structures inside the repository and check out + * the current HEAD at `path` + * + * @param out Output pointer containing new working tree + * @param repo Repository to create working tree for + * @param name Name of the working tree + * @param path Path to create working tree at + * @param opts Options to modify default behavior. May be NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_add(git_worktree **out, git_repository *repo, + const char *name, const char *path, + const git_worktree_add_options *opts); + +/** + * Lock worktree if not already locked + * + * Lock a worktree, optionally specifying a reason why the linked + * working tree is being locked. + * + * @param wt Worktree to lock + * @param reason Reason why the working tree is being locked + * @return 0 on success, non-zero otherwise + */ +GIT_EXTERN(int) git_worktree_lock(git_worktree *wt, const char *reason); + +/** + * Unlock a locked worktree + * + * @param wt Worktree to unlock + * @return 0 on success, 1 if worktree was not locked, error-code + * otherwise + */ +GIT_EXTERN(int) git_worktree_unlock(git_worktree *wt); + +/** + * Check if worktree is locked + * + * A worktree may be locked if the linked working tree is stored + * on a portable device which is not available. + * + * @param reason Buffer to store reason in. If NULL no reason is stored. + * @param wt Worktree to check + * @return 0 when the working tree not locked, a value greater + * than zero if it is locked, less than zero if there was an + * error + */ +GIT_EXTERN(int) git_worktree_is_locked(git_buf *reason, const git_worktree *wt); + +/** + * Retrieve the name of the worktree + * + * @param wt Worktree to get the name for + * @return The worktree's name. The pointer returned is valid for the + * lifetime of the git_worktree + */ +GIT_EXTERN(const char *) git_worktree_name(const git_worktree *wt); + +/** + * Retrieve the filesystem path for the worktree + * + * @param wt Worktree to get the path for + * @return The worktree's filesystem path. The pointer returned + * is valid for the lifetime of the git_worktree. + */ +GIT_EXTERN(const char *) git_worktree_path(const git_worktree *wt); + +/** + * Flags which can be passed to git_worktree_prune to alter its + * behavior. + */ +typedef enum { + /* Prune working tree even if working tree is valid */ + GIT_WORKTREE_PRUNE_VALID = 1u << 0, + /* Prune working tree even if it is locked */ + GIT_WORKTREE_PRUNE_LOCKED = 1u << 1, + /* Prune checked out working tree */ + GIT_WORKTREE_PRUNE_WORKING_TREE = 1u << 2 +} git_worktree_prune_t; + +/** + * Worktree prune options structure + * + * Initialize with `GIT_WORKTREE_PRUNE_OPTIONS_INIT`. Alternatively, you can + * use `git_worktree_prune_options_init`. + * + */ +typedef struct git_worktree_prune_options { + unsigned int version; + + /** A combination of `git_worktree_prune_t` */ + uint32_t flags; +} git_worktree_prune_options; + +/** Current version for the `git_worktree_prune_options` structure */ +#define GIT_WORKTREE_PRUNE_OPTIONS_VERSION 1 + +/** Static constructor for `git_worktree_prune_options` */ +#define GIT_WORKTREE_PRUNE_OPTIONS_INIT {GIT_WORKTREE_PRUNE_OPTIONS_VERSION,0} + +/** + * Initialize git_worktree_prune_options structure + * + * Initializes a `git_worktree_prune_options` with default values. Equivalent to + * creating an instance with `GIT_WORKTREE_PRUNE_OPTIONS_INIT`. + * + * @param opts The `git_worktree_prune_options` struct to initialize. + * @param version The struct version; pass `GIT_WORKTREE_PRUNE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_worktree_prune_options_init( + git_worktree_prune_options *opts, + unsigned int version); + +/** + * Is the worktree prunable with the given options? + * + * A worktree is not prunable in the following scenarios: + * + * - the worktree is linking to a valid on-disk worktree. The + * `valid` member will cause this check to be ignored. + * - the worktree is locked. The `locked` flag will cause this + * check to be ignored. + * + * If the worktree is not valid and not locked or if the above + * flags have been passed in, this function will return a + * positive value. If the worktree is not prunable, an error + * message will be set (visible in `giterr_last`) with details about + * why. + * + * @param wt Worktree to check. + * @param opts The prunable options. + * @return 1 if the worktree is prunable, 0 otherwise, or an error code. + */ +GIT_EXTERN(int) git_worktree_is_prunable(git_worktree *wt, + git_worktree_prune_options *opts); + +/** + * Prune working tree + * + * Prune the working tree, that is remove the git data + * structures on disk. The repository will only be pruned of + * `git_worktree_is_prunable` succeeds. + * + * @param wt Worktree to prune + * @param opts Specifies which checks to override. See + * `git_worktree_is_prunable`. May be NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_prune(git_worktree *wt, + git_worktree_prune_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/gitup_extensions.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/gitup_extensions.h new file mode 100644 index 00000000..c1dbc681 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/Headers/gitup_extensions.h @@ -0,0 +1,8 @@ + +#include "git2.h" +#include "git2/gitup_submodule.h" +#include "git2/gitup_refs.h" +#include "git2/gitup_config.h" +#include "git2/gitup_branch.h" +#include "git2/gitup_clone.h" +#include "git2/gitup_repository.h" diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/libgit2.a b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64/libgit2.a new file mode 100644 index 0000000000000000000000000000000000000000..20c93aa64c00d05ae72b5ba7072ec5c35e49acca GIT binary patch literal 2282376 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

t11OCyqLA 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 @BX3D% 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

!oFX~{e)F-$<=S6UfL%Ru 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

{6ZyPx{GKk9%OC#w%O9cs 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 z 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

EHvHUt}_){_G^U0Xz;e1V`Hpx{Y8F=C$D0 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

K`BRW1HyNZ;pda#a9JzrUa)X5KRil)LB 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 literal 0 HcmV?d00001 diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2.h new file mode 100644 index 00000000..3457e5f0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2.h @@ -0,0 +1,74 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_git_git_h__ +#define INCLUDE_git_git_h__ + +#include "git2/annotated_commit.h" +#include "git2/apply.h" +#include "git2/attr.h" +#include "git2/blob.h" +#include "git2/blame.h" +#include "git2/branch.h" +#include "git2/buffer.h" +#include "git2/cert.h" +#include "git2/checkout.h" +#include "git2/cherrypick.h" +#include "git2/clone.h" +#include "git2/commit.h" +#include "git2/common.h" +#include "git2/config.h" +#include "git2/credential.h" +#include "git2/deprecated.h" +#include "git2/describe.h" +#include "git2/diff.h" +#include "git2/email.h" +#include "git2/errors.h" +#include "git2/experimental.h" +#include "git2/filter.h" +#include "git2/global.h" +#include "git2/graph.h" +#include "git2/ignore.h" +#include "git2/index.h" +#include "git2/indexer.h" +#include "git2/mailmap.h" +#include "git2/merge.h" +#include "git2/message.h" +#include "git2/net.h" +#include "git2/notes.h" +#include "git2/object.h" +#include "git2/odb.h" +#include "git2/odb_backend.h" +#include "git2/oid.h" +#include "git2/pack.h" +#include "git2/patch.h" +#include "git2/pathspec.h" +#include "git2/proxy.h" +#include "git2/rebase.h" +#include "git2/refdb.h" +#include "git2/reflog.h" +#include "git2/refs.h" +#include "git2/refspec.h" +#include "git2/remote.h" +#include "git2/repository.h" +#include "git2/reset.h" +#include "git2/revert.h" +#include "git2/revparse.h" +#include "git2/revwalk.h" +#include "git2/signature.h" +#include "git2/stash.h" +#include "git2/status.h" +#include "git2/submodule.h" +#include "git2/tag.h" +#include "git2/transport.h" +#include "git2/transaction.h" +#include "git2/tree.h" +#include "git2/types.h" +#include "git2/version.h" +#include "git2/worktree.h" + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/annotated_commit.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/annotated_commit.h new file mode 100644 index 00000000..04f3b1c3 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/annotated_commit.h @@ -0,0 +1,132 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_annotated_commit_h__ +#define INCLUDE_git_annotated_commit_h__ + +#include "common.h" +#include "repository.h" +#include "types.h" + +/** + * @file git2/annotated_commit.h + * @brief A commit and information about how it was looked up by the user. + * @defgroup git_annotated_commit Git annotated commit routines + * @ingroup Git + * + * An "annotated commit" is a commit that contains information about + * how the commit was resolved, which can be used for maintaining the + * user's "intent" through commands like merge and rebase. For example, + * if a user wants to "merge HEAD" then an annotated commit is used to + * both contain the HEAD commit _and_ the fact that it was resolved as + * the HEAD ref. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Creates a `git_annotated_commit` from the given reference. + * The resulting git_annotated_commit must be freed with + * `git_annotated_commit_free`. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given reference + * @param ref reference to use to lookup the git_annotated_commit + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_from_ref( + git_annotated_commit **out, + git_repository *repo, + const git_reference *ref); + +/** + * Creates a `git_annotated_commit` from the given fetch head data. + * The resulting git_annotated_commit must be freed with + * `git_annotated_commit_free`. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given commit + * @param branch_name name of the (remote) branch + * @param remote_url url of the remote + * @param id the commit object id of the remote branch + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_from_fetchhead( + git_annotated_commit **out, + git_repository *repo, + const char *branch_name, + const char *remote_url, + const git_oid *id); + +/** + * Creates a `git_annotated_commit` from the given commit id. + * The resulting git_annotated_commit must be freed with + * `git_annotated_commit_free`. + * + * An annotated commit contains information about how it was + * looked up, which may be useful for functions like merge or + * rebase to provide context to the operation. For example, + * conflict files will include the name of the source or target + * branches being merged. It is therefore preferable to use the + * most specific function (eg `git_annotated_commit_from_ref`) + * instead of this one when that data is known. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given commit + * @param id the commit object id to lookup + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_lookup( + git_annotated_commit **out, + git_repository *repo, + const git_oid *id); + +/** + * Creates a `git_annotated_commit` from a revision string. + * + * See `man gitrevisions`, or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given commit + * @param revspec the extended sha syntax string to use to lookup the commit + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_from_revspec( + git_annotated_commit **out, + git_repository *repo, + const char *revspec); + +/** + * Gets the commit ID that the given `git_annotated_commit` refers to. + * + * @param commit the given annotated commit + * @return commit id + */ +GIT_EXTERN(const git_oid *) git_annotated_commit_id( + const git_annotated_commit *commit); + +/** + * Get the refname that the given `git_annotated_commit` refers to. + * + * @param commit the given annotated commit + * @return ref name. + */ +GIT_EXTERN(const char *) git_annotated_commit_ref( + const git_annotated_commit *commit); + +/** + * Frees a `git_annotated_commit`. + * + * @param commit annotated commit to free + */ +GIT_EXTERN(void) git_annotated_commit_free( + git_annotated_commit *commit); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/apply.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/apply.h new file mode 100644 index 00000000..7ab939d1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/apply.h @@ -0,0 +1,186 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_apply_h__ +#define INCLUDE_git_apply_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "diff.h" + +/** + * @file git2/apply.h + * @brief Apply patches to the working directory or index + * @defgroup git_apply Git patch application routines + * @ingroup Git + * + * Mechanisms to apply a patch to the index, the working directory, + * or both. + * @{ + */ +GIT_BEGIN_DECL + +/** + * When applying a patch, callback that will be made per delta (file). + * + * When the callback: + * - returns < 0, the apply process will be aborted. + * - returns > 0, the delta will not be applied, but the apply process + * continues + * - returns 0, the delta is applied, and the apply process continues. + * + * @param delta The delta to be applied + * @param payload User-specified payload + * @return 0 if the delta is applied, < 0 if the apply process will be aborted + * or > 0 if the delta will not be applied. + */ +typedef int GIT_CALLBACK(git_apply_delta_cb)( + const git_diff_delta *delta, + void *payload); + +/** + * When applying a patch, callback that will be made per hunk. + * + * 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. + * + * @param hunk The hunk to be applied + * @param payload User-specified payload + * @return 0 if the hunk is applied, < 0 if the apply process will be aborted + * or > 0 if the hunk will not be applied. + */ +typedef int GIT_CALLBACK(git_apply_hunk_cb)( + const git_diff_hunk *hunk, + void *payload); + +/** + * Flags controlling the behavior of `git_apply`. + * + * 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. + */ +typedef enum { + /** + * Don't actually make changes, just test that the patch applies. + * This is the equivalent of `git apply --check`. + */ + GIT_APPLY_CHECK = (1 << 0) +} git_apply_flags_t; + +/** + * Apply options structure. + * + * 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. + * + * Initialize with `GIT_APPLY_OPTIONS_INIT`. Alternatively, you can + * use `git_apply_options_init`. + * + * @see git_apply_to_tree + * @see git_apply + */ +typedef struct { + unsigned int version; /**< The version */ + + /** When applying a patch, callback that will be made per delta (file). */ + git_apply_delta_cb delta_cb; + + /** When applying a patch, callback that will be made per hunk. */ + git_apply_hunk_cb hunk_cb; + + /** Payload passed to both `delta_cb` & `hunk_cb`. */ + void *payload; + + /** Bitmask of `git_apply_flags_t` */ + unsigned int flags; +} git_apply_options; + +/** Current version for the `git_apply_options` structure */ +#define GIT_APPLY_OPTIONS_VERSION 1 + +/** Static constructor for `git_apply_options` */ +#define GIT_APPLY_OPTIONS_INIT {GIT_APPLY_OPTIONS_VERSION} + +/** + * Initialize git_apply_options structure + * + * Initialize a `git_apply_options` with default values. Equivalent to creating + * an instance with GIT_APPLY_OPTIONS_INIT. + * + * @param opts The `git_apply_options` struct to initialize. + * @param version The struct version; pass `GIT_APPLY_OPTIONS_VERSION` + * @return 0 on success or -1 on failure. + */ +GIT_EXTERN(int) git_apply_options_init(git_apply_options *opts, unsigned int version); + +/** + * Apply a `git_diff` to a `git_tree`, and return the resulting image + * as an index. + * + * @param out the postimage of the application + * @param repo the repository to apply + * @param preimage the tree to apply the diff to + * @param diff the diff to apply + * @param options the options for the apply (or null for defaults) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_apply_to_tree( + git_index **out, + git_repository *repo, + git_tree *preimage, + git_diff *diff, + const git_apply_options *options); + +/** Possible application locations for git_apply */ +typedef enum { + /** + * Apply the patch to the workdir, leaving the index untouched. + * This is the equivalent of `git apply` with no location argument. + */ + GIT_APPLY_LOCATION_WORKDIR = 0, + + /** + * Apply the patch to the index, leaving the working directory + * untouched. This is the equivalent of `git apply --cached`. + */ + GIT_APPLY_LOCATION_INDEX = 1, + + /** + * Apply the patch to both the working directory and the index. + * This is the equivalent of `git apply --index`. + */ + GIT_APPLY_LOCATION_BOTH = 2 +} git_apply_location_t; + +/** + * Apply a `git_diff` to the given repository, making changes directly + * in the working directory, the index, or both. + * + * @param repo the repository to apply to + * @param diff the diff to apply + * @param location the location to apply (workdir, index or both) + * @param options the options for the apply (or null for defaults) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_apply( + git_repository *repo, + git_diff *diff, + git_apply_location_t location, + const git_apply_options *options); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/attr.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/attr.h new file mode 100644 index 00000000..e5216fef --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/attr.h @@ -0,0 +1,383 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_attr_h__ +#define INCLUDE_git_attr_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/attr.h + * @brief Attribute management routines + * @defgroup git_attr Git attribute management routines + * @ingroup Git + * + * Attributes specify additional information about how git should + * handle particular paths - for example, they may indicate whether + * a particular filter is applied, like LFS or line ending conversions. + * @{ + */ +GIT_BEGIN_DECL + +/** + * GIT_ATTR_TRUE checks if an attribute is set on. In core git + * parlance, this the value for "Set" attributes. + * + * For example, if the attribute file contains: + * + * *.c foo + * + * Then for file `xyz.c` looking up attribute "foo" gives a value for + * which `GIT_ATTR_TRUE(value)` is true. + */ +#define GIT_ATTR_IS_TRUE(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_TRUE) + +/** + * GIT_ATTR_FALSE checks if an attribute is set off. In core git + * parlance, this is the value for attributes that are "Unset" (not to + * be confused with values that a "Unspecified"). + * + * For example, if the attribute file contains: + * + * *.h -foo + * + * Then for file `zyx.h` looking up attribute "foo" gives a value for + * which `GIT_ATTR_FALSE(value)` is true. + */ +#define GIT_ATTR_IS_FALSE(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_FALSE) + +/** + * GIT_ATTR_UNSPECIFIED checks if an attribute is unspecified. This + * may be due to the attribute not being mentioned at all or because + * the attribute was explicitly set unspecified via the `!` operator. + * + * For example, if the attribute file contains: + * + * *.c foo + * *.h -foo + * onefile.c !foo + * + * Then for `onefile.c` looking up attribute "foo" yields a value with + * `GIT_ATTR_UNSPECIFIED(value)` of true. Also, looking up "foo" on + * file `onefile.rb` or looking up "bar" on any file will all give + * `GIT_ATTR_UNSPECIFIED(value)` of true. + */ +#define GIT_ATTR_IS_UNSPECIFIED(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_UNSPECIFIED) + +/** + * GIT_ATTR_HAS_VALUE checks if an attribute is set to a value (as + * opposed to TRUE, FALSE or UNSPECIFIED). This would be the case if + * for a file with something like: + * + * *.txt eol=lf + * + * Given this, looking up "eol" for `onefile.txt` will give back the + * string "lf" and `GIT_ATTR_SET_TO_VALUE(attr)` will return true. + */ +#define GIT_ATTR_HAS_VALUE(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_STRING) + +/** + * Possible states for an attribute + */ +typedef enum { + GIT_ATTR_VALUE_UNSPECIFIED = 0, /**< The attribute has been left unspecified */ + GIT_ATTR_VALUE_TRUE, /**< The attribute has been set */ + GIT_ATTR_VALUE_FALSE, /**< The attribute has been unset */ + GIT_ATTR_VALUE_STRING /**< This attribute has a value */ +} git_attr_value_t; + +/** + * Return the value type for a given attribute. + * + * This can be either `TRUE`, `FALSE`, `UNSPECIFIED` (if the attribute + * was not set at all), or `VALUE`, if the attribute was set to an + * actual string. + * + * If the attribute has a `VALUE` string, it can be accessed normally + * as a NULL-terminated C string. + * + * @param attr The attribute + * @return the value type for the attribute + */ +GIT_EXTERN(git_attr_value_t) git_attr_value(const char *attr); + +/** + * Check attribute flags: Reading values from index and working directory. + * + * When checking attributes, it is possible to check attribute files + * in both the working directory (if there is one) and the index (if + * there is one). You can explicitly choose where to check and in + * which order using the following flags. + * + * Core git usually checks the working directory then the index, + * except during a checkout when it checks the index first. It will + * use index only for creating archives or for a bare repo (if an + * index has been specified for the bare repo). + */ + +/** Examine attribute in working directory, then index */ +#define GIT_ATTR_CHECK_FILE_THEN_INDEX 0 +/** Examine attribute in index, then working directory */ +#define GIT_ATTR_CHECK_INDEX_THEN_FILE 1 +/** Examine attributes only in the index */ +#define GIT_ATTR_CHECK_INDEX_ONLY 2 + +/** + * Check attribute flags: controlling extended attribute behavior. + * + * Normally, attribute checks include looking in the /etc (or system + * equivalent) directory for a `gitattributes` file. Passing the + * `GIT_ATTR_CHECK_NO_SYSTEM` flag will cause attribute checks to + * ignore that file. + * + * Passing the `GIT_ATTR_CHECK_INCLUDE_HEAD` flag will use attributes + * from a `.gitattributes` file in the repository at the HEAD revision. + * + * Passing the `GIT_ATTR_CHECK_INCLUDE_COMMIT` flag will use attributes + * from a `.gitattributes` file in a specific commit. + */ + +/** Ignore system attributes */ +#define GIT_ATTR_CHECK_NO_SYSTEM (1 << 2) +/** Honor `.gitattributes` in the HEAD revision */ +#define GIT_ATTR_CHECK_INCLUDE_HEAD (1 << 3) +/** Honor `.gitattributes` in a specific commit */ +#define GIT_ATTR_CHECK_INCLUDE_COMMIT (1 << 4) + +/** +* An options structure for querying attributes. +*/ +typedef struct { + unsigned int version; + + /** A combination of GIT_ATTR_CHECK flags */ + unsigned int flags; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + git_oid *commit_id; +#endif + + /** + * The commit to load attributes from, when + * `GIT_ATTR_CHECK_INCLUDE_COMMIT` is specified. + */ + git_oid attr_commit_id; +} git_attr_options; + +/** Current version for the `git_attr_options` structure */ +#define GIT_ATTR_OPTIONS_VERSION 1 + +/** Static constructor for `git_attr_options` */ +#define GIT_ATTR_OPTIONS_INIT {GIT_ATTR_OPTIONS_VERSION} + +/** + * Look up the value of one git attribute for path. + * + * @param value_out Output of the value of the attribute. Use the GIT_ATTR_... + * macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just + * use the string value for attributes set to a value. You + * should NOT modify or free this value. + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path The path to check for attributes. Relative paths are + * interpreted relative to the repo root. The file does + * not have to exist, but if it does not, then it will be + * treated as a plain file (not a directory). + * @param name The name of the attribute to look up. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get( + const char **value_out, + git_repository *repo, + uint32_t flags, + const char *path, + const char *name); + +/** + * Look up the value of one git attribute for path with extended options. + * + * @param value_out Output of the value of the attribute. Use the GIT_ATTR_... + * macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just + * use the string value for attributes set to a value. You + * should NOT modify or free this value. + * @param repo The repository containing the path. + * @param opts The `git_attr_options` to use when querying these attributes. + * @param path The path to check for attributes. Relative paths are + * interpreted relative to the repo root. The file does + * not have to exist, but if it does not, then it will be + * treated as a plain file (not a directory). + * @param name The name of the attribute to look up. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get_ext( + const char **value_out, + git_repository *repo, + git_attr_options *opts, + const char *path, + const char *name); + +/** + * Look up a list of git attributes for path. + * + * Use this if you have a known list of attributes that you want to + * look up in a single call. This is somewhat more efficient than + * calling `git_attr_get()` multiple times. + * + * For example, you might write: + * + * const char *attrs[] = { "crlf", "diff", "foo" }; + * const char **values[3]; + * git_attr_get_many(values, repo, 0, "my/fun/file.c", 3, attrs); + * + * Then you could loop through the 3 values to get the settings for + * the three attributes you asked about. + * + * @param values_out An array of num_attr entries that will have string + * pointers written into it for the values of the attributes. + * You should not modify or free the values that are written + * into this array (although of course, you should free the + * array itself if you allocated it). + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path The path inside the repo to check attributes. This + * does not have to exist, but if it does not, then + * it will be treated as a plain file (i.e. not a directory). + * @param num_attr The number of attributes being looked up + * @param names An array of num_attr strings containing attribute names. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get_many( + const char **values_out, + git_repository *repo, + uint32_t flags, + const char *path, + size_t num_attr, + const char **names); + +/** + * Look up a list of git attributes for path with extended options. + * + * @param values_out An array of num_attr entries that will have string + * pointers written into it for the values of the attributes. + * You should not modify or free the values that are written + * into this array (although of course, you should free the + * array itself if you allocated it). + * @param repo The repository containing the path. + * @param opts The `git_attr_options` to use when querying these attributes. + * @param path The path inside the repo to check attributes. This + * does not have to exist, but if it does not, then + * it will be treated as a plain file (i.e. not a directory). + * @param num_attr The number of attributes being looked up + * @param names An array of num_attr strings containing attribute names. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get_many_ext( + const char **values_out, + git_repository *repo, + git_attr_options *opts, + const char *path, + size_t num_attr, + const char **names); + +/** + * The callback used with git_attr_foreach. + * + * This callback will be invoked only once per attribute name, even if there + * are multiple rules for a given file. The highest priority rule will be + * used. + * + * @see git_attr_foreach. + * + * @param name The attribute name. + * @param value The attribute value. May be NULL if the attribute is explicitly + * set to UNSPECIFIED using the '!' sign. + * @param payload A user-specified pointer. + * @return 0 to continue looping, non-zero to stop. This value will be returned + * from git_attr_foreach. + */ +typedef int GIT_CALLBACK(git_attr_foreach_cb)(const char *name, const char *value, void *payload); + +/** + * Loop over all the git attributes for a path. + * + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path Path inside the repo to check attributes. This does not have + * to exist, but if it does not, then it will be treated as a + * plain file (i.e. not a directory). + * @param callback Function to invoke on each attribute name and value. + * See git_attr_foreach_cb. + * @param payload Passed on as extra parameter to callback function. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_attr_foreach( + git_repository *repo, + uint32_t flags, + const char *path, + git_attr_foreach_cb callback, + void *payload); + +/** + * Loop over all the git attributes for a path with extended options. + * + * @param repo The repository containing the path. + * @param opts The `git_attr_options` to use when querying these attributes. + * @param path Path inside the repo to check attributes. This does not have + * to exist, but if it does not, then it will be treated as a + * plain file (i.e. not a directory). + * @param callback Function to invoke on each attribute name and value. + * See git_attr_foreach_cb. + * @param payload Passed on as extra parameter to callback function. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_attr_foreach_ext( + git_repository *repo, + git_attr_options *opts, + const char *path, + git_attr_foreach_cb callback, + void *payload); + +/** + * Flush the gitattributes cache. + * + * Call this if you have reason to believe that the attributes files on + * disk no longer match the cached contents of memory. This will cause + * the attributes files to be reloaded the next time that an attribute + * access function is called. + * + * @param repo The repository containing the gitattributes cache + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_attr_cache_flush( + git_repository *repo); + +/** + * Add a macro definition. + * + * Macros will automatically be loaded from the top level `.gitattributes` + * file of the repository (plus the built-in "binary" macro). This + * function allows you to add others. For example, to add the default + * macro, you would call: + * + * git_attr_add_macro(repo, "binary", "-diff -crlf"); + * + * @param repo The repository to add the macro in. + * @param name The name of the macro. + * @param values The value for the macro. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_add_macro( + git_repository *repo, + const char *name, + const char *values); + +/** @} */ +GIT_END_DECL +#endif + diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/blame.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/blame.h new file mode 100644 index 00000000..f3e66924 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/blame.h @@ -0,0 +1,390 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_git_blame_h__ +#define INCLUDE_git_blame_h__ + +#include "common.h" +#include "oid.h" + +/** + * @file git2/blame.h + * @brief Specify a file's most recent changes per-line + * @defgroup git_blame Git blame routines + * @ingroup Git + * + * Producing a "blame" (or "annotated history") decorates individual + * lines in a file with the commit that introduced that particular line + * of changes. This can be useful to indicate when and why a particular + * change was made. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Flags for indicating option behavior for git_blame APIs. + */ +typedef enum { + /** Normal blame, the default */ + GIT_BLAME_NORMAL = 0, + + /** + * Track lines that have moved within a file (like `git blame -M`). + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_SAME_FILE = (1<<0), + + /** + * Track lines that have moved across files in the same commit + * (like `git blame -C`). + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES = (1<<1), + + /** + * Track lines that have been copied from another file that exists + * in the same commit (like `git blame -CC`). Implies SAME_FILE. + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES = (1<<2), + + /** + * Track lines that have been copied from another file that exists in + * *any* commit (like `git blame -CCC`). Implies SAME_COMMIT_COPIES. + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES = (1<<3), + + /** + * Restrict the search of commits to those reachable following only + * the first parents. + */ + GIT_BLAME_FIRST_PARENT = (1<<4), + + /** + * Use mailmap file to map author and committer names and email + * addresses to canonical real names and email addresses. The + * mailmap will be read from the working directory, or HEAD in a + * bare repository. + */ + GIT_BLAME_USE_MAILMAP = (1<<5), + + /** Ignore whitespace differences */ + GIT_BLAME_IGNORE_WHITESPACE = (1<<6) +} git_blame_flag_t; + +/** + * Blame options structure + * + * Initialize with `GIT_BLAME_OPTIONS_INIT`. Alternatively, you can + * use `git_blame_options_init`. + * + */ +typedef struct git_blame_options { + unsigned int version; + + /** A combination of `git_blame_flag_t` */ + unsigned int flags; + + /** + * The lower bound on the number of alphanumeric characters that + * must be detected as moving/copying within a file for it to + * associate those lines with the parent commit. The default value + * is 20. + * + * This value only takes effect if any of the `GIT_BLAME_TRACK_COPIES_*` + * flags are specified. + */ + uint16_t min_match_characters; + + /** The id of the newest commit to consider. The default is HEAD. */ + git_oid newest_commit; + + /** + * The id of the oldest commit to consider. + * The default is the first commit encountered with a NULL parent. + */ + git_oid oldest_commit; + + /** + * The first line in the file to blame. + * The default is 1 (line numbers start with 1). + */ + size_t min_line; + + /** + * The last line in the file to blame. + * The default is the last line of the file. + */ + size_t max_line; +} git_blame_options; + +/** Current version for the `git_blame_options` structure */ +#define GIT_BLAME_OPTIONS_VERSION 1 + +/** Static constructor for `git_blame_options` */ +#define GIT_BLAME_OPTIONS_INIT {GIT_BLAME_OPTIONS_VERSION} + +/** + * Initialize git_blame_options structure + * + * Initializes a `git_blame_options` with default values. Equivalent to creating + * an instance with GIT_BLAME_OPTIONS_INIT. + * + * @param opts The `git_blame_options` struct to initialize. + * @param version The struct version; pass `GIT_BLAME_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_blame_options_init( + git_blame_options *opts, + unsigned int version); + +/** + * Structure that represents a blame hunk. + */ +typedef struct git_blame_hunk { + /** + * The number of lines in this hunk. + */ + size_t lines_in_hunk; + + /** + * The OID of the commit where this line was last changed. + */ + git_oid final_commit_id; + + /** + * The 1-based line number where this hunk begins, in the final version + * of the file. + */ + size_t final_start_line_number; + + /** + * The author of `final_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been + * specified, it will contain the canonical real name and email address. + */ + git_signature *final_signature; + + /** + * The committer of `final_commit_id`. If `GIT_BLAME_USE_MAILMAP` has + * been specified, it will contain the canonical real name and email + * address. + */ + git_signature *final_committer; + + /** + * The OID of the commit where this hunk was found. + * This will usually be the same as `final_commit_id`, except when + * `GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES` has been specified. + */ + git_oid orig_commit_id; + + /** + * The path to the file where this hunk originated, as of the commit + * specified by `orig_commit_id`. + */ + const char *orig_path; + + /** + * The 1-based line number where this hunk begins in the file named by + * `orig_path` in the commit specified by `orig_commit_id`. + */ + size_t orig_start_line_number; + + /** + * The author of `orig_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been + * specified, it will contain the canonical real name and email address. + */ + git_signature *orig_signature; + + /** + * The committer of `orig_commit_id`. If `GIT_BLAME_USE_MAILMAP` has + * been specified, it will contain the canonical real name and email + * address. + */ + git_signature *orig_committer; + + /* + * The summary of the commit. + */ + const char *summary; + + /** + * The 1 iff the hunk has been tracked to a boundary commit (the root, + * or the commit specified in git_blame_options.oldest_commit) + */ + char boundary; +} git_blame_hunk; + +/** + * Structure that represents a line in a blamed file. + */ +typedef struct git_blame_line { + const char *ptr; + size_t len; +} git_blame_line; + +/** Opaque structure to hold blame results */ +typedef struct git_blame git_blame; + +/** + * Gets the number of lines that exist in the blame structure. + * + * @param blame The blame structure to query. + * @return The number of line. + */ +GIT_EXTERN(size_t) git_blame_linecount(git_blame *blame); + +/** + * Gets the number of hunks that exist in the blame structure. + * + * @param blame The blame structure to query. + * @return The number of hunks. + */ +GIT_EXTERN(size_t) git_blame_hunkcount(git_blame *blame); + +/** + * Gets the blame hunk at the given index. + * + * @param blame the blame structure to query + * @param index index of the hunk to retrieve + * @return the hunk at the given index, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_hunk_byindex( + git_blame *blame, + size_t index); + +/** + * Gets the hunk that relates to the given line number in the newest + * commit. + * + * @param blame the blame structure to query + * @param lineno the (1-based) line number to find a hunk for + * @return the hunk that contains the given line, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_hunk_byline( + git_blame *blame, + size_t lineno); + +/** + * Gets the information about the line in the blame. + * + * @param blame the blame structure to query + * @param idx the (1-based) line number + * @return the blamed line, or NULL on error + */ +GIT_EXTERN(const git_blame_line *) git_blame_line_byindex( + git_blame *blame, + size_t idx); + +#ifndef GIT_DEPRECATE_HARD +/** + * Gets the number of hunks that exist in the blame structure. + * + * @param blame The blame structure to query. + * @return The number of hunks. + */ + +GIT_EXTERN(uint32_t) git_blame_get_hunk_count(git_blame *blame); + +/** + * Gets the blame hunk at the given index. + * + * @param blame the blame structure to query + * @param index index of the hunk to retrieve + * @return the hunk at the given index, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_get_hunk_byindex( + git_blame *blame, + uint32_t index); + +/** + * Gets the hunk that relates to the given line number in the newest commit. + * + * @param blame the blame structure to query + * @param lineno the (1-based) line number to find a hunk for + * @return the hunk that contains the given line, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_get_hunk_byline( + git_blame *blame, + size_t lineno); +#endif + +/** + * Get the blame for a single file in the repository. + * + * @param out pointer that will receive the blame object + * @param repo repository whose history is to be walked + * @param path path to file to consider + * @param options options for the blame operation or NULL + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_blame_file( + git_blame **out, + git_repository *repo, + const char *path, + git_blame_options *options); + +/** + * Get the blame for a single file in the repository, using the specified + * buffer contents as the uncommitted changes of the file (the working + * directory contents). + * + * @param out pointer that will receive the blame object + * @param repo repository whose history is to be walked + * @param path path to file to consider + * @param contents the uncommitted changes + * @param contents_len the length of the changes buffer + * @param options options for the blame operation or NULL + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_blame_file_from_buffer( + git_blame **out, + git_repository *repo, + const char *path, + const char *contents, + size_t contents_len, + git_blame_options *options); + +/** + * Get blame data for a file that has been modified in memory. The `blame` + * parameter is a pre-calculated blame for the in-odb history of the file. + * This means that once a file blame is completed (which can be expensive), + * updating the buffer blame is very fast. + * + * Lines that differ between the buffer and the committed version are + * marked as having a zero OID for their final_commit_id. + * + * @param out pointer that will receive the resulting blame data + * @param base cached blame from the history of the file (usually the output + * from git_blame_file) + * @param buffer the (possibly) modified contents of the file + * @param buffer_len number of valid bytes in the buffer + * @return 0 on success, or an error code. (use git_error_last for information + * about the error) + */ +GIT_EXTERN(int) git_blame_buffer( + git_blame **out, + git_blame *base, + const char *buffer, + size_t buffer_len); + +/** + * Free memory allocated by git_blame_file or git_blame_buffer. + * + * @param blame the blame structure to free + */ +GIT_EXTERN(void) git_blame_free(git_blame *blame); + +/** @} */ +GIT_END_DECL +#endif + diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/blob.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/blob.h new file mode 100644 index 00000000..0ed16855 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/blob.h @@ -0,0 +1,354 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_blob_h__ +#define INCLUDE_git_blob_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" +#include "buffer.h" + +/** + * @file git2/blob.h + * @brief A blob represents a file in a git repository. + * @defgroup git_blob Git blob load and write routines + * @ingroup Git + * + * A blob represents a file in a git repository. This is the raw data + * as it is stored in the repository itself. Blobs may be "filtered" + * to produce the on-disk content. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a blob object from a repository. + * + * @param[out] blob pointer to the looked up blob + * @param repo the repo to use when locating the blob. + * @param id identity of the blob to locate. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_lookup( + git_blob **blob, + git_repository *repo, + const git_oid *id); + +/** + * Lookup a blob object from a repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param[out] blob pointer to the looked up blob + * @param repo the repo to use when locating the blob. + * @param id identity of the blob to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_lookup_prefix(git_blob **blob, git_repository *repo, const git_oid *id, size_t len); + +/** + * Close an open blob + * + * This is a wrapper around git_object_free() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a blob. Failure to do so will cause a memory leak. + * + * @param blob the blob to close + */ +GIT_EXTERN(void) git_blob_free(git_blob *blob); + +/** + * Get the id of a blob. + * + * @param blob a previously loaded blob. + * @return SHA1 hash for this blob. + */ +GIT_EXTERN(const git_oid *) git_blob_id(const git_blob *blob); + +/** + * Get the repository that contains the blob. + * + * @param blob A previously loaded blob. + * @return Repository that contains this blob. + */ +GIT_EXTERN(git_repository *) git_blob_owner(const git_blob *blob); + +/** + * Get a read-only buffer with the raw content of a blob. + * + * 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. + * + * @param blob pointer to the blob + * @return @type `unsigned char *` the pointer, or NULL on error + */ +GIT_EXTERN(const void *) git_blob_rawcontent(const git_blob *blob); + +/** + * Get the size in bytes of the contents of a blob + * + * @param blob pointer to the blob + * @return size in bytes + */ +GIT_EXTERN(git_object_size_t) git_blob_rawsize(const git_blob *blob); + +/** + * Flags to control the functionality of `git_blob_filter`. + * + * @flags + */ +typedef enum { + /** When set, filters will not be applied to binary files. */ + GIT_BLOB_FILTER_CHECK_FOR_BINARY = (1 << 0), + + /** + * When set, filters will not load configuration from the + * system-wide `gitattributes` in `/etc` (or system equivalent). + */ + GIT_BLOB_FILTER_NO_SYSTEM_ATTRIBUTES = (1 << 1), + + /** + * When set, filters will be loaded from a `.gitattributes` file + * in the HEAD commit. + */ + GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD = (1 << 2), + + /** + * When set, filters will be loaded from a `.gitattributes` file + * in the specified commit. + */ + GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT = (1 << 3) +} git_blob_filter_flag_t; + +/** + * The options used when applying filter options to a file. + * + * Initialize with `GIT_BLOB_FILTER_OPTIONS_INIT`. Alternatively, you can + * use `git_blob_filter_options_init`. + * + * @options[version] GIT_BLOB_FILTER_OPTIONS_VERSION + * @options[init_macro] GIT_BLOB_FILTER_OPTIONS_INIT + * @options[init_function] git_blob_filter_options_init + */ +typedef struct { + /** Version number of the options structure. */ + int version; + + /** + * Flags to control the filtering process, see `git_blob_filter_flag_t` above. + * + * @type[flags] git_blob_filter_flag_t + */ + uint32_t flags; + +#ifdef GIT_DEPRECATE_HARD + /** + * Unused and reserved for ABI compatibility. + * + * @deprecated this value should not be set + */ + void *reserved; +#else + /** + * This value is unused and reserved for API compatibility. + * + * @deprecated this value should not be set + */ + git_oid *commit_id; +#endif + + /** + * The commit to load attributes from, when + * `GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT` is specified. + */ + git_oid attr_commit_id; +} git_blob_filter_options; + +/** + * The current version number for the `git_blob_filter_options` structure ABI. + */ +#define GIT_BLOB_FILTER_OPTIONS_VERSION 1 + +/** + * The default values for `git_blob_filter_options`. + */ +#define GIT_BLOB_FILTER_OPTIONS_INIT { \ + GIT_BLOB_FILTER_OPTIONS_VERSION, \ + GIT_BLOB_FILTER_CHECK_FOR_BINARY \ + } + +/** + * Initialize git_blob_filter_options structure + * + * Initializes a `git_blob_filter_options` with default values. Equivalent + * to creating an instance with `GIT_BLOB_FILTER_OPTIONS_INIT`. + * + * @param opts The `git_blob_filter_options` struct to initialize. + * @param version The struct version; pass GIT_BLOB_FILTER_OPTIONS_VERSION + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_blob_filter_options_init( + git_blob_filter_options *opts, + unsigned int version); + +/** + * Get a buffer with the filtered content of a blob. + * + * 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. + * + * The output is written into a `git_buf` which the caller must dispose + * when done (via `git_buf_dispose`). + * + * 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. + * + * @param out The git_buf to be filled in + * @param blob Pointer to the blob + * @param as_path Path used for file attribute lookups, etc. + * @param opts Options to use for filtering the blob + * @return @type[enum] git_error_code 0 on success or an error code + */ +GIT_EXTERN(int) git_blob_filter( + git_buf *out, + git_blob *blob, + const char *as_path, + git_blob_filter_options *opts); + +/** + * Read a file from the working folder of a repository and write it + * to the object database. + * + * @param[out] id return the id of the written blob + * @param repo repository where the blob will be written. + * this repository cannot be bare + * @param relative_path file from which the blob will be created, + * relative to the repository's working dir + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_workdir(git_oid *id, git_repository *repo, const char *relative_path); + +/** + * Read a file from the filesystem (not necessarily inside the + * working folder of the repository) and write it to the object + * database. + * + * @param[out] id return the id of the written blob + * @param repo repository where the blob will be written. + * this repository can be bare or not + * @param path file from which the blob will be created + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_disk( + git_oid *id, + git_repository *repo, + const char *path); + +/** + * Create a stream to write a new blob into the object database. + * + * 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()`. + * + * 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. + * + * 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. + * + * @param[out] out the stream into which to write + * @param repo Repository where the blob will be written. + * This repository can be bare or not. + * @param hintpath If not NULL, will be used to select data filters + * to apply onto the content of the blob to be created. + * @return 0 or error code + */ +GIT_EXTERN(int) git_blob_create_from_stream( + git_writestream **out, + git_repository *repo, + const char *hintpath); + +/** + * Close the stream and finalize writing the blob to the object database. + * + * The stream will be closed and freed. + * + * @param[out] out the id of the new blob + * @param stream the stream to close + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_stream_commit( + git_oid *out, + git_writestream *stream); + +/** + * Write an in-memory buffer to the object database as a blob. + * + * @param[out] id return the id of the written blob + * @param repo repository where the blob will be written + * @param buffer data to be written into the blob + * @param len length of the data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_buffer( + git_oid *id, git_repository *repo, const void *buffer, size_t len); + +/** + * Determine if the blob content is most likely binary or not. + * + * 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. + * + * @param blob The blob which content should be analyzed + * @return @type bool 1 if the content of the blob is detected + * as binary; 0 otherwise. + */ +GIT_EXTERN(int) git_blob_is_binary(const git_blob *blob); + +/** + * Determine if the given content is most certainly binary or not; + * this is the same mechanism used by `git_blob_is_binary` but only + * looking at raw data. + * + * @param data The blob data which content should be analyzed + * @param len The length of the data + * @return 1 if the content of the blob is detected + * as binary; 0 otherwise. + */ +GIT_EXTERN(int) git_blob_data_is_binary(const char *data, size_t len); + +/** + * Create an in-memory copy of a blob. The copy must be explicitly + * free'd or it will leak. + * + * @param[out] out Pointer to store the copy of the object + * @param source Original object to copy + * @return 0. + */ +GIT_EXTERN(int) git_blob_dup(git_blob **out, git_blob *source); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/branch.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/branch.h new file mode 100644 index 00000000..56d737d0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/branch.h @@ -0,0 +1,343 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_branch_h__ +#define INCLUDE_git_branch_h__ + +#include "common.h" +#include "oid.h" +#include "types.h" + +/** + * @file git2/branch.h + * @brief Branch creation and handling + * @defgroup git_branch Git branch management + * @ingroup Git + * + * A branch is a specific type of reference, at any particular time, + * a git working directory typically is said to have a branch "checked out", + * meaning that commits that are created will be made "on" a branch. + * This occurs by updating the branch reference to point to the new + * commit. The checked out branch is indicated by the `HEAD` meta-ref. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new branch pointing at a target commit + * + * A new direct reference will be created pointing to + * this target commit. If `force` is true and a reference + * already exists with the given name, it'll be replaced. + * + * The returned reference must be freed by the user. + * + * The branch name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param out Pointer where to store the underlying reference. + * @param repo the repository to create the branch in. + * @param branch_name Name for the branch; this name is + * validated for consistency. It should also not conflict with + * an already existing branch name. + * @param target Commit to which this branch should point. This object + * must belong to the given `repo`. + * @param force Overwrite existing branch. + * @return 0, GIT_EINVALIDSPEC or an error code. + * A proper reference is written in the refs/heads namespace + * pointing to the provided target commit. + */ +GIT_EXTERN(int) git_branch_create( + git_reference **out, + git_repository *repo, + const char *branch_name, + const git_commit *target, + int force); + +/** + * Create a new branch pointing at a target commit + * + * 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. + * + * @param ref_out Pointer where to store the underlying reference. + * @param repo the repository to create the branch in. + * @param branch_name Name for the branch; this name is + * validated for consistency. It should also not conflict with + * an already existing branch name. + * @param target Annotated commit to which this branch should point. This + * object must belong to the given `repo`. + * @param force Overwrite existing branch. + * @return 0, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_branch_create_from_annotated( + git_reference **ref_out, + git_repository *repo, + const char *branch_name, + const git_annotated_commit *target, + int force); + +/** + * Delete an existing branch reference. + * + * Note that if the deletion succeeds, the reference object will not + * be valid anymore, and should be freed immediately by the user using + * `git_reference_free()`. + * + * @param branch A valid reference representing a branch + * @return 0 on success, or an error code. + */ +GIT_EXTERN(int) git_branch_delete(git_reference *branch); + +/** Iterator type for branches */ +typedef struct git_branch_iterator git_branch_iterator; + +/** + * Create an iterator which loops over the requested branches. + * + * @param out the iterator + * @param repo Repository where to find the branches. + * @param list_flags Filtering flags for the branch + * listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE + * or GIT_BRANCH_ALL. + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_branch_iterator_new( + git_branch_iterator **out, + git_repository *repo, + git_branch_t list_flags); + +/** + * Retrieve the next branch from the iterator + * + * @param out the reference + * @param out_type the type of branch (local or remote-tracking) + * @param iter the branch iterator + * @return 0 on success, GIT_ITEROVER if there are no more branches or an error code. + */ +GIT_EXTERN(int) git_branch_next(git_reference **out, git_branch_t *out_type, git_branch_iterator *iter); + +/** + * Free a branch iterator + * + * @param iter the iterator to free + */ +GIT_EXTERN(void) git_branch_iterator_free(git_branch_iterator *iter); + +/** + * Move/rename an existing local branch reference. + * + * The new branch name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * Note that if the move succeeds, the old reference object will not + * be valid anymore, and should be freed immediately by the user using + * `git_reference_free()`. + * + * @param out New reference object for the updated name. + * + * @param branch Current underlying reference of the branch. + * + * @param new_branch_name Target name of the branch once the move + * is performed; this name is validated for consistency. + * + * @param force Overwrite existing branch. + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_branch_move( + git_reference **out, + git_reference *branch, + const char *new_branch_name, + int force); + +/** + * Lookup a branch by its name in a repository. + * + * The generated reference must be freed by the user. + * The branch name will be checked for validity. + * + * @see git_tag_create for rules about valid names. + * + * @param out pointer to the looked-up branch reference + * @param repo the repository to look up the branch + * @param branch_name Name of the branch to be looked-up; + * this name is validated for consistency. + * @param branch_type Type of the considered branch. This should + * be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE. + * + * @return 0 on success; GIT_ENOTFOUND when no matching branch + * exists, GIT_EINVALIDSPEC, otherwise an error code. + */ +GIT_EXTERN(int) git_branch_lookup( + git_reference **out, + git_repository *repo, + const char *branch_name, + git_branch_t branch_type); + +/** + * Get the branch name + * + * 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. + * + * @param out Pointer to the abbreviated reference name. + * Owned by ref, do not free. + * + * @param ref A reference object, ideally pointing to a branch + * + * @return 0 on success; GIT_EINVALID if the reference isn't either a local or + * remote branch, otherwise an error code. + */ +GIT_EXTERN(int) git_branch_name( + const char **out, + const git_reference *ref); + +/** + * Get the upstream of a branch + * + * Given a reference, this will return a new reference object corresponding + * to its remote tracking branch. The reference must be a local branch. + * + * @see git_branch_upstream_name for details on the resolution. + * + * @param out Pointer where to store the retrieved reference. + * @param branch Current underlying reference of the branch. + * + * @return 0 on success; GIT_ENOTFOUND when no remote tracking + * reference exists, otherwise an error code. + */ +GIT_EXTERN(int) git_branch_upstream( + git_reference **out, + const git_reference *branch); + +/** + * Set a branch's upstream branch + * + * 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. + * + * @note the actual tracking reference must have been already created for the + * operation to succeed. + * + * @param branch the branch to configure + * @param branch_name remote-tracking or local branch to set as upstream. + * + * @return @type git_error_t 0 on success; GIT_ENOTFOUND if there's no branch named `branch_name` + * or an error code + */ +GIT_EXTERN(int) git_branch_set_upstream( + git_reference *branch, + const char *branch_name); + +/** + * Get the upstream name of a branch + * + * Given a local branch, this will return its remote-tracking branch information, + * as a full reference name, ie. "feature/nice" would become + * "refs/remote/origin/feature/nice", depending on that branch's configuration. + * + * @param out the buffer into which the name will be written. + * @param repo the repository where the branches live. + * @param refname reference name of the local branch. + * + * @return 0 on success, GIT_ENOTFOUND when no remote tracking reference exists, + * or an error code. + */ +GIT_EXTERN(int) git_branch_upstream_name( + git_buf *out, + git_repository *repo, + const char *refname); + +/** + * Determine if HEAD points to the given branch + * + * @param branch A reference to a local branch. + * + * @return 1 if HEAD points at the branch, 0 if it isn't, or a negative value + * as an error code. + */ +GIT_EXTERN(int) git_branch_is_head( + const git_reference *branch); + +/** + * Determine if any HEAD points to the current branch + * + * This will iterate over all known linked repositories (usually in the form of + * worktrees) and report whether any HEAD is pointing at the current branch. + * + * @param branch A reference to a local branch. + * + * @return 1 if branch is checked out, 0 if it isn't, an error code otherwise. + */ +GIT_EXTERN(int) git_branch_is_checked_out( + const git_reference *branch); + +/** + * Find the remote name of a remote-tracking branch + * + * This will return the name of the remote whose fetch refspec is matching + * the given branch. E.g. given a branch "refs/remotes/test/master", it will + * extract the "test" part. If refspecs from multiple remotes match, + * the function will return GIT_EAMBIGUOUS. + * + * @param out The buffer into which the name will be written. + * @param repo The repository where the branch lives. + * @param refname complete name of the remote tracking branch. + * + * @return 0 on success, GIT_ENOTFOUND when no matching remote was found, + * GIT_EAMBIGUOUS when the branch maps to several remotes, + * otherwise an error code. + */ +GIT_EXTERN(int) git_branch_remote_name( + git_buf *out, + git_repository *repo, + const char *refname); + +/** + * Retrieve the upstream remote of a local branch + * + * This will return the currently configured "branch.*.remote" for a given + * branch. This branch must be local. + * + * @param buf the buffer into which to write the name + * @param repo the repository in which to look + * @param refname the full name of the branch + * @return 0 or an error code + */ + GIT_EXTERN(int) git_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *refname); + +/** + * Retrieve the upstream merge of a local branch + * + * This will return the currently configured "branch.*.merge" for a given + * branch. This branch must be local. + * + * @param buf the buffer into which to write the name + * @param repo the repository in which to look + * @param refname the full name of the branch + * @return 0 or an error code + */ + GIT_EXTERN(int) git_branch_upstream_merge(git_buf *buf, git_repository *repo, const char *refname); + +/** + * Determine whether a branch name is valid, meaning that (when prefixed + * with `refs/heads/`) that it is a valid reference name, and that any + * additional branch name restrictions are imposed (eg, it cannot start + * with a `-`). + * + * @param valid output pointer to set with validity of given branch name + * @param name a branch name to test + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_branch_name_is_valid(int *valid, const char *name); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/buffer.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/buffer.h new file mode 100644 index 00000000..3fe4f854 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/buffer.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_buf_h__ +#define INCLUDE_git_buf_h__ + +#include "common.h" + +/** + * @file git2/buffer.h + * @brief A data structure to return data to callers + * @ingroup Git + * + * The `git_buf` buffer is used to return arbitrary data - typically + * strings - to callers. Callers are responsible for freeing the memory + * in a buffer with the `git_buf_dispose` function. + * @{ + */ +GIT_BEGIN_DECL + +/** + * A data buffer for exporting data from libgit2 + * + * Sometimes libgit2 wants to return an allocated data buffer to the + * caller and have the caller take responsibility for freeing that memory. + * To make ownership clear in these cases, libgit2 uses `git_buf` to + * return this data. Callers should use `git_buf_dispose()` to release + * the memory when they are done. + * + * A `git_buf` contains a pointer to a NUL-terminated C string, and + * the length of the string (not including the NUL terminator). + */ +typedef struct { + /** + * The buffer contents. `ptr` points to the start of the buffer + * being returned. The buffer's length (in bytes) is specified + * by the `size` member of the structure, and contains a NUL + * terminator at position `(size + 1)`. + */ + char *ptr; + + /** + * This field is reserved and unused. + */ + size_t reserved; + + /** + * The length (in bytes) of the buffer pointed to by `ptr`, + * not including a NUL terminator. + */ + size_t size; +} git_buf; + +/** + * Use to initialize a `git_buf` before passing it to a function that + * will populate it. + */ +#define GIT_BUF_INIT { NULL, 0, 0 } + +/** + * Free the memory referred to by the git_buf. + * + * Note that this does not free the `git_buf` itself, just the memory + * pointed to by `buffer->ptr`. + * + * @param buffer The buffer to deallocate + */ +GIT_EXTERN(void) git_buf_dispose(git_buf *buffer); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cert.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cert.h new file mode 100644 index 00000000..7b91b638 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cert.h @@ -0,0 +1,173 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_cert_h__ +#define INCLUDE_git_cert_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/cert.h + * @brief TLS and SSH certificate handling + * @defgroup git_cert Certificate objects + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Type of host certificate structure that is passed to the check callback + */ +typedef enum git_cert_t { + /** + * No information about the certificate is available. This may + * happen when using curl. + */ + GIT_CERT_NONE, + /** + * The `data` argument to the callback will be a pointer to + * the DER-encoded data. + */ + GIT_CERT_X509, + /** + * The `data` argument to the callback will be a pointer to a + * `git_cert_hostkey` structure. + */ + GIT_CERT_HOSTKEY_LIBSSH2, + /** + * The `data` argument to the callback will be a pointer to a + * `git_strarray` with `name:content` strings containing + * information about the certificate. This is used when using + * curl. + */ + GIT_CERT_STRARRAY +} git_cert_t; + +/** + * Parent type for `git_cert_hostkey` and `git_cert_x509`. + */ +struct git_cert { + /** + * Type of certificate. A `GIT_CERT_` value. + */ + git_cert_t cert_type; +}; + +/** + * Callback for the user's custom certificate checks. + * + * @param cert The host certificate + * @param valid Whether the libgit2 checks (OpenSSL or WinHTTP) think + * this certificate is valid + * @param host Hostname of the host libgit2 connected to + * @param payload Payload provided by the caller + * @return 0 to proceed with the connection, < 0 to fail the connection + * or > 0 to indicate that the callback refused to act and that + * the existing validity determination should be honored + */ +typedef int GIT_CALLBACK(git_transport_certificate_check_cb)(git_cert *cert, int valid, const char *host, void *payload); + +/** + * Type of SSH host fingerprint + */ +typedef enum { + /** MD5 is available */ + GIT_CERT_SSH_MD5 = (1 << 0), + /** SHA-1 is available */ + GIT_CERT_SSH_SHA1 = (1 << 1), + /** SHA-256 is available */ + GIT_CERT_SSH_SHA256 = (1 << 2), + /** Raw hostkey is available */ + GIT_CERT_SSH_RAW = (1 << 3) +} git_cert_ssh_t; + +typedef enum { + /** The raw key is of an unknown type. */ + GIT_CERT_SSH_RAW_TYPE_UNKNOWN = 0, + /** The raw key is an RSA key. */ + GIT_CERT_SSH_RAW_TYPE_RSA = 1, + /** The raw key is a DSS key. */ + GIT_CERT_SSH_RAW_TYPE_DSS = 2, + /** The raw key is a ECDSA 256 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_256 = 3, + /** The raw key is a ECDSA 384 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_384 = 4, + /** The raw key is a ECDSA 521 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_521 = 5, + /** The raw key is a ED25519 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ED25519 = 6 +} git_cert_ssh_raw_type_t; + +/** + * Hostkey information taken from libssh2 + */ +typedef struct { + git_cert parent; /**< The parent cert */ + + /** + * A bitmask containing the available fields. + */ + git_cert_ssh_t type; + + /** + * Hostkey hash. If `type` has `GIT_CERT_SSH_MD5` set, this will + * have the MD5 hash of the hostkey. + */ + unsigned char hash_md5[16]; + + /** + * Hostkey hash. If `type` has `GIT_CERT_SSH_SHA1` set, this will + * have the SHA-1 hash of the hostkey. + */ + unsigned char hash_sha1[20]; + + /** + * Hostkey hash. If `type` has `GIT_CERT_SSH_SHA256` set, this will + * have the SHA-256 hash of the hostkey. + */ + unsigned char hash_sha256[32]; + + /** + * Raw hostkey type. If `type` has `GIT_CERT_SSH_RAW` set, this will + * have the type of the raw hostkey. + */ + git_cert_ssh_raw_type_t raw_type; + + /** + * Pointer to the raw hostkey. If `type` has `GIT_CERT_SSH_RAW` set, + * this will have the raw contents of the hostkey. + */ + const char *hostkey; + + /** + * Raw hostkey length. If `type` has `GIT_CERT_SSH_RAW` set, this will + * have the length of the raw contents of the hostkey. + */ + size_t hostkey_len; +} git_cert_hostkey; + +/** + * X.509 certificate information + */ +typedef struct { + git_cert parent; /**< The parent cert */ + + /** + * Pointer to the X.509 certificate data + */ + void *data; + + /** + * Length of the memory block pointed to by `data`. + */ + size_t len; +} git_cert_x509; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/checkout.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/checkout.h new file mode 100644 index 00000000..bdea9284 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/checkout.h @@ -0,0 +1,468 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_checkout_h__ +#define INCLUDE_git_checkout_h__ + +#include "common.h" +#include "types.h" +#include "diff.h" + +/** + * @file git2/checkout.h + * @brief Update the contents of the working directory + * @defgroup git_checkout Git checkout routines + * @ingroup Git + * + * Update the contents of the working directory, or a subset of the + * files in the working directory, to point to the data in the index + * or a specific commit. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Checkout behavior flags + * + * 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. + * + * 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. + * + * You give checkout one of two strategies for update: + * + * - `GIT_CHECKOUT_SAFE` is the default, and similar to git's default, + * which will make modifications that will not lose changes in the + * working directory. + * + * | target == baseline | target != baseline | + * ---------------------|-----------------------|----------------------| + * workdir == baseline | no action | create, update, or | + * | | delete file | + * ---------------------|-----------------------|----------------------| + * workdir exists and | no action | conflict (notify | + * is != baseline | notify dirty MODIFIED | and cancel checkout) | + * ---------------------|-----------------------|----------------------| + * workdir missing, | notify dirty DELETED | create file | + * baseline present | | | + * ---------------------|-----------------------|----------------------| + * + * - `GIT_CHECKOUT_FORCE` will take any action to make the working + * directory match the target (including potentially discarding + * modified files). + * + * 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. + * + * 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. + * + * To emulate `git checkout -f`, use `GIT_CHECKOUT_FORCE`. + * + * + * There are some additional flags to modify the behavior of checkout: + * + * - `GIT_CHECKOUT_DRY_RUN` is a dry-run strategy that checks for conflicts, + * etc., but doesn't make any actual changes. + * + * - GIT_CHECKOUT_ALLOW_CONFLICTS makes SAFE mode apply safe file updates + * even if there are conflicts (instead of cancelling the checkout). + * + * - GIT_CHECKOUT_REMOVE_UNTRACKED means remove untracked files (i.e. not + * in target, baseline, or index, and not ignored) from the working dir. + * + * - GIT_CHECKOUT_REMOVE_IGNORED means remove ignored files (that are also + * untracked) from the working directory as well. + * + * - GIT_CHECKOUT_UPDATE_ONLY means to only update the content of files that + * already exist. Files will not be created nor deleted. This just skips + * applying adds, deletes, and typechanges. + * + * - GIT_CHECKOUT_DONT_UPDATE_INDEX prevents checkout from writing the + * updated files' information to the index. + * + * - Normally, checkout will reload the index and git attributes from disk + * before any operations. GIT_CHECKOUT_NO_REFRESH prevents this reload. + * + * - Unmerged index entries are conflicts. GIT_CHECKOUT_SKIP_UNMERGED skips + * files with unmerged index entries instead. GIT_CHECKOUT_USE_OURS and + * GIT_CHECKOUT_USE_THEIRS to proceed with the checkout using either the + * stage 2 ("ours") or stage 3 ("theirs") version of files in the index. + * + * - GIT_CHECKOUT_DONT_OVERWRITE_IGNORED prevents ignored files from being + * overwritten. Normally, files that are ignored in the working directory + * are not considered "precious" and may be overwritten if the checkout + * target contains that file. + * + * - GIT_CHECKOUT_DONT_REMOVE_EXISTING prevents checkout from removing + * files or folders that fold to the same name on case insensitive + * filesystems. This can cause files to retain their existing names + * and write through existing symbolic links. + * + * @flags + */ +typedef enum { + /** + * Allow safe updates that cannot overwrite uncommitted data. + * If the uncommitted changes don't conflict with the checked + * out files, the checkout will still proceed, leaving the + * changes intact. + */ + GIT_CHECKOUT_SAFE = 0, + + /** + * Allow all updates to force working directory to look like + * the index, potentially losing data in the process. + */ + GIT_CHECKOUT_FORCE = (1u << 1), + + /** Allow checkout to recreate missing files */ + GIT_CHECKOUT_RECREATE_MISSING = (1u << 2), + + /** Allow checkout to make safe updates even if conflicts are found */ + GIT_CHECKOUT_ALLOW_CONFLICTS = (1u << 4), + + /** Remove untracked files not in index (that are not ignored) */ + GIT_CHECKOUT_REMOVE_UNTRACKED = (1u << 5), + + /** Remove ignored files not in index */ + GIT_CHECKOUT_REMOVE_IGNORED = (1u << 6), + + /** Only update existing files, don't create new ones */ + GIT_CHECKOUT_UPDATE_ONLY = (1u << 7), + + /** + * Normally checkout updates index entries as it goes; this stops that. + * Implies `GIT_CHECKOUT_DONT_WRITE_INDEX`. + */ + GIT_CHECKOUT_DONT_UPDATE_INDEX = (1u << 8), + + /** Don't refresh index/config/etc before doing checkout */ + GIT_CHECKOUT_NO_REFRESH = (1u << 9), + + /** Allow checkout to skip unmerged files */ + GIT_CHECKOUT_SKIP_UNMERGED = (1u << 10), + /** For unmerged files, checkout stage 2 from index */ + GIT_CHECKOUT_USE_OURS = (1u << 11), + /** For unmerged files, checkout stage 3 from index */ + GIT_CHECKOUT_USE_THEIRS = (1u << 12), + + /** Treat pathspec as simple list of exact match file paths */ + GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH = (1u << 13), + + /** Ignore directories in use, they will be left empty */ + GIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES = (1u << 18), + + /** Don't overwrite ignored files that exist in the checkout target */ + GIT_CHECKOUT_DONT_OVERWRITE_IGNORED = (1u << 19), + + /** Write normal merge files for conflicts */ + GIT_CHECKOUT_CONFLICT_STYLE_MERGE = (1u << 20), + + /** Include common ancestor data in diff3 format files for conflicts */ + GIT_CHECKOUT_CONFLICT_STYLE_DIFF3 = (1u << 21), + + /** Don't overwrite existing files or folders */ + GIT_CHECKOUT_DONT_REMOVE_EXISTING = (1u << 22), + + /** Normally checkout writes the index upon completion; this prevents that. */ + GIT_CHECKOUT_DONT_WRITE_INDEX = (1u << 23), + + /** + * Perform a "dry run", reporting what _would_ be done but + * without actually making changes in the working directory + * or the index. + */ + GIT_CHECKOUT_DRY_RUN = (1u << 24), + + /** Include common ancestor data in zdiff3 format for conflicts */ + GIT_CHECKOUT_CONFLICT_STYLE_ZDIFF3 = (1u << 25), + + /** + * Do not do a checkout and do not fire callbacks; this is primarily + * useful only for internal functions that will perform the + * checkout themselves but need to pass checkout options into + * another function, for example, `git_clone`. + */ + GIT_CHECKOUT_NONE = (1u << 30), + + /* + * THE FOLLOWING OPTIONS ARE NOT YET IMPLEMENTED + */ + + /** Recursively checkout submodules with same options (NOT IMPLEMENTED) */ + GIT_CHECKOUT_UPDATE_SUBMODULES = (1u << 16), + /** Recursively checkout submodules if HEAD moved in super repo (NOT IMPLEMENTED) */ + GIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED = (1u << 17) +} git_checkout_strategy_t; + +/** + * Checkout notification flags + * + * Checkout will invoke an options notification callback (`notify_cb`) for + * certain cases - you pick which ones via `notify_flags`: + * + * Returning a non-zero value from this callback will cancel the checkout. + * The non-zero return value will be propagated back and returned by the + * git_checkout_... call. + * + * Notification callbacks are made prior to modifying any files on disk, + * so canceling on any notification will still happen prior to any files + * being modified. + * + * @flags + */ +typedef enum { + GIT_CHECKOUT_NOTIFY_NONE = 0, + + /** + * Invokes checkout on conflicting paths. + */ + GIT_CHECKOUT_NOTIFY_CONFLICT = (1u << 0), + + /** + * Notifies about "dirty" files, i.e. those that do not need an update + * but no longer match the baseline. Core git displays these files when + * checkout runs, but won't stop the checkout. + */ + GIT_CHECKOUT_NOTIFY_DIRTY = (1u << 1), + + /** + * Sends notification for any file changed. + */ + GIT_CHECKOUT_NOTIFY_UPDATED = (1u << 2), + + /** + * Notifies about untracked files. + */ + GIT_CHECKOUT_NOTIFY_UNTRACKED = (1u << 3), + + /** + * Notifies about ignored files. + */ + GIT_CHECKOUT_NOTIFY_IGNORED = (1u << 4), + + GIT_CHECKOUT_NOTIFY_ALL = 0x0FFFFu +} git_checkout_notify_t; + +/** Checkout performance-reporting structure */ +typedef struct { + size_t mkdir_calls; + size_t stat_calls; + size_t chmod_calls; +} git_checkout_perfdata; + +/** + * Checkout notification callback function. + * + * @param why the notification reason + * @param path the path to the file being checked out + * @param baseline the baseline's diff file information + * @param target the checkout target diff file information + * @param workdir the working directory diff file information + * @param payload the user-supplied callback payload + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_checkout_notify_cb)( + 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); + +/** + * Checkout progress notification function. + * + * @param path the path to the file being checked out + * @param completed_steps number of checkout steps completed + * @param total_steps number of total steps in the checkout process + * @param payload the user-supplied callback payload + */ +typedef void GIT_CALLBACK(git_checkout_progress_cb)( + const char *path, + size_t completed_steps, + size_t total_steps, + void *payload); + +/** + * Checkout performance data reporting function. + * + * @param perfdata the performance data for the checkout + * @param payload the user-supplied callback payload + */ +typedef void GIT_CALLBACK(git_checkout_perfdata_cb)( + const git_checkout_perfdata *perfdata, + void *payload); + +/** + * Checkout options structure + * + * Initialize with `GIT_CHECKOUT_OPTIONS_INIT`. Alternatively, you can + * use `git_checkout_options_init`. + * + * @options[version] GIT_CHECKOUT_OPTIONS_VERSION + * @options[init_macro] GIT_CHECKOUT_OPTIONS_INIT + * @options[init_function] git_checkout_options_init + */ +typedef struct git_checkout_options { + unsigned int version; /**< The version */ + + /** + * Checkout strategy. Default is a safe checkout. + * + * @type[flags] git_checkout_strategy_t + */ + unsigned int checkout_strategy; /**< default will be a safe checkout */ + + int disable_filters; /**< don't apply filters like CRLF conversion */ + unsigned int dir_mode; /**< default is 0755 */ + unsigned int file_mode; /**< default is 0644 or 0755 as dictated by blob */ + int file_open_flags; /**< default is O_CREAT | O_TRUNC | O_WRONLY */ + + /** + * Checkout notification flags specify what operations the notify + * callback is invoked for. + * + * @type[flags] git_checkout_notify_t + */ + unsigned int notify_flags; + + /** + * Optional callback to get notifications on specific file states. + * @see git_checkout_notify_t + */ + git_checkout_notify_cb notify_cb; + + /** Payload passed to notify_cb */ + void *notify_payload; + + /** Optional callback to notify the consumer of checkout progress. */ + git_checkout_progress_cb progress_cb; + + /** Payload passed to progress_cb */ + void *progress_payload; + + /** + * A list of wildmatch patterns or paths. + * + * By default, all paths are processed. If you pass an array of wildmatch + * patterns, those will be used to filter which paths should be taken into + * account. + * + * Use GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH to treat as a simple list. + */ + git_strarray paths; + + /** + * The expected content of the working directory; defaults to HEAD. + * + * If the working directory does not match this baseline information, + * that will produce a checkout conflict. + */ + git_tree *baseline; + + /** + * Like `baseline` above, though expressed as an index. This + * option overrides `baseline`. + */ + git_index *baseline_index; + + const char *target_directory; /**< alternative checkout path to workdir */ + + const char *ancestor_label; /**< the name of the common ancestor side of conflicts */ + const char *our_label; /**< the name of the "our" side of conflicts */ + const char *their_label; /**< the name of the "their" side of conflicts */ + + /** Optional callback to notify the consumer of performance data. */ + git_checkout_perfdata_cb perfdata_cb; + + /** Payload passed to perfdata_cb */ + void *perfdata_payload; +} git_checkout_options; + + +/** Current version for the `git_checkout_options` structure */ +#define GIT_CHECKOUT_OPTIONS_VERSION 1 + +/** Static constructor for `git_checkout_options` */ +#define GIT_CHECKOUT_OPTIONS_INIT { GIT_CHECKOUT_OPTIONS_VERSION } + +/** + * Initialize git_checkout_options structure + * + * Initializes a `git_checkout_options` with default values. Equivalent to creating + * an instance with GIT_CHECKOUT_OPTIONS_INIT. + * + * @param opts The `git_checkout_options` struct to initialize. + * @param version The struct version; pass `GIT_CHECKOUT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_checkout_options_init( + git_checkout_options *opts, + unsigned int version); + +/** + * Updates files in the index and the working tree to match the content of + * the commit pointed at by HEAD. + * + * Note that this is _not_ the correct mechanism used to switch branches; + * do not change your `HEAD` and then call this method, that would leave + * you with checkout conflicts since your working directory would then + * appear to be dirty. Instead, checkout the target of the branch and + * then update `HEAD` using `git_repository_set_head` to point to the + * branch you checked out. + * + * @param repo repository to check out (must be non-bare) + * @param opts specifies checkout options (may be NULL) + * @return 0 on success, GIT_EUNBORNBRANCH if HEAD points to a non + * existing branch, non-zero value returned by `notify_cb`, or + * other error code < 0 (use git_error_last for error details) + */ +GIT_EXTERN(int) git_checkout_head( + git_repository *repo, + const git_checkout_options *opts); + +/** + * Updates files in the working tree to match the content of the index. + * + * @param repo repository into which to check out (must be non-bare) + * @param index index to be checked out (or NULL to use repository index) + * @param opts specifies checkout options (may be NULL) + * @return 0 on success, non-zero return value from `notify_cb`, or error + * code < 0 (use git_error_last for error details) + */ +GIT_EXTERN(int) git_checkout_index( + git_repository *repo, + git_index *index, + const git_checkout_options *opts); + +/** + * Updates files in the index and working tree to match the content of the + * tree pointed at by the treeish. + * + * @param repo repository to check out (must be non-bare) + * @param treeish a commit, tag or tree which content will be used to update + * the working directory (or NULL to use HEAD) + * @param opts specifies checkout options (may be NULL) + * @return 0 on success, non-zero return value from `notify_cb`, or error + * code < 0 (use git_error_last for error details) + */ +GIT_EXTERN(int) git_checkout_tree( + git_repository *repo, + const git_object *treeish, + const git_checkout_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cherrypick.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cherrypick.h new file mode 100644 index 00000000..e6cf99ea --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cherrypick.h @@ -0,0 +1,99 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_cherrypick_h__ +#define INCLUDE_git_cherrypick_h__ + +#include "common.h" +#include "types.h" +#include "merge.h" + +/** + * @file git2/cherrypick.h + * @brief Cherry-pick the contents of an individual commit + * @defgroup git_cherrypick Git cherry-pick routines + * @ingroup Git + * + * "Cherry-pick" will attempts to re-apply the changes in an + * individual commit to the current index and working directory. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Cherry-pick options + */ +typedef struct { + unsigned int version; + + /** For merge commits, the "mainline" is treated as the parent. */ + unsigned int mainline; + + git_merge_options merge_opts; /**< Options for the merging */ + git_checkout_options checkout_opts; /**< Options for the checkout */ +} git_cherrypick_options; + +/** Current version for the `git_cherrypick_options` structure */ +#define GIT_CHERRYPICK_OPTIONS_VERSION 1 + +/** Static constructor for `git_cherrypick_options` */ +#define GIT_CHERRYPICK_OPTIONS_INIT { \ + GIT_CHERRYPICK_OPTIONS_VERSION, 0, \ + GIT_MERGE_OPTIONS_INIT, GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_cherrypick_options structure + * + * Initializes a `git_cherrypick_options` with default values. Equivalent to creating + * an instance with GIT_CHERRYPICK_OPTIONS_INIT. + * + * @param opts The `git_cherrypick_options` struct to initialize. + * @param version The struct version; pass `GIT_CHERRYPICK_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_cherrypick_options_init( + git_cherrypick_options *opts, + unsigned int version); + +/** + * Cherry-picks the given commit against the given "our" commit, producing an + * index that reflects the result of the cherry-pick. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo the repository that contains the given commits + * @param cherrypick_commit the commit to cherry-pick + * @param our_commit the commit to cherry-pick against (eg, HEAD) + * @param mainline the parent of the `cherrypick_commit`, if it is a merge + * @param merge_options the merge options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_cherrypick_commit( + git_index **out, + git_repository *repo, + git_commit *cherrypick_commit, + git_commit *our_commit, + unsigned int mainline, + const git_merge_options *merge_options); + +/** + * Cherry-pick the given commit, producing changes in the index and working directory. + * + * @param repo the repository to cherry-pick + * @param commit the commit to cherry-pick + * @param cherrypick_options the cherry-pick options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_cherrypick( + git_repository *repo, + git_commit *commit, + const git_cherrypick_options *cherrypick_options); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/clone.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/clone.h new file mode 100644 index 00000000..b7a47ab4 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/clone.h @@ -0,0 +1,225 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_clone_h__ +#define INCLUDE_git_clone_h__ + +#include "common.h" +#include "types.h" +#include "indexer.h" +#include "checkout.h" +#include "remote.h" +#include "transport.h" + + +/** + * @file git2/clone.h + * @brief Clone a remote repository to the local disk + * @defgroup git_clone Git cloning routines + * @ingroup Git + * + * Clone will take a remote repository - located on a remote server + * accessible by HTTPS or SSH, or a repository located elsewhere on + * the local disk - and place a copy in the given local path. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options for bypassing the git-aware transport on clone. Bypassing + * it means that instead of a fetch, libgit2 will copy the object + * database directory instead of figuring out what it needs, which is + * faster. If possible, it will hardlink the files to save space. + */ +typedef enum { + /** + * Auto-detect (default), libgit2 will bypass the git-aware + * transport for local paths, but use a normal fetch for + * `file://` urls. + */ + GIT_CLONE_LOCAL_AUTO, + /** + * Bypass the git-aware transport even for a `file://` url. + */ + GIT_CLONE_LOCAL, + /** + * Do no bypass the git-aware transport + */ + GIT_CLONE_NO_LOCAL, + /** + * Bypass the git-aware transport, but do not try to use + * hardlinks. + */ + GIT_CLONE_LOCAL_NO_LINKS +} git_clone_local_t; + +/** + * The signature of a function matching git_remote_create, with an additional + * void* as a callback payload. + * + * Callers of git_clone may provide a function matching this signature to override + * the remote creation and customization process during a clone operation. + * + * @param[out] out the resulting remote + * @param repo the repository in which to create the remote + * @param name the remote's name + * @param url the remote's url + * @param payload an opaque payload + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +typedef int GIT_CALLBACK(git_remote_create_cb)( + git_remote **out, + git_repository *repo, + const char *name, + const char *url, + void *payload); + +/** + * The signature of a function matching git_repository_init, with an + * additional void * as callback payload. + * + * Callers of git_clone my provide a function matching this signature + * to override the repository creation and customization process + * during a clone operation. + * + * @param[out] out the resulting repository + * @param path path in which to create the repository + * @param bare whether the repository is bare. This is the value from the clone options + * @param payload payload specified by the options + * @return 0, or a negative value to indicate error + */ +typedef int GIT_CALLBACK(git_repository_create_cb)( + git_repository **out, + const char *path, + int bare, + void *payload); + +/** + * Clone options structure + * + * Initialize with `GIT_CLONE_OPTIONS_INIT`. Alternatively, you can + * use `git_clone_options_init`. + * + * @options[version] GIT_CLONE_OPTIONS_VERSION + * @options[init_macro] GIT_CLONE_OPTIONS_INIT + * @options[init_function] git_clone_options_init + */ +typedef struct git_clone_options { + unsigned int version; + + /** + * These options are passed to the checkout step. To disable + * checkout, set the `checkout_strategy` to `GIT_CHECKOUT_NONE` + * or `GIT_CHECKOUT_DRY_RUN`. + */ + git_checkout_options checkout_opts; + + /** + * Options which control the fetch, including callbacks. + * + * The callbacks are used for reporting fetch progress, and for acquiring + * credentials in the event they are needed. + */ + git_fetch_options fetch_opts; + + /** + * Set to zero (false) to create a standard repo, or non-zero + * for a bare repo + */ + int bare; + + /** + * Whether to use a fetch or copy the object database. + */ + git_clone_local_t local; + + /** + * The name of the branch to checkout. NULL means use the + * remote's default branch. + */ + const char *checkout_branch; + + /** + * A callback used to create the new repository into which to + * clone. If NULL, the 'bare' field will be used to determine + * whether to create a bare repository. + */ + git_repository_create_cb repository_cb; + + /** + * An opaque payload to pass to the git_repository creation callback. + * This parameter is ignored unless repository_cb is non-NULL. + */ + void *repository_cb_payload; + + /** + * A callback used to create the git_remote, prior to its being + * used to perform the clone operation. See the documentation for + * git_remote_create_cb for details. This parameter may be NULL, + * indicating that git_clone should provide default behavior. + */ + git_remote_create_cb remote_cb; + + /** + * An opaque payload to pass to the git_remote creation callback. + * This parameter is ignored unless remote_cb is non-NULL. + */ + void *remote_cb_payload; +} git_clone_options; + +/** Current version for the `git_clone_options` structure */ +#define GIT_CLONE_OPTIONS_VERSION 1 + +/** Static constructor for `git_clone_options` */ +#define GIT_CLONE_OPTIONS_INIT \ + { GIT_CLONE_OPTIONS_VERSION, \ + GIT_CHECKOUT_OPTIONS_INIT, \ + GIT_FETCH_OPTIONS_INIT } + +/** + * Initialize git_clone_options structure + * + * Initializes a `git_clone_options` with default values. Equivalent to creating + * an instance with GIT_CLONE_OPTIONS_INIT. + * + * @param opts The `git_clone_options` struct to initialize. + * @param version The struct version; pass `GIT_CLONE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_clone_options_init( + git_clone_options *opts, + unsigned int version); + +/** + * Clone a remote repository. + * + * 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. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out pointer that will receive the resulting repository object + * @param url the remote repository to clone + * @param local_path local directory to clone to + * @param options configuration options for the clone. If NULL, the + * function works as though GIT_OPTIONS_INIT were passed. + * @return 0 on success, any non-zero return value from a callback + * function, or a negative value to indicate an error (use + * `git_error_last` for a detailed error message) + */ +GIT_EXTERN(int) git_clone( + git_repository **out, + const char *url, + const char *local_path, + const git_clone_options *options); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/commit.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/commit.h new file mode 100644 index 00000000..b998e188 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/commit.h @@ -0,0 +1,675 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_commit_h__ +#define INCLUDE_git_commit_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" + +/** + * @file git2/commit.h + * @brief A representation of a set of changes in the repository + * @defgroup git_commit Git commit parsing, formatting routines + * @ingroup Git + * + * A commit represents a set of changes made to the files within a + * repository, and metadata about who made the changes, and when the + * changes were made. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a commit object from a repository. + * + * The returned object should be released with `git_commit_free` when no + * longer needed. + * + * @param commit pointer to the looked up commit + * @param repo the repo to use when locating the commit. + * @param id identity of the commit to locate. If the object is + * an annotated tag it will be peeled back to the commit. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_lookup( + git_commit **commit, git_repository *repo, const git_oid *id); + +/** + * Lookup a commit object from a repository, given a prefix of its + * identifier (short id). + * + * The returned object should be released with `git_commit_free` when no + * longer needed. + * + * @see git_object_lookup_prefix + * + * @param commit pointer to the looked up commit + * @param repo the repo to use when locating the commit. + * @param id identity of the commit to locate. If the object is + * an annotated tag it will be peeled back to the commit. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_lookup_prefix( + git_commit **commit, git_repository *repo, const git_oid *id, size_t len); + +/** + * Close an open commit + * + * This is a wrapper around git_object_free() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a commit. Failure to do so will cause a memory leak. + * + * @param commit the commit to close + */ + +GIT_EXTERN(void) git_commit_free(git_commit *commit); + +/** + * Get the id of a commit. + * + * @param commit a previously loaded commit. + * @return object identity for the commit. + */ +GIT_EXTERN(const git_oid *) git_commit_id(const git_commit *commit); + +/** + * Get the repository that contains the commit. + * + * @param commit A previously loaded commit. + * @return Repository that contains this commit. + */ +GIT_EXTERN(git_repository *) git_commit_owner(const git_commit *commit); + +/** + * Get the encoding for the message of a commit, + * as a string representing a standard encoding name. + * + * The encoding may be NULL if the `encoding` header + * in the commit is missing; in that case UTF-8 is assumed. + * + * @param commit a previously loaded commit. + * @return NULL, or the encoding + */ +GIT_EXTERN(const char *) git_commit_message_encoding(const git_commit *commit); + +/** + * Get the full message of a commit. + * + * The returned message will be slightly prettified by removing any + * potential leading newlines. + * + * @param commit a previously loaded commit. + * @return the message of a commit + */ +GIT_EXTERN(const char *) git_commit_message(const git_commit *commit); + +/** + * Get the full raw message of a commit. + * + * @param commit a previously loaded commit. + * @return the raw message of a commit + */ +GIT_EXTERN(const char *) git_commit_message_raw(const git_commit *commit); + +/** + * Get the short "summary" of the git commit message. + * + * The returned message is the summary of the commit, comprising the + * first paragraph of the message with whitespace trimmed and squashed. + * + * @param commit a previously loaded commit. + * @return the summary of a commit or NULL on error + */ +GIT_EXTERN(const char *) git_commit_summary(git_commit *commit); + +/** + * Get the long "body" of the git commit message. + * + * The returned message is the body of the commit, comprising + * everything but the first paragraph of the message. Leading and + * trailing whitespaces are trimmed. + * + * @param commit a previously loaded commit. + * @return the body of a commit or NULL when no the message only + * consists of a summary + */ +GIT_EXTERN(const char *) git_commit_body(git_commit *commit); + +/** + * Get the commit time (i.e. committer time) of a commit. + * + * @param commit a previously loaded commit. + * @return the time of a commit + */ +GIT_EXTERN(git_time_t) git_commit_time(const git_commit *commit); + +/** + * Get the commit timezone offset (i.e. committer's preferred timezone) of a commit. + * + * @param commit a previously loaded commit. + * @return positive or negative timezone offset, in minutes from UTC + */ +GIT_EXTERN(int) git_commit_time_offset(const git_commit *commit); + +/** + * Get the committer of a commit. + * + * @param commit a previously loaded commit. + * @return the committer of a commit + */ +GIT_EXTERN(const git_signature *) git_commit_committer(const git_commit *commit); + +/** + * Get the author of a commit. + * + * @param commit a previously loaded commit. + * @return the author of a commit + */ +GIT_EXTERN(const git_signature *) git_commit_author(const git_commit *commit); + +/** + * Get the committer of a commit, using the mailmap to map names and email + * addresses to canonical real names and email addresses. + * + * Call `git_signature_free` to free the signature. + * + * @param out a pointer to store the resolved signature. + * @param commit a previously loaded commit. + * @param mailmap the mailmap to resolve with. (may be NULL) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_committer_with_mailmap( + git_signature **out, const git_commit *commit, const git_mailmap *mailmap); + +/** + * Get the author of a commit, using the mailmap to map names and email + * addresses to canonical real names and email addresses. + * + * Call `git_signature_free` to free the signature. + * + * @param out a pointer to store the resolved signature. + * @param commit a previously loaded commit. + * @param mailmap the mailmap to resolve with. (may be NULL) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_author_with_mailmap( + git_signature **out, const git_commit *commit, const git_mailmap *mailmap); + +/** + * Get the full raw text of the commit header. + * + * @param commit a previously loaded commit + * @return the header text of the commit + */ +GIT_EXTERN(const char *) git_commit_raw_header(const git_commit *commit); + +/** + * Get the tree pointed to by a commit. + * + * @param tree_out pointer where to store the tree object + * @param commit a previously loaded commit. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_tree(git_tree **tree_out, const git_commit *commit); + +/** + * Get the id of the tree pointed to by a commit. This differs from + * `git_commit_tree` in that no attempts are made to fetch an object + * from the ODB. + * + * @param commit a previously loaded commit. + * @return the id of tree pointed to by commit. + */ +GIT_EXTERN(const git_oid *) git_commit_tree_id(const git_commit *commit); + +/** + * Get the number of parents of this commit + * + * @param commit a previously loaded commit. + * @return integer of count of parents + */ +GIT_EXTERN(unsigned int) git_commit_parentcount(const git_commit *commit); + +/** + * Get the specified parent of the commit. + * + * @param out Pointer where to store the parent commit + * @param commit a previously loaded commit. + * @param n the position of the parent (from 0 to `parentcount`) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_parent( + git_commit **out, + const git_commit *commit, + unsigned int n); + +/** + * Get the oid of a specified parent for a commit. This is different from + * `git_commit_parent`, which will attempt to load the parent commit from + * the ODB. + * + * @param commit a previously loaded commit. + * @param n the position of the parent (from 0 to `parentcount`) + * @return the id of the parent, NULL on error. + */ +GIT_EXTERN(const git_oid *) git_commit_parent_id( + const git_commit *commit, + unsigned int n); + +/** + * Get the commit object that is the th generation ancestor + * of the named commit object, following only the first parents. + * The returned commit has to be freed by the caller. + * + * Passing `0` as the generation number returns another instance of the + * base commit itself. + * + * @param ancestor Pointer where to store the ancestor commit + * @param commit a previously loaded commit. + * @param n the requested generation + * @return 0 on success; GIT_ENOTFOUND if no matching ancestor exists + * or an error code + */ +GIT_EXTERN(int) git_commit_nth_gen_ancestor( + git_commit **ancestor, + const git_commit *commit, + unsigned int n); + +/** + * Get an arbitrary header field + * + * @param out the buffer to fill; existing content will be + * overwritten + * @param commit the commit to look in + * @param field the header field to return + * @return 0 on succeess, GIT_ENOTFOUND if the field does not exist, + * or an error code + */ +GIT_EXTERN(int) git_commit_header_field(git_buf *out, const git_commit *commit, const char *field); + +/** + * Extract the signature from a commit + * + * If the id is not for a commit, the error class will be + * `GIT_ERROR_INVALID`. If the commit does not have a signature, the + * error class will be `GIT_ERROR_OBJECT`. + * + * @param signature the signature block; existing content will be + * overwritten + * @param signed_data signed data; this is the commit contents minus the signature block; + * existing content will be overwritten + * @param repo the repository in which the commit exists + * @param commit_id the commit from which to extract the data + * @param field the name of the header field containing the signature + * block; pass `NULL` to extract the default 'gpgsig' + * @return 0 on success, GIT_ENOTFOUND if the id is not for a commit + * or the commit does not have a signature. + */ +GIT_EXTERN(int) git_commit_extract_signature(git_buf *signature, git_buf *signed_data, git_repository *repo, git_oid *commit_id, const char *field); + +/** + * Create new commit in the repository from a list of `git_object` pointers + * + * The message will **not** be cleaned up automatically. You can do that + * with the `git_message_prettify()` function. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @param parents Array of `parent_count` pointers to `git_commit` + * objects that will be used as the parents for this commit. This + * array may be NULL if `parent_count` is 0 (root commit). All the + * given commits must be owned by the `repo`. + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create( + 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, + const git_commit *parents[]); + +/** + * Create new commit in the repository using a variable argument list. + * + * The message will **not** be cleaned up automatically. You can do that + * with the `git_message_prettify()` function. + * + * 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 + * + * All other parameters remain the same as `git_commit_create()`. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create_v( + 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, + ...); + +typedef struct { + unsigned int version; + + /** + * Flags for creating the commit. + * + * If `allow_empty_commit` is specified, a commit with no changes + * from the prior commit (and "empty" commit) is allowed. Otherwise, + * commit creation will be stopped. + */ + unsigned int allow_empty_commit : 1; + + /** The commit author, or NULL for the default. */ + const git_signature *author; + + /** The committer, or NULL for the default. */ + const git_signature *committer; + + /** Encoding for the commit message; leave NULL for default. */ + const char *message_encoding; +} git_commit_create_options; + +/** Current version for the `git_commit_create_options` structure */ +#define GIT_COMMIT_CREATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_commit_create_options` */ +#define GIT_COMMIT_CREATE_OPTIONS_INIT { GIT_COMMIT_CREATE_OPTIONS_VERSION } + +/** + * Commits the staged changes in the repository; this is a near analog to + * `git commit -m message`. + * + * By default, empty commits are not allowed. + * + * @param id pointer to store the new commit's object id + * @param repo repository to commit changes in + * @param message the commit message + * @param opts options for creating the commit + * @return 0 on success, GIT_EUNCHANGED if there were no changes to commit, or an error code + */ +GIT_EXTERN(int) git_commit_create_from_stage( + git_oid *id, + git_repository *repo, + const char *message, + const git_commit_create_options *opts); + +/** + * Amend an existing commit by replacing only non-NULL values. + * + * 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. + * + * 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. + * + * 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`. + * + * All parameters have the same meanings as in `git_commit_create()`. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param commit_to_amend The commit to amend + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_amend( + 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); + +/** + * Create a commit and write it into a buffer + * + * Create a commit as with `git_commit_create()` but instead of + * writing it to the objectdb, write the contents of the object into a + * buffer. + * + * @param out the buffer into which to write the commit object content + * + * @param repo Repository where the referenced tree and parents live + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @param parents Array of `parent_count` pointers to `git_commit` + * objects that will be used as the parents for this commit. This + * array may be NULL if `parent_count` is 0 (root commit). All the + * given commits must be owned by the `repo`. + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_create_buffer( + git_buf *out, + git_repository *repo, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message, + const git_tree *tree, + size_t parent_count, + const git_commit *parents[]); + +/** + * Create a commit object from the given buffer and signature + * + * Given the unsigned commit object's contents, its signature and the + * header field in which to store the signature, attach the signature + * to the commit and write it into the given repository. + * + * @param out the resulting commit id + * @param repo the repository to create the commit in. + * @param commit_content the content of the unsigned commit object + * @param signature the signature to add to the commit. Leave `NULL` + * to create a commit without adding a signature field. + * @param signature_field which header field should contain this + * signature. Leave `NULL` for the default of "gpgsig" + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_create_with_signature( + git_oid *out, + git_repository *repo, + const char *commit_content, + const char *signature, + const char *signature_field); + +/** + * Create an in-memory copy of a commit. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the commit + * @param source Original commit to copy + * @return 0 + */ +GIT_EXTERN(int) git_commit_dup(git_commit **out, git_commit *source); + +/** + * Commit creation callback: used when a function is going to create + * commits (for example, in `git_rebase_commit`) to allow callers to + * override the commit creation behavior. For example, users may + * wish to sign commits by providing this information to + * `git_commit_create_buffer`, signing that buffer, then calling + * `git_commit_create_with_signature`. The resultant commit id + * should be set in the `out` object id parameter. + * + * @param out pointer that this callback will populate with the object + * id of the commit that is created + * @param author the author name and time of the commit + * @param committer the committer name and time of the commit + * @param message_encoding the encoding of the given message, or NULL + * to assume UTF8 + * @param message the commit message + * @param tree the tree to be committed + * @param parent_count the number of parents for this commit + * @param parents the commit parents + * @param payload the payload pointer in the rebase options + * @return 0 if this callback has created the commit and populated the out + * parameter, GIT_PASSTHROUGH if the callback has not created a + * commit and wants the calling function to create the commit as + * if no callback had been specified, any other value to stop + * and return a failure + */ +typedef int (*git_commit_create_cb)( + git_oid *out, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message, + const git_tree *tree, + size_t parent_count, + const git_commit *parents[], + void *payload); + +/** An array of commits returned from the library */ +typedef struct git_commitarray { + git_commit *const *commits; + size_t count; +} git_commitarray; + +/** + * Free the commits contained in a commit array. This method should + * be called on `git_commitarray` objects that were provided by the + * library. Not doing so will result in a memory leak. + * + * This does not free the `git_commitarray` itself, since the library + * will never allocate that object directly itself. + * + * @param array The git_commitarray that contains commits to free + */ +GIT_EXTERN(void) git_commitarray_dispose(git_commitarray *array); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/common.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/common.h new file mode 100644 index 00000000..40a3903c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/common.h @@ -0,0 +1,574 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_common_h__ +#define INCLUDE_git_common_h__ + +#include +#include + +#ifdef __cplusplus + /** Start declarations in C mode for C++ compatibility */ +# define GIT_BEGIN_DECL extern "C" { + /** End declarations in C mode */ +# define GIT_END_DECL } +#else + /** Start declarations in C mode */ +# define GIT_BEGIN_DECL /* empty */ + /** End declarations in C mode */ +# define GIT_END_DECL /* empty */ +#endif + +#if defined(_MSC_VER) && _MSC_VER < 1800 +# include +#elif !defined(__CLANG_INTTYPES_H) +# include +#endif + +#ifdef DOCURIUM +/* + * This is so clang's doc parser acknowledges comments on functions + * with size_t parameters. + */ +typedef size_t size_t; +#endif + +/** Declare a public function exported for application use. */ +#if __GNUC__ >= 4 +# define GIT_EXTERN(type) extern \ + __attribute__((visibility("default"))) \ + type +#elif defined(_MSC_VER) +# define GIT_EXTERN(type) __declspec(dllexport) type __cdecl +#else +# define GIT_EXTERN(type) extern type +#endif + +/** Declare a callback function for application use. */ +#if defined(_MSC_VER) +# define GIT_CALLBACK(name) (__cdecl *name) +#else +# define GIT_CALLBACK(name) (*name) +#endif + +/** Declare a function as deprecated. */ +#if defined(__GNUC__) +# define GIT_DEPRECATED(func) \ + __attribute__((deprecated)) \ + __attribute__((used)) \ + func +#elif defined(_MSC_VER) +# define GIT_DEPRECATED(func) __declspec(deprecated) func +#else +# define GIT_DEPRECATED(func) func +#endif + +/** Declare a function's takes printf style arguments. */ +#ifdef __GNUC__ +# define GIT_FORMAT_PRINTF(a,b) __attribute__((format (printf, a, b))) +#else +# define GIT_FORMAT_PRINTF(a,b) /* empty */ +#endif + +#ifdef __amigaos4__ +#include +#endif + +/** + * @file git2/common.h + * @brief Base platform functionality + * @defgroup git_common Git common platform definitions + * @ingroup Git + * + * Common platform functionality including introspecting libgit2 + * itself - information like how it was built, and the current + * running version. + * @{ + */ + +GIT_BEGIN_DECL + +/** + * The separator used in path list strings (ie like in the PATH + * environment variable). A semi-colon ";" is used on Windows and + * AmigaOS, and a colon ":" for all other systems. + */ +#if (defined(_WIN32) && !defined(__CYGWIN__)) || defined(AMIGA) +# define GIT_PATH_LIST_SEPARATOR ';' +#else +# define GIT_PATH_LIST_SEPARATOR ':' +#endif + +/** + * The maximum length of a valid git path. + */ +#define GIT_PATH_MAX 4096 + +/** + * Return the version of the libgit2 library + * being currently used. + * + * @param major Store the major version number + * @param minor Store the minor version number + * @param rev Store the revision (patch) number + * @return 0 on success or an error code on failure + */ +GIT_EXTERN(int) git_libgit2_version(int *major, int *minor, int *rev); + +/** + * Return the prerelease state of the libgit2 library currently being + * used. For nightly builds during active development, this will be + * "alpha". Releases may have a "beta" or release candidate ("rc1", + * "rc2", etc) prerelease. For a final release, this function returns + * NULL. + * + * @return the name of the prerelease state or NULL + */ +GIT_EXTERN(const char *) git_libgit2_prerelease(void); + +/** + * Configurable features of libgit2; either optional settings (like + * threading), or features that can be enabled by one of a number of + * different backend "providers" (like HTTPS, which can be provided by + * OpenSSL, mbedTLS, or system libraries). + */ +typedef enum { + /** + * libgit2 is thread-aware and can be used from multiple threads + * (as described in the documentation). + */ + GIT_FEATURE_THREADS = (1 << 0), + + /** HTTPS remotes */ + GIT_FEATURE_HTTPS = (1 << 1), + + /** SSH remotes */ + GIT_FEATURE_SSH = (1 << 2), + + /** Sub-second resolution in index timestamps */ + GIT_FEATURE_NSEC = (1 << 3), + + /** HTTP parsing; always available */ + GIT_FEATURE_HTTP_PARSER = (1 << 4), + + /** Regular expression support; always available */ + GIT_FEATURE_REGEX = (1 << 5), + + /** Internationalization support for filename translation */ + GIT_FEATURE_I18N = (1 << 6), + + /** NTLM support over HTTPS */ + GIT_FEATURE_AUTH_NTLM = (1 << 7), + + /** Kerberos (SPNEGO) authentication support over HTTPS */ + GIT_FEATURE_AUTH_NEGOTIATE = (1 << 8), + + /** zlib support; always available */ + GIT_FEATURE_COMPRESSION = (1 << 9), + + /** SHA1 object support; always available */ + GIT_FEATURE_SHA1 = (1 << 10), + + /** SHA256 object support */ + GIT_FEATURE_SHA256 = (1 << 11) +} git_feature_t; + +/** + * Query compile time options for libgit2. + * + * @return A combination of GIT_FEATURE_* values. + */ +GIT_EXTERN(int) git_libgit2_features(void); + +/** + * Query the backend details for the compile-time feature in libgit2. + * + * 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. + * + * 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. + * + * If the feature is not supported by the library, this API returns + * `NULL`. + * + * @param feature the feature to query details for + * @return the provider details, or NULL if the feature is not supported + */ +GIT_EXTERN(const char *) git_libgit2_feature_backend( + git_feature_t feature); + +/** + * Global library options + * + * These are used to select which global option to set or get and are + * used in `git_libgit2_opts()`. + */ +typedef enum { + GIT_OPT_GET_MWINDOW_SIZE, + GIT_OPT_SET_MWINDOW_SIZE, + GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, + GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, + GIT_OPT_GET_SEARCH_PATH, + GIT_OPT_SET_SEARCH_PATH, + GIT_OPT_SET_CACHE_OBJECT_LIMIT, + GIT_OPT_SET_CACHE_MAX_SIZE, + GIT_OPT_ENABLE_CACHING, + GIT_OPT_GET_CACHED_MEMORY, + GIT_OPT_GET_TEMPLATE_PATH, + GIT_OPT_SET_TEMPLATE_PATH, + GIT_OPT_SET_SSL_CERT_LOCATIONS, + GIT_OPT_SET_USER_AGENT, + GIT_OPT_ENABLE_STRICT_OBJECT_CREATION, + GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION, + GIT_OPT_SET_SSL_CIPHERS, + GIT_OPT_GET_USER_AGENT, + GIT_OPT_ENABLE_OFS_DELTA, + GIT_OPT_ENABLE_FSYNC_GITDIR, + GIT_OPT_GET_WINDOWS_SHAREMODE, + GIT_OPT_SET_WINDOWS_SHAREMODE, + GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, + GIT_OPT_SET_ALLOCATOR, + GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, + GIT_OPT_GET_PACK_MAX_OBJECTS, + GIT_OPT_SET_PACK_MAX_OBJECTS, + GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS, + GIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE, + GIT_OPT_GET_MWINDOW_FILE_LIMIT, + GIT_OPT_SET_MWINDOW_FILE_LIMIT, + GIT_OPT_SET_ODB_PACKED_PRIORITY, + GIT_OPT_SET_ODB_LOOSE_PRIORITY, + GIT_OPT_GET_EXTENSIONS, + GIT_OPT_SET_EXTENSIONS, + GIT_OPT_GET_OWNER_VALIDATION, + GIT_OPT_SET_OWNER_VALIDATION, + GIT_OPT_GET_HOMEDIR, + GIT_OPT_SET_HOMEDIR, + GIT_OPT_SET_SERVER_CONNECT_TIMEOUT, + GIT_OPT_GET_SERVER_CONNECT_TIMEOUT, + GIT_OPT_SET_SERVER_TIMEOUT, + GIT_OPT_GET_SERVER_TIMEOUT, + GIT_OPT_SET_USER_AGENT_PRODUCT, + GIT_OPT_GET_USER_AGENT_PRODUCT, + GIT_OPT_ADD_SSL_X509_CERT +} git_libgit2_opt_t; + +/** + * Set or query a library global option + * + * Available options: + * + * * opts(GIT_OPT_GET_MWINDOW_SIZE, size_t *): + * + * > Get the maximum mmap window size + * + * * opts(GIT_OPT_SET_MWINDOW_SIZE, size_t): + * + * > Set the maximum mmap window size + * + * * opts(GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, size_t *): + * + * > Get the maximum memory that will be mapped in total by the library + * + * * opts(GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, size_t): + * + * > Set the maximum amount of memory that can be mapped at any time + * > by the library + * + * * opts(GIT_OPT_GET_MWINDOW_FILE_LIMIT, size_t *): + * + * > Get the maximum number of files that will be mapped at any time by the + * > library + * + * * opts(GIT_OPT_SET_MWINDOW_FILE_LIMIT, size_t): + * + * > Set the maximum number of files that can be mapped at any time + * > by the library. The default (0) is unlimited. + * + * * opts(GIT_OPT_GET_SEARCH_PATH, int level, git_buf *buf) + * + * > 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. + * + * * opts(GIT_OPT_SET_SEARCH_PATH, int level, const char *path) + * + * > 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`. + * + * * opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_object_t type, size_t size) + * + * > 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. + * + * * opts(GIT_OPT_SET_CACHE_MAX_SIZE, ssize_t max_storage_bytes) + * + * > 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. + * + * * opts(GIT_OPT_ENABLE_CACHING, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_GET_CACHED_MEMORY, ssize_t *current, ssize_t *allowed) + * + * > Get the current bytes in cache and the maximum that would be + * > allowed in the cache. + * + * * opts(GIT_OPT_GET_TEMPLATE_PATH, git_buf *out) + * + * > Get the default template path. + * > The path is written to the `out` buffer. + * + * * opts(GIT_OPT_SET_TEMPLATE_PATH, const char *path) + * + * > Set the default template path. + * > + * > - `path` directory of template. + * + * * opts(GIT_OPT_SET_SSL_CERT_LOCATIONS, const char *file, const char *path) + * + * > 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. + * + * * opts(GIT_OPT_ADD_SSL_X509_CERT, const X509 *cert) + * + * > Add a raw X509 certificate into the SSL certs store. + * > This certificate is only used by libgit2 invocations + * > during the application lifetime and is not persisted + * > to disk. This certificate cannot be removed from the + * > application once is has been added. + * > + * > - `cert` is the raw X509 cert will be added to cert store. + * + * * opts(GIT_OPT_SET_USER_AGENT, const char *user_agent) + * + * > 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. + * + * * opts(GIT_OPT_GET_USER_AGENT, git_buf *out) + * + * > Get the value of the User-Agent header. + * > The User-Agent is written to the `out` buffer. + * + * * opts(GIT_OPT_SET_USER_AGENT_PRODUCT, const char *user_agent_product) + * + * > 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/ 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. + * + * * opts(GIT_OPT_GET_USER_AGENT_PRODUCT, git_buf *out) + * + * > Get the value of the User-Agent product header. + * > The User-Agent product is written to the `out` buffer. + * + * * opts(GIT_OPT_SET_WINDOWS_SHAREMODE, unsigned long value) + * + * > 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. + * + * * opts(GIT_OPT_GET_WINDOWS_SHAREMODE, unsigned long *value) + * + * > Get the share mode used when opening files on Windows. + * + * * opts(GIT_OPT_ENABLE_STRICT_OBJECT_CREATION, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_SET_SSL_CIPHERS, const char *ciphers) + * + * > Set the SSL ciphers use for HTTPS connections. + * > + * > - `ciphers` is the list of ciphers that are eanbled. + * + * * opts(GIT_OPT_ENABLE_OFS_DELTA, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_ENABLE_FSYNC_GITDIR, int enabled) + * + * > 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. + * + * opts(GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, int enabled) + * + * > 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. + * + * opts(GIT_OPT_SET_ALLOCATOR, git_allocator *allocator) + * + * > 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. + * + * opts(GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, int enabled) + * + * > 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.) + * + * opts(GIT_OPT_GET_PACK_MAX_OBJECTS, size_t *out) + * + * > 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. + * + * opts(GIT_OPT_SET_PACK_MAX_OBJECTS, size_t objects) + * + * > Set the maximum number of objects libgit2 will allow in a pack + * > file when downloading a pack file from a remote. + * + * 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. + * + * 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. + * + * 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 + * + * 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 + * + * 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`. + * + * 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. + * + * opts(GIT_OPT_GET_OWNER_VALIDATION, int *enabled) + * > Gets the owner validation setting for repository + * > directories. + * + * 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. + * + * 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. + * + * 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. + * + * opts(GIT_OPT_GET_SERVER_CONNECT_TIMEOUT, int *timeout) + * > Gets the timeout (in milliseconds) to attempt connections to + * > a remote server. + * + * 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. + * + * opts(GIT_OPT_GET_SERVER_TIMEOUT, int *timeout) + * > Gets the timeout (in milliseconds) for reading from and writing + * > to a remote server. + * + * 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. + * + * @param option Option key + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_libgit2_opts(int option, ...); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/config.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/config.h new file mode 100644 index 00000000..f9c26675 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/config.h @@ -0,0 +1,852 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_config_h__ +#define INCLUDE_git_config_h__ + +#include "common.h" +#include "types.h" +#include "buffer.h" + +/** + * @file git2/config.h + * @brief Per-repository, per-user or per-system configuration + * @defgroup git_config Git config management routines + * @ingroup Git + * + * Git configuration affects the operation of the version control + * system, and can be specified on a per-repository basis, in user + * settings, or at the system level. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Priority level of a config file. + * + * These priority levels correspond to the natural escalation logic + * (from higher to lower) when reading or searching for config entries + * in git.git. Meaning that for the same key, the configuration in + * the local configuration is preferred over the configuration in + * the system configuration file. + * + * Callers can add their own custom configuration, beginning at the + * `GIT_CONFIG_LEVEL_APP` level. + * + * Writes, by default, occur in the highest priority level backend + * that is writable. This ordering can be overridden with + * `git_config_set_writeorder`. + * + * git_config_open_default() and git_repository_config() honor those + * priority levels as well. + * + * @see git_config_open_default + * @see git_repository_config + */ +typedef enum { + /** + * System-wide on Windows, for compatibility with "Portable Git". + */ + GIT_CONFIG_LEVEL_PROGRAMDATA = 1, + + /** + * System-wide configuration file; `/etc/gitconfig` on Linux. + */ + GIT_CONFIG_LEVEL_SYSTEM = 2, + + /** + * XDG compatible configuration file; typically + * `~/.config/git/config`. + */ + GIT_CONFIG_LEVEL_XDG = 3, + + /** + * Global configuration file is the user-specific configuration; + * typically `~/.gitconfig`. + */ + GIT_CONFIG_LEVEL_GLOBAL = 4, + + /** + * Local configuration, the repository-specific configuration file; + * typically `$GIT_DIR/config`. + */ + GIT_CONFIG_LEVEL_LOCAL = 5, + + /** + * Worktree-specific configuration; typically + * `$GIT_DIR/config.worktree`. + */ + GIT_CONFIG_LEVEL_WORKTREE = 6, + + /** + * Application-specific configuration file. Callers into libgit2 + * can add their own configuration beginning at this level. + */ + GIT_CONFIG_LEVEL_APP = 7, + + /** + * Not a configuration level; callers can use this value when + * querying configuration levels to specify that they want to + * have data from the highest-level currently configuration. + * This can be used to indicate that callers want the most + * specific config file available that actually is loaded. + */ + GIT_CONFIG_HIGHEST_LEVEL = -1 +} git_config_level_t; + +/** + * An entry in a configuration file + */ +typedef struct git_config_entry { + /** Name of the configuration entry (normalized). */ + const char *name; + + /** Literal (string) value of the entry. */ + const char *value; + + /** The type of backend that this entry exists in (eg, "file"). */ + const char *backend_type; + + /** + * The path to the origin of this entry. For config files, this is + * the path to the file. + */ + const char *origin_path; + + /** Depth of includes where this variable was found. */ + unsigned int include_depth; + + /** Configuration level for the file this was found in. */ + git_config_level_t level; +} git_config_entry; + +/** + * Free a config entry. + * + * @param entry The entry to free. + */ +GIT_EXTERN(void) git_config_entry_free(git_config_entry *entry); + +/** + * A config enumeration callback. + * + * @param entry the entry currently being enumerated + * @param payload a user-specified pointer + * @return non-zero to terminate the iteration. + */ +typedef int GIT_CALLBACK(git_config_foreach_cb)(const git_config_entry *entry, void *payload); + +/** + * An opaque structure for a configuration iterator. + */ +typedef struct git_config_iterator git_config_iterator; + +/** + * Config var type + */ +typedef enum { + GIT_CONFIGMAP_FALSE = 0, + GIT_CONFIGMAP_TRUE = 1, + GIT_CONFIGMAP_INT32, + GIT_CONFIGMAP_STRING +} git_configmap_t; + +/** + * Mapping from config variables to values. + */ +typedef struct { + git_configmap_t type; + const char *str_match; + int map_value; +} git_configmap; + +/** + * Locate the path to the global configuration file + * + * The user or global configuration file is usually + * located in `$HOME/.gitconfig`. + * + * This method will try to guess the full path to that + * file, if the file exists. The returned path + * may be used on any `git_config` call to load the + * global configuration file. + * + * This method will not guess the path to the xdg compatible + * config file (`.config/git/config`). + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a global configuration file has been found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_global(git_buf *out); + +/** + * Locate the path to the global xdg compatible configuration file + * + * The xdg compatible configuration file is usually + * located in `$HOME/.config/git/config`. + * + * This method will try to guess the full path to that + * file, if the file exists. The returned path + * may be used on any `git_config` call to load the + * xdg compatible configuration file. + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a xdg compatible configuration file has been + * found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_xdg(git_buf *out); + +/** + * Locate the path to the system configuration file + * + * If `/etc/gitconfig` doesn't exist, it will look for + * `%PROGRAMFILES%\Git\etc\gitconfig`. + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a system configuration file has been + * found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_system(git_buf *out); + +/** + * Locate the path to the configuration file in ProgramData + * + * Look for the file in `%PROGRAMDATA%\Git\config` used by portable git. + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a ProgramData configuration file has been + * found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_programdata(git_buf *out); + +/** + * Open the global, XDG and system configuration files + * + * Utility wrapper that finds the global, XDG and system configuration files + * and opens them into a single prioritized config object that can be + * used when accessing default config data outside a repository. + * + * @param out Pointer to store the config instance + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_open_default(git_config **out); + +/** + * Allocate a new configuration object + * + * This object is empty, so you have to add a file to it before you + * can do anything with it. + * + * @param out pointer to the new configuration + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_new(git_config **out); + +/** + * Add an on-disk config file instance to an existing config + * + * The on-disk file pointed at by `path` will be opened and + * parsed; it's expected to be a native Git config file following + * the default Git config syntax (see man git-config). + * + * If the file does not exist, the file will still be added and it + * will be created the first time we write to it. + * + * Note that the configuration object will free the file + * automatically. + * + * Further queries on this config object will access each + * of the config file instances in order (instances with + * a higher priority level will be accessed first). + * + * @param cfg the configuration to add the file to + * @param path path to the configuration file to add + * @param level the priority level of the backend + * @param repo optional repository to allow parsing of + * conditional includes + * @param force replace config file at the given priority level + * @return 0 on success, GIT_EEXISTS when adding more than one file + * for a given priority level (and force_replace set to 0), + * GIT_ENOTFOUND when the file doesn't exist or error code + */ +GIT_EXTERN(int) git_config_add_file_ondisk( + git_config *cfg, + const char *path, + git_config_level_t level, + const git_repository *repo, + int force); + +/** + * Create a new config instance containing a single on-disk file + * + * This method is a simple utility wrapper for the following sequence + * of calls: + * - git_config_new + * - git_config_add_file_ondisk + * + * @param out The configuration instance to create + * @param path Path to the on-disk file to open + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_config_open_ondisk(git_config **out, const char *path); + +/** + * Build a single-level focused config object from a multi-level one. + * + * The returned config object can be used to perform get/set/delete operations + * on a single specific level. + * + * Getting several times the same level from the same parent multi-level config + * will return different config instances, but containing the same config_file + * instance. + * + * @param out The configuration instance to create + * @param parent Multi-level config to search for the given level + * @param level Configuration level to search for + * @return 0, GIT_ENOTFOUND if the passed level cannot be found in the + * multi-level parent config, or an error code + */ +GIT_EXTERN(int) git_config_open_level( + git_config **out, + const git_config *parent, + git_config_level_t level); + +/** + * Open the global/XDG configuration file according to git's rules + * + * 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. + * + * @param out pointer in which to store the config object + * @param config the config object in which to look + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_open_global(git_config **out, git_config *config); + +/** + * Set the write order for configuration backends. By default, the + * write ordering does not match the read ordering; for example, the + * worktree configuration is a high-priority for reading, but is not + * written to unless explicitly chosen. + * + * @param cfg the configuration to change write order of + * @param levels the ordering of levels for writing + * @param len the length of the levels array + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_writeorder( + git_config *cfg, + git_config_level_t *levels, + size_t len); + +/** + * Create a snapshot of the configuration + * + * Create a snapshot of the current state of a configuration, which + * allows you to look into a consistent view of the configuration for + * looking up complex values (e.g. a remote, submodule). + * + * The string returned when querying such a config object is valid + * until it is freed. + * + * @param out pointer in which to store the snapshot config object + * @param config configuration to snapshot + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_snapshot(git_config **out, git_config *config); + +/** + * Free the configuration and its associated memory and files + * + * @param cfg the configuration to free + */ +GIT_EXTERN(void) git_config_free(git_config *cfg); + +/** + * Get the git_config_entry of a config variable. + * + * Free the git_config_entry after use with `git_config_entry_free()`. + * + * @param out pointer to the variable git_config_entry + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_entry( + git_config_entry **out, + const git_config *cfg, + const char *name); + +/** + * Get the value of an integer config variable. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_int32(int32_t *out, const git_config *cfg, const char *name); + +/** + * Get the value of a long integer config variable. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_int64(int64_t *out, const git_config *cfg, const char *name); + +/** + * Get the value of a boolean config variable. + * + * This function uses the usual C convention of 0 being false and + * anything else true. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_bool(int *out, const git_config *cfg, const char *name); + +/** + * Get the value of a path config variable. + * + * A leading '~' will be expanded to the global search path (which + * defaults to the user's home directory but can be overridden via + * `git_libgit2_opts()`. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out the buffer in which to store the result + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_path(git_buf *out, const git_config *cfg, const char *name); + +/** + * Get the value of a string config variable. + * + * This function can only be used on snapshot config objects. The + * string is owned by the config and should not be freed by the + * user. The pointer will be valid until the config is freed. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the string + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_string(const char **out, const git_config *cfg, const char *name); + +/** + * Get the value of a string config variable. + * + * The value of the config will be copied into the buffer. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out buffer in which to store the string + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_string_buf(git_buf *out, const git_config *cfg, const char *name); + +/** + * Get each value of a multivar in a foreach callback + * + * The callback will be called on each variable found + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp regular expression to filter which variables we're + * interested in. Use NULL to indicate all + * @param callback the function to be called on each value of the variable + * @param payload opaque pointer to pass to the callback + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_get_multivar_foreach(const git_config *cfg, const char *name, const char *regexp, git_config_foreach_cb callback, void *payload); + +/** + * Get each value of a multivar + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param out pointer to store the iterator + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp regular expression to filter which variables we're + * interested in. Use NULL to indicate all + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_multivar_iterator_new(git_config_iterator **out, const git_config *cfg, const char *name, const char *regexp); + +/** + * Return the current entry and advance the iterator + * + * The pointers returned by this function are valid until the next call + * to `git_config_next` or until the iterator is freed. + * + * @param entry pointer to store the entry + * @param iter the iterator + * @return 0 or an error code. GIT_ITEROVER if the iteration has completed + */ +GIT_EXTERN(int) git_config_next(git_config_entry **entry, git_config_iterator *iter); + +/** + * Free a config iterator + * + * @param iter the iterator to free + */ +GIT_EXTERN(void) git_config_iterator_free(git_config_iterator *iter); + +/** + * Set the value of an integer config variable in the config file + * with the highest level (usually the local one). + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value Integer value for the variable + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_int32(git_config *cfg, const char *name, int32_t value); + +/** + * Set the value of a long integer config variable in the config file + * with the highest level (usually the local one). + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value Long integer value for the variable + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_int64(git_config *cfg, const char *name, int64_t value); + +/** + * Set the value of a boolean config variable in the config file + * with the highest level (usually the local one). + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value the value to store + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_bool(git_config *cfg, const char *name, int value); + +/** + * Set the value of a string config variable in the config file + * with the highest level (usually the local one). + * + * A copy of the string is made and the user is free to use it + * afterwards. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value the string to store. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_string(git_config *cfg, const char *name, const char *value); + +/** + * Set a multivar in the local config file. + * + * The regular expression is applied case-sensitively on the value. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp a regular expression to indicate which values to replace + * @param value the new value. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_set_multivar(git_config *cfg, const char *name, const char *regexp, const char *value); + +/** + * Delete a config variable from the config file + * with the highest level (usually the local one). + * + * @param cfg the configuration + * @param name the variable to delete + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_delete_entry(git_config *cfg, const char *name); + +/** + * Deletes one or several entries from a multivar in the local config file. + * + * The regular expression is applied case-sensitively on the value. + * + * @param cfg where to look for the variables + * @param name the variable's name + * @param regexp a regular expression to indicate which values to delete + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_delete_multivar(git_config *cfg, const char *name, const char *regexp); + +/** + * Perform an operation on each config variable. + * + * The callback receives the normalized name and value of each variable + * in the config backend, and the data pointer passed to this function. + * If the callback returns a non-zero value, the function stops iterating + * and returns that value to the caller. + * + * The pointers passed to the callback are only valid as long as the + * iteration is ongoing. + * + * @param cfg where to get the variables from + * @param callback the function to call on each variable + * @param payload the data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_config_foreach( + const git_config *cfg, + git_config_foreach_cb callback, + void *payload); + +/** + * Iterate over all the config variables + * + * Use `git_config_next` to advance the iteration and + * `git_config_iterator_free` when done. + * + * @param out pointer to store the iterator + * @param cfg where to get the variables from + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_iterator_new(git_config_iterator **out, const git_config *cfg); + +/** + * Iterate over all the config variables whose name matches a pattern + * + * Use `git_config_next` to advance the iteration and + * `git_config_iterator_free` when done. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param out pointer to store the iterator + * @param cfg where to ge the variables from + * @param regexp regular expression to match the names + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_iterator_glob_new(git_config_iterator **out, const git_config *cfg, const char *regexp); + +/** + * Perform an operation on each config variable matching a regular expression. + * + * This behaves like `git_config_foreach` with an additional filter of a + * regular expression that filters which config keys are passed to the + * callback. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the case-insensitive parts are lower-case. + * + * @param cfg where to get the variables from + * @param regexp regular expression to match against config names + * @param callback the function to call on each variable + * @param payload the data to pass to the callback + * @return 0 or the return value of the callback which didn't return 0 + */ +GIT_EXTERN(int) git_config_foreach_match( + const git_config *cfg, + const char *regexp, + git_config_foreach_cb callback, + void *payload); + +/** + * Query the value of a config variable and return it mapped to + * an integer constant. + * + * This is a helper method to easily map different possible values + * to a variable to integer constants that easily identify them. + * + * A mapping array looks as follows: + * + * git_configmap autocrlf_mapping[] = { + * {GIT_CVAR_FALSE, NULL, GIT_AUTO_CRLF_FALSE}, + * {GIT_CVAR_TRUE, NULL, GIT_AUTO_CRLF_TRUE}, + * {GIT_CVAR_STRING, "input", GIT_AUTO_CRLF_INPUT}, + * {GIT_CVAR_STRING, "default", GIT_AUTO_CRLF_DEFAULT}}; + * + * On any "false" value for the variable (e.g. "false", "FALSE", "no"), the + * mapping will store `GIT_AUTO_CRLF_FALSE` in the `out` parameter. + * + * The same thing applies for any "true" value such as "true", "yes" or "1", storing + * the `GIT_AUTO_CRLF_TRUE` variable. + * + * Otherwise, if the value matches the string "input" (with case insensitive comparison), + * the given constant will be stored in `out`, and likewise for "default". + * + * If not a single match can be made to store in `out`, an error code will be + * returned. + * + * @param out place to store the result of the mapping + * @param cfg config file to get the variables from + * @param name name of the config variable to lookup + * @param maps array of `git_configmap` objects specifying the possible mappings + * @param map_n number of mapping objects in `maps` + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_config_get_mapped( + int *out, + const git_config *cfg, + const char *name, + const git_configmap *maps, + size_t map_n); + +/** + * Maps a string value to an integer constant + * + * @param out place to store the result of the parsing + * @param maps array of `git_configmap` objects specifying the possible mappings + * @param map_n number of mapping objects in `maps` + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_lookup_map_value( + int *out, + const git_configmap *maps, + size_t map_n, + const char *value); + +/** + * Parse a string value as a bool. + * + * Valid values for true are: 'true', 'yes', 'on', 1 or any + * number different from 0 + * Valid values for false are: 'false', 'no', 'off', 0 + * + * @param out place to store the result of the parsing + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_bool(int *out, const char *value); + +/** + * Parse a string value as an int32. + * + * An optional value suffix of 'k', 'm', or 'g' will + * cause the value to be multiplied by 1024, 1048576, + * or 1073741824 prior to output. + * + * @param out place to store the result of the parsing + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_int32(int32_t *out, const char *value); + +/** + * Parse a string value as an int64. + * + * An optional value suffix of 'k', 'm', or 'g' will + * cause the value to be multiplied by 1024, 1048576, + * or 1073741824 prior to output. + * + * @param out place to store the result of the parsing + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value); + +/** + * Parse a string value as a path. + * + * A leading '~' will be expanded to the global search path (which + * defaults to the user's home directory but can be overridden via + * `git_libgit2_opts()`. + * + * If the value does not begin with a tilde, the input will be + * returned. + * + * @param out placae to store the result of parsing + * @param value the path to evaluate + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_path(git_buf *out, const char *value); + +/** + * Perform an operation on each config variable in a given config backend, + * matching a regular expression. + * + * This behaves like `git_config_foreach_match` except that only config + * entries from the given backend entry are enumerated. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param backend where to get the variables from + * @param regexp regular expression to match against config names (can be NULL) + * @param callback the function to call on each variable + * @param payload the data to pass to the callback + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_backend_foreach_match( + git_config_backend *backend, + const char *regexp, + git_config_foreach_cb callback, + void *payload); + + +/** + * Lock the backend with the highest priority + * + * Locking disallows anybody else from writing to that backend. Any + * updates made after locking will not be visible to a reader until + * the file is unlocked. + * + * You can apply the changes by calling `git_transaction_commit()` + * before freeing the transaction. Either of these actions will unlock + * the config. + * + * @param tx the resulting transaction, use this to commit or undo the + * changes + * @param cfg the configuration in which to lock + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_lock(git_transaction **tx, git_config *cfg); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cred_helpers.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cred_helpers.h new file mode 100644 index 00000000..3721b6d8 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/cred_helpers.h @@ -0,0 +1,15 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_cred_helpers_h__ +#define INCLUDE_git_cred_helpers_h__ + +/* These declarations have moved. */ +#ifndef GIT_DEPRECATE_HARD +# include "git2/credential_helpers.h" +#endif + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/credential.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/credential.h new file mode 100644 index 00000000..33755ca9 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/credential.h @@ -0,0 +1,343 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_credential_h__ +#define INCLUDE_git_credential_h__ + +#include "common.h" + +/** + * @file git2/credential.h + * @brief Authentication and credential management + * @defgroup git_credential Authentication & credential management + * @ingroup Git + * + * Credentials specify how to authenticate to a remote system + * over HTTPS or SSH. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Supported credential types + * + * This represents the various types of authentication methods supported by + * the library. + */ +typedef enum { + /** + * A vanilla user/password request + * @see git_credential_userpass_plaintext_new + */ + GIT_CREDENTIAL_USERPASS_PLAINTEXT = (1u << 0), + + /** + * An SSH key-based authentication request + * @see git_credential_ssh_key_new + */ + GIT_CREDENTIAL_SSH_KEY = (1u << 1), + + /** + * An SSH key-based authentication request, with a custom signature + * @see git_credential_ssh_custom_new + */ + GIT_CREDENTIAL_SSH_CUSTOM = (1u << 2), + + /** + * An NTLM/Negotiate-based authentication request. + * @see git_credential_default + */ + GIT_CREDENTIAL_DEFAULT = (1u << 3), + + /** + * An SSH interactive authentication request + * @see git_credential_ssh_interactive_new + */ + GIT_CREDENTIAL_SSH_INTERACTIVE = (1u << 4), + + /** + * Username-only authentication request + * + * Used as a pre-authentication step if the underlying transport + * (eg. SSH, with no username in its URL) does not know which username + * to use. + * + * @see git_credential_username_new + */ + GIT_CREDENTIAL_USERNAME = (1u << 5), + + /** + * An SSH key-based authentication request + * + * Allows credentials to be read from memory instead of files. + * Note that because of differences in crypto backend support, it might + * not be functional. + * + * @see git_credential_ssh_key_memory_new + */ + GIT_CREDENTIAL_SSH_MEMORY = (1u << 6) +} git_credential_t; + +/** + * The base structure for all credential types + */ +typedef struct git_credential git_credential; + +typedef struct git_credential_userpass_plaintext git_credential_userpass_plaintext; + +/** Username-only credential information */ +typedef struct git_credential_username git_credential_username; + +/** A key for NTLM/Kerberos "default" credentials */ +typedef struct git_credential git_credential_default; + +/** + * A ssh key from disk + */ +typedef struct git_credential_ssh_key git_credential_ssh_key; + +/** + * Keyboard-interactive based ssh authentication + */ +typedef struct git_credential_ssh_interactive git_credential_ssh_interactive; + +/** + * A key with a custom signature function + */ +typedef struct git_credential_ssh_custom git_credential_ssh_custom; + +/** + * Credential acquisition callback. + * + * 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). + * + * 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. + * + * @param[out] out The newly created credential object. + * @param url The resource for which we are demanding a credential. + * @param username_from_url The username that was embedded in a "user\@host" + * remote url, or NULL if not included. + * @param allowed_types A bitmask stating which credential types are OK to return. + * @param payload The payload provided when specifying this callback. + * @return 0 for success, < 0 to indicate an error, > 0 to indicate + * no credential was acquired + */ +typedef int GIT_CALLBACK(git_credential_acquire_cb)( + git_credential **out, + const char *url, + const char *username_from_url, + unsigned int allowed_types, + void *payload); + +/** + * Free a credential. + * + * This is only necessary if you own the object; that is, if you are a + * transport. + * + * @param cred the object to free + */ +GIT_EXTERN(void) git_credential_free(git_credential *cred); + +/** + * Check whether a credential object contains username information. + * + * @param cred object to check + * @return 1 if the credential object has non-NULL username, 0 otherwise + */ +GIT_EXTERN(int) git_credential_has_username(git_credential *cred); + +/** + * Return the username associated with a credential object. + * + * @param cred object to check + * @return the credential username, or NULL if not applicable + */ +GIT_EXTERN(const char *) git_credential_get_username(git_credential *cred); + +/** + * Create a new plain-text username and password credential object. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username The username of the credential. + * @param password The password of the credential. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_userpass_plaintext_new( + git_credential **out, + const char *username, + const char *password); + +/** + * Create a "default" credential usable for Negotiate mechanisms like NTLM + * or Kerberos authentication. + * + * @param out The newly created credential object. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_default_new(git_credential **out); + +/** + * Create a credential to specify a username. + * + * This is used with ssh authentication to query for the username if + * none is specified in the url. + * + * @param out The newly created credential object. + * @param username The username to authenticate with + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_username_new(git_credential **out, const char *username); + +/** + * Create a new passphrase-protected ssh key credential object. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username username to use to authenticate + * @param publickey The path to the public key of the credential. + * @param privatekey The path to the private key of the credential. + * @param passphrase The passphrase of the credential. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_key_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); + +/** + * Create a new ssh key credential object reading the keys from memory. + * + * @param out The newly created credential object. + * @param username username to use to authenticate. + * @param publickey The public key of the credential. + * @param privatekey The private key of the credential. + * @param passphrase The passphrase of the credential. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_key_memory_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); + +/* + * If the user hasn't included libssh2.h before git2.h, we need to + * define a few types for the callback signatures. + */ +#ifndef LIBSSH2_VERSION +typedef struct _LIBSSH2_SESSION LIBSSH2_SESSION; +typedef struct _LIBSSH2_USERAUTH_KBDINT_PROMPT LIBSSH2_USERAUTH_KBDINT_PROMPT; +typedef struct _LIBSSH2_USERAUTH_KBDINT_RESPONSE LIBSSH2_USERAUTH_KBDINT_RESPONSE; +#endif + +/** + * Callback for interactive SSH credentials. + * + * @param name the name + * @param name_len the length of the name + * @param instruction the authentication instruction + * @param instruction_len the length of the instruction + * @param num_prompts the number of prompts + * @param prompts the prompts + * @param responses the responses + * @param abstract the abstract + */ +typedef void GIT_CALLBACK(git_credential_ssh_interactive_cb)( + 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); + + +/** + * Create a new ssh keyboard-interactive based credential object. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username Username to use to authenticate. + * @param prompt_callback The callback method used for prompts. + * @param payload Additional data to pass to the callback. + * @return 0 for success or an error code for failure. + */ +GIT_EXTERN(int) git_credential_ssh_interactive_new( + git_credential **out, + const char *username, + git_credential_ssh_interactive_cb prompt_callback, + void *payload); + +/** + * Create a new ssh key credential object used for querying an ssh-agent. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username username to use to authenticate + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_key_from_agent( + git_credential **out, + const char *username); + +/** + * Callback for credential signing. + * + * @param session the libssh2 session + * @param sig the signature + * @param sig_len the length of the signature + * @param data the data + * @param data_len the length of the data + * @param abstract the abstract + * @return 0 for success, < 0 to indicate an error, > 0 to indicate + * no credential was acquired + */ +typedef int GIT_CALLBACK(git_credential_sign_cb)( + LIBSSH2_SESSION *session, + unsigned char **sig, size_t *sig_len, + const unsigned char *data, size_t data_len, + void **abstract); + +/** + * Create an ssh key credential with a custom signing function. + * + * This lets you use your own function to sign the challenge. + * + * This function and its credential type is provided for completeness + * and wraps `libssh2_userauth_publickey()`, which is undocumented. + * + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username username to use to authenticate + * @param publickey The bytes of the public key. + * @param publickey_len The length of the public key in bytes. + * @param sign_callback The callback method to sign the data during the challenge. + * @param payload Additional data to pass to the callback. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_custom_new( + git_credential **out, + const char *username, + const char *publickey, + size_t publickey_len, + git_credential_sign_cb sign_callback, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/credential_helpers.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/credential_helpers.h new file mode 100644 index 00000000..706558d5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/credential_helpers.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_credential_helpers_h__ +#define INCLUDE_git_credential_helpers_h__ + +#include "transport.h" + +/** + * @file git2/credential_helpers.h + * @brief Utility functions for credential management + * @defgroup git_credential_helpers credential management helpers + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Payload for git_credential_userpass_plaintext. + */ +typedef struct git_credential_userpass_payload { + const char *username; + const char *password; +} git_credential_userpass_payload; + + +/** + * Stock callback usable as a git_credential_acquire_cb. This calls + * git_cred_userpass_plaintext_new unless the protocol has not specified + * `GIT_CREDENTIAL_USERPASS_PLAINTEXT` as an allowed type. + * + * @param out The newly created credential object. + * @param url The resource for which we are demanding a credential. + * @param user_from_url The username that was embedded in a "user\@host" + * remote url, or NULL if not included. + * @param allowed_types A bitmask stating which credential types are OK to return. + * @param payload The payload provided when specifying this callback. (This is + * interpreted as a `git_credential_userpass_payload*`.) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_credential_userpass( + git_credential **out, + const char *url, + const char *user_from_url, + unsigned int allowed_types, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/deprecated.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/deprecated.h new file mode 100644 index 00000000..b8b0238d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/deprecated.h @@ -0,0 +1,1069 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_deprecated_h__ +#define INCLUDE_git_deprecated_h__ + +#include "attr.h" +#include "config.h" +#include "common.h" +#include "blame.h" +#include "buffer.h" +#include "checkout.h" +#include "cherrypick.h" +#include "clone.h" +#include "describe.h" +#include "diff.h" +#include "errors.h" +#include "filter.h" +#include "index.h" +#include "indexer.h" +#include "merge.h" +#include "object.h" +#include "proxy.h" +#include "refs.h" +#include "rebase.h" +#include "remote.h" +#include "trace.h" +#include "repository.h" +#include "revert.h" +#include "revparse.h" +#include "stash.h" +#include "status.h" +#include "submodule.h" +#include "worktree.h" +#include "credential.h" +#include "credential_helpers.h" + +/* + * Users can avoid deprecated functions by defining `GIT_DEPRECATE_HARD`. + */ +#ifndef GIT_DEPRECATE_HARD + +/* + * The credential structures are now opaque by default, and their + * definition has moved into the `sys/credential.h` header; include + * them here for backward compatibility. + */ +#include "sys/credential.h" + +/** + * @file git2/deprecated.h + * @brief Deprecated functions and values + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** @name Deprecated Attribute Constants + * + * These enumeration values are retained for backward compatibility. + * The newer versions of these functions should be preferred in all + * new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecated use GIT_ATTR_VALUE_UNSPECIFIED */ +#define GIT_ATTR_UNSPECIFIED_T GIT_ATTR_VALUE_UNSPECIFIED +/** @deprecated use GIT_ATTR_VALUE_TRUE */ +#define GIT_ATTR_TRUE_T GIT_ATTR_VALUE_TRUE +/** @deprecated use GIT_ATTR_VALUE_FALSE */ +#define GIT_ATTR_FALSE_T GIT_ATTR_VALUE_FALSE +/** @deprecated use GIT_ATTR_VALUE_STRING */ +#define GIT_ATTR_VALUE_T GIT_ATTR_VALUE_STRING + +/** @deprecated use GIT_ATTR_IS_TRUE */ +#define GIT_ATTR_TRUE(attr) GIT_ATTR_IS_TRUE(attr) +/** @deprecated use GIT_ATTR_IS_FALSE */ +#define GIT_ATTR_FALSE(attr) GIT_ATTR_IS_FALSE(attr) +/** @deprecated use GIT_ATTR_IS_UNSPECIFIED */ +#define GIT_ATTR_UNSPECIFIED(attr) GIT_ATTR_IS_UNSPECIFIED(attr) + +/** @deprecated use git_attr_value_t */ +typedef git_attr_value_t git_attr_t; + +/**@}*/ + +/** @name Deprecated Blob Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions and values + * should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecated use GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD */ +#define GIT_BLOB_FILTER_ATTTRIBUTES_FROM_HEAD GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD + +GIT_EXTERN(int) git_blob_create_fromworkdir(git_oid *id, git_repository *repo, const char *relative_path); +GIT_EXTERN(int) git_blob_create_fromdisk(git_oid *id, git_repository *repo, const char *path); +GIT_EXTERN(int) git_blob_create_fromstream( + git_writestream **out, + git_repository *repo, + const char *hintpath); +GIT_EXTERN(int) git_blob_create_fromstream_commit( + git_oid *out, + git_writestream *stream); +GIT_EXTERN(int) git_blob_create_frombuffer( + git_oid *id, git_repository *repo, const void *buffer, size_t len); + +/** Deprecated in favor of `git_blob_filter`. + * + * @deprecated Use git_blob_filter + * @see git_blob_filter + */ +GIT_EXTERN(int) git_blob_filtered_content( + git_buf *out, + git_blob *blob, + const char *as_path, + int check_for_binary_data); + +/**@}*/ + +/** @name Deprecated Filter Functions + * + * These functions are retained for backward compatibility. The + * newer versions of these functions should be preferred in all + * new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** Deprecated in favor of `git_filter_list_stream_buffer`. + * + * @deprecated Use git_filter_list_stream_buffer + * @see Use git_filter_list_stream_buffer + */ +GIT_EXTERN(int) git_filter_list_stream_data( + git_filter_list *filters, + git_buf *data, + git_writestream *target); + +/** Deprecated in favor of `git_filter_list_apply_to_buffer`. + * + * @deprecated Use git_filter_list_apply_to_buffer + * @see Use git_filter_list_apply_to_buffer + */ +GIT_EXTERN(int) git_filter_list_apply_to_data( + git_buf *out, + git_filter_list *filters, + git_buf *in); + +/**@}*/ + +/** @name Deprecated Tree Functions + * + * These functions are retained for backward compatibility. The + * newer versions of these functions and values should be preferred + * in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Write the contents of the tree builder as a tree object. + * This is an alias of `git_treebuilder_write` and is preserved + * for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_treebuilder_write + * @see git_treebuilder_write + */ +GIT_EXTERN(int) git_treebuilder_write_with_buffer( + git_oid *oid, git_treebuilder *bld, git_buf *tree); + +/**@}*/ + +/** @name Deprecated Buffer Functions + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions should be + * preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Static initializer for git_buf from static buffer + */ +#define GIT_BUF_INIT_CONST(STR,LEN) { (char *)(STR), 0, (size_t)(LEN) } + +/** + * Resize the buffer allocation to make more space. + * + * This will attempt to grow the buffer to accommodate the target size. + * + * If the buffer refers to memory that was not allocated by libgit2 (i.e. + * the `asize` field is zero), then `ptr` will be replaced with a newly + * allocated block of data. Be careful so that memory allocated by the + * caller is not lost. As a special variant, if you pass `target_size` as + * 0 and the memory is not allocated by libgit2, this will allocate a new + * buffer of size `size` and copy the external data into it. + * + * Currently, this will never shrink a buffer, only expand it. + * + * If the allocation fails, this will return an error and the buffer will be + * marked as invalid for future operations, invaliding the contents. + * + * @param buffer The buffer to be resized; may or may not be allocated yet + * @param target_size The desired available size + * @return 0 on success, -1 on allocation failure + */ +GIT_EXTERN(int) git_buf_grow(git_buf *buffer, size_t target_size); + +/** + * Set buffer to a copy of some raw data. + * + * @param buffer The buffer to set + * @param data The data to copy into the buffer + * @param datalen The length of the data to copy into the buffer + * @return 0 on success, -1 on allocation failure + */ +GIT_EXTERN(int) git_buf_set( + git_buf *buffer, const void *data, size_t datalen); + +/** +* Check quickly if buffer looks like it contains binary data +* +* @param buf Buffer to check +* @return 1 if buffer looks like non-text data +*/ +GIT_EXTERN(int) git_buf_is_binary(const git_buf *buf); + +/** +* Check quickly if buffer contains a NUL byte +* +* @param buf Buffer to check +* @return 1 if buffer contains a NUL byte +*/ +GIT_EXTERN(int) git_buf_contains_nul(const git_buf *buf); + +/** + * Free the memory referred to by the git_buf. This is an alias of + * `git_buf_dispose` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_buf_dispose + * @see git_buf_dispose + */ +GIT_EXTERN(void) git_buf_free(git_buf *buffer); + +/**@}*/ + +/** @name Deprecated Commit Definitions + */ +/**@{*/ + +/** + * Provide a commit signature during commit creation. + * + * Callers should instead define a `git_commit_create_cb` that + * generates a commit buffer using `git_commit_create_buffer`, sign + * that buffer and call `git_commit_create_with_signature`. + * + * @deprecated use a `git_commit_create_cb` instead + */ +typedef int (*git_commit_signing_cb)( + git_buf *signature, + git_buf *signature_field, + const char *commit_content, + void *payload); + +/**@}*/ + +/** @name Deprecated Config Functions and Constants + */ +/**@{*/ + +/** @deprecated use GIT_CONFIGMAP_FALSE */ +#define GIT_CVAR_FALSE GIT_CONFIGMAP_FALSE +/** @deprecated use GIT_CONFIGMAP_TRUE */ +#define GIT_CVAR_TRUE GIT_CONFIGMAP_TRUE +/** @deprecated use GIT_CONFIGMAP_INT32 */ +#define GIT_CVAR_INT32 GIT_CONFIGMAP_INT32 +/** @deprecated use GIT_CONFIGMAP_STRING */ +#define GIT_CVAR_STRING GIT_CONFIGMAP_STRING + +/** @deprecated use git_cvar_map */ +typedef git_configmap git_cvar_map; + +/**@}*/ + +/** @name Deprecated Diff Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions and values + * should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Formatting options for diff e-mail generation + */ +typedef enum { + /** Normal patch, the default */ + GIT_DIFF_FORMAT_EMAIL_NONE = 0, + + /** Don't insert "[PATCH]" in the subject header*/ + GIT_DIFF_FORMAT_EMAIL_EXCLUDE_SUBJECT_PATCH_MARKER = (1 << 0) +} git_diff_format_email_flags_t; + +/** + * Options for controlling the formatting of the generated e-mail. + * + * @deprecated use `git_email_create_options` + */ +typedef struct { + unsigned int version; + + /** see `git_diff_format_email_flags_t` above */ + uint32_t flags; + + /** This patch number */ + size_t patch_no; + + /** Total number of patches in this series */ + size_t total_patches; + + /** id to use for the commit */ + const git_oid *id; + + /** Summary of the change */ + const char *summary; + + /** Commit message's body */ + const char *body; + + /** Author of the change */ + const git_signature *author; +} git_diff_format_email_options; + +/** @deprecated use `git_email_create_options` */ +#define GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION 1 +/** @deprecated use `git_email_create_options` */ +#define GIT_DIFF_FORMAT_EMAIL_OPTIONS_INIT {GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION, 0, 1, 1, NULL, NULL, NULL, NULL} + +/** + * Create an e-mail ready patch from a diff. + * + * @deprecated git_email_create_from_diff + * @see git_email_create_from_diff + */ +GIT_EXTERN(int) git_diff_format_email( + git_buf *out, + git_diff *diff, + const git_diff_format_email_options *opts); + +/** + * Create an e-mail ready patch for a commit. + * + * @deprecated git_email_create_from_commit + * @see git_email_create_from_commit + */ +GIT_EXTERN(int) git_diff_commit_as_email( + git_buf *out, + git_repository *repo, + git_commit *commit, + size_t patch_no, + size_t total_patches, + uint32_t flags, + const git_diff_options *diff_opts); + +/** + * Initialize git_diff_format_email_options structure + * + * Initializes a `git_diff_format_email_options` with default values. Equivalent + * to creating an instance with GIT_DIFF_FORMAT_EMAIL_OPTIONS_INIT. + * + * @param opts The `git_blame_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_format_email_options_init( + git_diff_format_email_options *opts, + unsigned int version); + +/**@}*/ + +/** @name Deprecated Error Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions and values + * should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecated use `GIT_ERROR_NONE` */ +#define GITERR_NONE GIT_ERROR_NONE +/** @deprecated use `GIT_ERROR_NOMEMORY` */ +#define GITERR_NOMEMORY GIT_ERROR_NOMEMORY +/** @deprecated use `GIT_ERROR_OS` */ +#define GITERR_OS GIT_ERROR_OS +/** @deprecated use `GIT_ERROR_INVALID` */ +#define GITERR_INVALID GIT_ERROR_INVALID +/** @deprecated use `GIT_ERROR_REFERENCE` */ +#define GITERR_REFERENCE GIT_ERROR_REFERENCE +/** @deprecated use `GIT_ERROR_ZLIB` */ +#define GITERR_ZLIB GIT_ERROR_ZLIB +/** @deprecated use `GIT_ERROR_REPOSITORY` */ +#define GITERR_REPOSITORY GIT_ERROR_REPOSITORY +/** @deprecated use `GIT_ERROR_CONFIG` */ +#define GITERR_CONFIG GIT_ERROR_CONFIG +/** @deprecated use `GIT_ERROR_REGEX` */ +#define GITERR_REGEX GIT_ERROR_REGEX +/** @deprecated use `GIT_ERROR_ODB` */ +#define GITERR_ODB GIT_ERROR_ODB +/** @deprecated use `GIT_ERROR_INDEX` */ +#define GITERR_INDEX GIT_ERROR_INDEX +/** @deprecated use `GIT_ERROR_OBJECT` */ +#define GITERR_OBJECT GIT_ERROR_OBJECT +/** @deprecated use `GIT_ERROR_NET` */ +#define GITERR_NET GIT_ERROR_NET +/** @deprecated use `GIT_ERROR_TAG` */ +#define GITERR_TAG GIT_ERROR_TAG +/** @deprecated use `GIT_ERROR_TREE` */ +#define GITERR_TREE GIT_ERROR_TREE +/** @deprecated use `GIT_ERROR_INDEXER` */ +#define GITERR_INDEXER GIT_ERROR_INDEXER +/** @deprecated use `GIT_ERROR_SSL` */ +#define GITERR_SSL GIT_ERROR_SSL +/** @deprecated use `GIT_ERROR_SUBMODULE` */ +#define GITERR_SUBMODULE GIT_ERROR_SUBMODULE +/** @deprecated use `GIT_ERROR_THREAD` */ +#define GITERR_THREAD GIT_ERROR_THREAD +/** @deprecated use `GIT_ERROR_STASH` */ +#define GITERR_STASH GIT_ERROR_STASH +/** @deprecated use `GIT_ERROR_CHECKOUT` */ +#define GITERR_CHECKOUT GIT_ERROR_CHECKOUT +/** @deprecated use `GIT_ERROR_FETCHHEAD` */ +#define GITERR_FETCHHEAD GIT_ERROR_FETCHHEAD +/** @deprecated use `GIT_ERROR_MERGE` */ +#define GITERR_MERGE GIT_ERROR_MERGE +/** @deprecated use `GIT_ERROR_SSH` */ +#define GITERR_SSH GIT_ERROR_SSH +/** @deprecated use `GIT_ERROR_FILTER` */ +#define GITERR_FILTER GIT_ERROR_FILTER +/** @deprecated use `GIT_ERROR_REVERT` */ +#define GITERR_REVERT GIT_ERROR_REVERT +/** @deprecated use `GIT_ERROR_CALLBACK` */ +#define GITERR_CALLBACK GIT_ERROR_CALLBACK +/** @deprecated use `GIT_ERROR_CHERRYPICK` */ +#define GITERR_CHERRYPICK GIT_ERROR_CHERRYPICK +/** @deprecated use `GIT_ERROR_DESCRIBE` */ +#define GITERR_DESCRIBE GIT_ERROR_DESCRIBE +/** @deprecated use `GIT_ERROR_REBASE` */ +#define GITERR_REBASE GIT_ERROR_REBASE +/** @deprecated use `GIT_ERROR_FILESYSTEM` */ +#define GITERR_FILESYSTEM GIT_ERROR_FILESYSTEM +/** @deprecated use `GIT_ERROR_PATCH` */ +#define GITERR_PATCH GIT_ERROR_PATCH +/** @deprecated use `GIT_ERROR_WORKTREE` */ +#define GITERR_WORKTREE GIT_ERROR_WORKTREE +/** @deprecated use `GIT_ERROR_SHA1` */ +#define GITERR_SHA1 GIT_ERROR_SHA1 +/** @deprecated use `GIT_ERROR_SHA` */ +#define GIT_ERROR_SHA1 GIT_ERROR_SHA + +/** + * Return the last `git_error` object that was generated for the + * current thread. This is an alias of `git_error_last` and is + * preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_last + * @see git_error_last + */ +GIT_EXTERN(const git_error *) giterr_last(void); + +/** + * Clear the last error. This is an alias of `git_error_last` and is + * preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_clear + * @see git_error_clear + */ +GIT_EXTERN(void) giterr_clear(void); + +/** + * Sets the error message to the given string. This is an alias of + * `git_error_set_str` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_set_str + * @see git_error_set_str + */ +GIT_EXTERN(void) giterr_set_str(int error_class, const char *string); + +/** + * Indicates that an out-of-memory situation occurred. This is an alias + * of `git_error_set_oom` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_set_oom + * @see git_error_set_oom + */ +GIT_EXTERN(void) giterr_set_oom(void); + +/**@}*/ + +/** @name Deprecated Index Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these values should be + * preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/* The git_idxentry_extended_flag_t enum */ +/** @deprecated use `GIT_INDEX_ENTRY_NAMEMASK` */ +#define GIT_IDXENTRY_NAMEMASK GIT_INDEX_ENTRY_NAMEMASK +/** @deprecated use `GIT_INDEX_ENTRY_STAGEMASK` */ +#define GIT_IDXENTRY_STAGEMASK GIT_INDEX_ENTRY_STAGEMASK +/** @deprecated use `GIT_INDEX_ENTRY_STAGESHIFT` */ +#define GIT_IDXENTRY_STAGESHIFT GIT_INDEX_ENTRY_STAGESHIFT + +/* The git_indxentry_flag_t enum */ +/** @deprecated use `GIT_INDEX_ENTRY_EXTENDED` */ +#define GIT_IDXENTRY_EXTENDED GIT_INDEX_ENTRY_EXTENDED +/** @deprecated use `GIT_INDEX_ENTRY_VALID` */ +#define GIT_IDXENTRY_VALID GIT_INDEX_ENTRY_VALID + +/** @deprecated use `GIT_INDEX_ENTRY_STAGE` */ +#define GIT_IDXENTRY_STAGE(E) GIT_INDEX_ENTRY_STAGE(E) +/** @deprecated use `GIT_INDEX_ENTRY_STAGE_SET` */ +#define GIT_IDXENTRY_STAGE_SET(E,S) GIT_INDEX_ENTRY_STAGE_SET(E,S) + +/* The git_idxentry_extended_flag_t enum */ +/** @deprecated use `GIT_INDEX_ENTRY_INTENT_TO_ADD` */ +#define GIT_IDXENTRY_INTENT_TO_ADD GIT_INDEX_ENTRY_INTENT_TO_ADD +/** @deprecated use `GIT_INDEX_ENTRY_SKIP_WORKTREE` */ +#define GIT_IDXENTRY_SKIP_WORKTREE GIT_INDEX_ENTRY_SKIP_WORKTREE +/** @deprecated use `GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE` */ +#define GIT_IDXENTRY_EXTENDED_FLAGS (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_EXTENDED2 (1 << 15) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UPDATE (1 << 0) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_REMOVE (1 << 1) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UPTODATE (1 << 2) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_ADDED (1 << 3) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_HASHED (1 << 4) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UNHASHED (1 << 5) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_WT_REMOVE (1 << 6) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_CONFLICTED (1 << 7) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UNPACKED (1 << 8) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_NEW_SKIP_WORKTREE (1 << 9) + +/* The git_index_capability_t enum */ +/** @deprecated use `GIT_INDEX_CAPABILITY_IGNORE_CASE` */ +#define GIT_INDEXCAP_IGNORE_CASE GIT_INDEX_CAPABILITY_IGNORE_CASE +/** @deprecated use `GIT_INDEX_CAPABILITY_NO_FILEMODE` */ +#define GIT_INDEXCAP_NO_FILEMODE GIT_INDEX_CAPABILITY_NO_FILEMODE +/** @deprecated use `GIT_INDEX_CAPABILITY_NO_SYMLINKS` */ +#define GIT_INDEXCAP_NO_SYMLINKS GIT_INDEX_CAPABILITY_NO_SYMLINKS +/** @deprecated use `GIT_INDEX_CAPABILITY_FROM_OWNER` */ +#define GIT_INDEXCAP_FROM_OWNER GIT_INDEX_CAPABILITY_FROM_OWNER + +GIT_EXTERN(int) git_index_add_frombuffer( + git_index *index, + const git_index_entry *entry, + const void *buffer, size_t len); + +/**@}*/ + +/** @name Deprecated Object Constants + * + * These enumeration values are retained for backward compatibility. The + * newer versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecate use `git_object_t` */ +#define git_otype git_object_t + +/** @deprecate use `GIT_OBJECT_ANY` */ +#define GIT_OBJ_ANY GIT_OBJECT_ANY +/** @deprecate use `GIT_OBJECT_INVALID` */ +#define GIT_OBJ_BAD GIT_OBJECT_INVALID +/** @deprecated this value is not public */ +#define GIT_OBJ__EXT1 0 +/** @deprecate use `GIT_OBJECT_COMMIT` */ +#define GIT_OBJ_COMMIT GIT_OBJECT_COMMIT +/** @deprecate use `GIT_OBJECT_TREE` */ +#define GIT_OBJ_TREE GIT_OBJECT_TREE +/** @deprecate use `GIT_OBJECT_BLOB` */ +#define GIT_OBJ_BLOB GIT_OBJECT_BLOB +/** @deprecate use `GIT_OBJECT_TAG` */ +#define GIT_OBJ_TAG GIT_OBJECT_TAG +/** @deprecated this value is not public */ +#define GIT_OBJ__EXT2 5 +/** @deprecate use `GIT_OBJECT_OFS_DELTA` */ +#define GIT_OBJ_OFS_DELTA GIT_OBJECT_OFS_DELTA +/** @deprecate use `GIT_OBJECT_REF_DELTA` */ +#define GIT_OBJ_REF_DELTA GIT_OBJECT_REF_DELTA + +/** + * Get the size in bytes for the structure which + * acts as an in-memory representation of any given + * object type. + * + * For all the core types, this would the equivalent + * of calling `sizeof(git_commit)` if the core types + * were not opaque on the external API. + * + * @param type object type to get its size + * @return size in bytes of the object + */ +GIT_EXTERN(size_t) git_object__size(git_object_t type); + +/**@}*/ + +/** @name Deprecated Remote Functions + * + * These functions are retained for backward compatibility. The newer + * versions of these functions should be preferred in all new code. + * + * There is no plan to remove these backward compatibility functions at + * this time. + */ +/**@{*/ + +/** + * Ensure the remote name is well-formed. + * + * @deprecated Use git_remote_name_is_valid + * @param remote_name name to be checked. + * @return 1 if the reference name is acceptable; 0 if it isn't + */ +GIT_EXTERN(int) git_remote_is_valid_name(const char *remote_name); + +/**@}*/ + +/** @name Deprecated Reference Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these values should be + * preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + + /** Basic type of any Git reference. */ +/** @deprecate use `git_reference_t` */ +#define git_ref_t git_reference_t +/** @deprecate use `git_reference_format_t` */ +#define git_reference_normalize_t git_reference_format_t + +/** @deprecate use `GIT_REFERENCE_INVALID` */ +#define GIT_REF_INVALID GIT_REFERENCE_INVALID +/** @deprecate use `GIT_REFERENCE_DIRECT` */ +#define GIT_REF_OID GIT_REFERENCE_DIRECT +/** @deprecate use `GIT_REFERENCE_SYMBOLIC` */ +#define GIT_REF_SYMBOLIC GIT_REFERENCE_SYMBOLIC +/** @deprecate use `GIT_REFERENCE_ALL` */ +#define GIT_REF_LISTALL GIT_REFERENCE_ALL + +/** @deprecate use `GIT_REFERENCE_FORMAT_NORMAL` */ +#define GIT_REF_FORMAT_NORMAL GIT_REFERENCE_FORMAT_NORMAL +/** @deprecate use `GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL` */ +#define GIT_REF_FORMAT_ALLOW_ONELEVEL GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL +/** @deprecate use `GIT_REFERENCE_FORMAT_REFSPEC_PATTERN` */ +#define GIT_REF_FORMAT_REFSPEC_PATTERN GIT_REFERENCE_FORMAT_REFSPEC_PATTERN +/** @deprecate use `GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND` */ +#define GIT_REF_FORMAT_REFSPEC_SHORTHAND GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND + +/** + * Ensure the reference name is well-formed. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * @deprecated Use git_reference_name_is_valid + * @param refname name to be checked. + * @return 1 if the reference name is acceptable; 0 if it isn't + */ +GIT_EXTERN(int) git_reference_is_valid_name(const char *refname); + +GIT_EXTERN(int) git_tag_create_frombuffer( + git_oid *oid, + git_repository *repo, + const char *buffer, + int force); + +/**@}*/ + +/** @name Deprecated Revspec Constants + * + * These enumeration values are retained for backward compatibility. + * The newer versions of these values should be preferred in all new + * code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +typedef git_revspec_t git_revparse_mode_t; + +/** @deprecated use `GIT_REVSPEC_SINGLE` */ +#define GIT_REVPARSE_SINGLE GIT_REVSPEC_SINGLE +/** @deprecated use `GIT_REVSPEC_RANGE` */ +#define GIT_REVPARSE_RANGE GIT_REVSPEC_RANGE +/** @deprecated use `GIT_REVSPEC_MERGE_BASE` */ +#define GIT_REVPARSE_MERGE_BASE GIT_REVSPEC_MERGE_BASE + +/**@}*/ + +/** @name Deprecated Credential Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +typedef git_credential git_cred; +typedef git_credential_userpass_plaintext git_cred_userpass_plaintext; +typedef git_credential_username git_cred_username; +typedef git_credential_default git_cred_default; +typedef git_credential_ssh_key git_cred_ssh_key; +typedef git_credential_ssh_interactive git_cred_ssh_interactive; +typedef git_credential_ssh_custom git_cred_ssh_custom; + +typedef git_credential_acquire_cb git_cred_acquire_cb; +typedef git_credential_sign_cb git_cred_sign_callback; +typedef git_credential_sign_cb git_cred_sign_cb; +typedef git_credential_ssh_interactive_cb git_cred_ssh_interactive_callback; +typedef git_credential_ssh_interactive_cb git_cred_ssh_interactive_cb; + +/** @deprecated use `git_credential_t` */ +#define git_credtype_t git_credential_t + +/** @deprecated use `GIT_CREDENTIAL_USERPASS_PLAINTEXT` */ +#define GIT_CREDTYPE_USERPASS_PLAINTEXT GIT_CREDENTIAL_USERPASS_PLAINTEXT +/** @deprecated use `GIT_CREDENTIAL_SSH_KEY` */ +#define GIT_CREDTYPE_SSH_KEY GIT_CREDENTIAL_SSH_KEY +/** @deprecated use `GIT_CREDENTIAL_SSH_CUSTOM` */ +#define GIT_CREDTYPE_SSH_CUSTOM GIT_CREDENTIAL_SSH_CUSTOM +/** @deprecated use `GIT_CREDENTIAL_DEFAULT` */ +#define GIT_CREDTYPE_DEFAULT GIT_CREDENTIAL_DEFAULT +/** @deprecated use `GIT_CREDENTIAL_SSH_INTERACTIVE` */ +#define GIT_CREDTYPE_SSH_INTERACTIVE GIT_CREDENTIAL_SSH_INTERACTIVE +/** @deprecated use `GIT_CREDENTIAL_USERNAME` */ +#define GIT_CREDTYPE_USERNAME GIT_CREDENTIAL_USERNAME +/** @deprecated use `GIT_CREDENTIAL_SSH_MEMORY` */ +#define GIT_CREDTYPE_SSH_MEMORY GIT_CREDENTIAL_SSH_MEMORY + +GIT_EXTERN(void) git_cred_free(git_credential *cred); +GIT_EXTERN(int) git_cred_has_username(git_credential *cred); +GIT_EXTERN(const char *) git_cred_get_username(git_credential *cred); +GIT_EXTERN(int) git_cred_userpass_plaintext_new( + git_credential **out, + const char *username, + const char *password); +GIT_EXTERN(int) git_cred_default_new(git_credential **out); +GIT_EXTERN(int) git_cred_username_new(git_credential **out, const char *username); +GIT_EXTERN(int) git_cred_ssh_key_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); +GIT_EXTERN(int) git_cred_ssh_key_memory_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); +GIT_EXTERN(int) git_cred_ssh_interactive_new( + git_credential **out, + const char *username, + git_credential_ssh_interactive_cb prompt_callback, + void *payload); +GIT_EXTERN(int) git_cred_ssh_key_from_agent( + git_credential **out, + const char *username); +GIT_EXTERN(int) git_cred_ssh_custom_new( + git_credential **out, + const char *username, + const char *publickey, + size_t publickey_len, + git_credential_sign_cb sign_callback, + void *payload); + +/* Deprecated Credential Helper Types */ + +typedef git_credential_userpass_payload git_cred_userpass_payload; + +GIT_EXTERN(int) git_cred_userpass( + git_credential **out, + const char *url, + const char *user_from_url, + unsigned int allowed_types, + void *payload); + +/**@}*/ + +/** @name Deprecated Trace Callback Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +typedef git_trace_cb git_trace_callback; + +/**@}*/ + +/** @name Deprecated Object ID Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +#ifndef GIT_EXPERIMENTAL_SHA256 +/** Deprecated OID "raw size" definition */ +# define GIT_OID_RAWSZ GIT_OID_SHA1_SIZE +/** Deprecated OID "hex size" definition */ +# define GIT_OID_HEXSZ GIT_OID_SHA1_HEXSIZE +/** Deprecated OID "hex zero" definition */ +# define GIT_OID_HEX_ZERO GIT_OID_SHA1_HEXZERO +#endif + +GIT_EXTERN(int) git_oid_iszero(const git_oid *id); + +/**@}*/ + +/** @name Deprecated OID Array Functions + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Free the memory referred to by the git_oidarray. This is an alias of + * `git_oidarray_dispose` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_oidarray_dispose + * @see git_oidarray_dispose + */ +GIT_EXTERN(void) git_oidarray_free(git_oidarray *array); + +/**@}*/ + +/** @name Deprecated Transfer Progress Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * This structure is used to provide callers information about the + * progress of indexing a packfile. + * + * This type is deprecated, but there is no plan to remove this + * type definition at this time. + */ +typedef git_indexer_progress git_transfer_progress; + +/** + * Type definition for progress callbacks during indexing. + * + * This type is deprecated, but there is no plan to remove this + * type definition at this time. + */ +typedef git_indexer_progress_cb git_transfer_progress_cb; + +/** + * Type definition for push transfer progress callbacks. + * + * This type is deprecated, but there is no plan to remove this + * type definition at this time. + */ +typedef git_push_transfer_progress_cb git_push_transfer_progress; + + /** The type of a remote completion event */ +#define git_remote_completion_type git_remote_completion_t + +/** + * Callback for listing the remote heads + */ +typedef int GIT_CALLBACK(git_headlist_cb)(git_remote_head *rhead, void *payload); + +/**@}*/ + +/** @name Deprecated String Array Functions + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Copy a string array object from source to target. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @param tgt target + * @param src source + * @return 0 on success, < 0 on allocation failure + */ +GIT_EXTERN(int) git_strarray_copy(git_strarray *tgt, const git_strarray *src); + +/** + * Free the memory referred to by the git_strarray. This is an alias of + * `git_strarray_dispose` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_strarray_dispose + * @see git_strarray_dispose + */ +GIT_EXTERN(void) git_strarray_free(git_strarray *array); + +/**@}*/ + +/** @name Deprecated Version Constants + * + * These constants are retained for backward compatibility. The newer + * versions of these constants should be preferred in all new code. + * + * There is no plan to remove these backward compatibility constants at + * this time. + */ +/**@{*/ + +#define LIBGIT2_VER_MAJOR LIBGIT2_VERSION_MAJOR +#define LIBGIT2_VER_MINOR LIBGIT2_VERSION_MINOR +#define LIBGIT2_VER_REVISION LIBGIT2_VERSION_REVISION +#define LIBGIT2_VER_PATCH LIBGIT2_VERSION_PATCH +#define LIBGIT2_VER_PRERELEASE LIBGIT2_VERSION_PRERELEASE + +/**@}*/ + +/** @name Deprecated Options Initialization Functions + * + * These functions are retained for backward compatibility. The newer + * versions of these functions should be preferred in all new code. + * + * There is no plan to remove these backward compatibility functions at + * this time. + */ +/**@{*/ + +GIT_EXTERN(int) git_blame_init_options(git_blame_options *opts, unsigned int version); +GIT_EXTERN(int) git_checkout_init_options(git_checkout_options *opts, unsigned int version); +GIT_EXTERN(int) git_cherrypick_init_options(git_cherrypick_options *opts, unsigned int version); +GIT_EXTERN(int) git_clone_init_options(git_clone_options *opts, unsigned int version); +GIT_EXTERN(int) git_describe_init_options(git_describe_options *opts, unsigned int version); +GIT_EXTERN(int) git_describe_init_format_options(git_describe_format_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_init_options(git_diff_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_find_init_options(git_diff_find_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_format_email_init_options(git_diff_format_email_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_patchid_init_options(git_diff_patchid_options *opts, unsigned int version); +GIT_EXTERN(int) git_fetch_init_options(git_fetch_options *opts, unsigned int version); +GIT_EXTERN(int) git_indexer_init_options(git_indexer_options *opts, unsigned int version); +GIT_EXTERN(int) git_merge_init_options(git_merge_options *opts, unsigned int version); +GIT_EXTERN(int) git_merge_file_init_input(git_merge_file_input *input, unsigned int version); +GIT_EXTERN(int) git_merge_file_init_options(git_merge_file_options *opts, unsigned int version); +GIT_EXTERN(int) git_proxy_init_options(git_proxy_options *opts, unsigned int version); +GIT_EXTERN(int) git_push_init_options(git_push_options *opts, unsigned int version); +GIT_EXTERN(int) git_rebase_init_options(git_rebase_options *opts, unsigned int version); +GIT_EXTERN(int) git_remote_create_init_options(git_remote_create_options *opts, unsigned int version); +GIT_EXTERN(int) git_repository_init_init_options(git_repository_init_options *opts, unsigned int version); +GIT_EXTERN(int) git_revert_init_options(git_revert_options *opts, unsigned int version); +GIT_EXTERN(int) git_stash_apply_init_options(git_stash_apply_options *opts, unsigned int version); +GIT_EXTERN(int) git_status_init_options(git_status_options *opts, unsigned int version); +GIT_EXTERN(int) git_submodule_update_init_options(git_submodule_update_options *opts, unsigned int version); +GIT_EXTERN(int) git_worktree_add_init_options(git_worktree_add_options *opts, unsigned int version); +GIT_EXTERN(int) git_worktree_prune_init_options(git_worktree_prune_options *opts, unsigned int version); + +/**@}*/ + +/** @} */ +GIT_END_DECL + +#endif + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/describe.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/describe.h new file mode 100644 index 00000000..938c470d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/describe.h @@ -0,0 +1,206 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_describe_h__ +#define INCLUDE_git_describe_h__ + +#include "common.h" +#include "types.h" +#include "buffer.h" + +/** + * @file git2/describe.h + * @brief Describe a commit in reference to tags + * @defgroup git_describe Git describing routines + * @ingroup Git + * @{ + * + * Describe a commit, showing information about how the current commit + * relates to the tags. This can be useful for showing how the current + * commit has changed from a particular tagged version of the repository. + */ +GIT_BEGIN_DECL + +/** + * Reference lookup strategy + * + * These behave like the --tags and --all options to git-describe, + * namely they say to look for any reference in either refs/tags/ or + * refs/ respectively. + */ +typedef enum { + GIT_DESCRIBE_DEFAULT, + GIT_DESCRIBE_TAGS, + GIT_DESCRIBE_ALL +} git_describe_strategy_t; + +/** + * Describe options structure + * + * Initialize with `GIT_DESCRIBE_OPTIONS_INIT`. Alternatively, you can + * use `git_describe_options_init`. + * + */ +typedef struct git_describe_options { + unsigned int version; + + unsigned int max_candidates_tags; /**< default: 10 */ + unsigned int describe_strategy; /**< default: GIT_DESCRIBE_DEFAULT */ + const char *pattern; + /** + * When calculating the distance from the matching tag or + * reference, only walk down the first-parent ancestry. + */ + int only_follow_first_parent; + /** + * If no matching tag or reference is found, the describe + * operation would normally fail. If this option is set, it + * will instead fall back to showing the full id of the + * commit. + */ + int show_commit_oid_as_fallback; +} git_describe_options; + +/** Default maximum candidate tags */ +#define GIT_DESCRIBE_DEFAULT_MAX_CANDIDATES_TAGS 10 +/** Default abbreviated size */ +#define GIT_DESCRIBE_DEFAULT_ABBREVIATED_SIZE 7 + +/** Current version for the `git_describe_options` structure */ +#define GIT_DESCRIBE_OPTIONS_VERSION 1 + +/** Static constructor for `git_describe_options` */ +#define GIT_DESCRIBE_OPTIONS_INIT { \ + GIT_DESCRIBE_OPTIONS_VERSION, \ + GIT_DESCRIBE_DEFAULT_MAX_CANDIDATES_TAGS, \ +} + +/** + * Initialize git_describe_options structure + * + * Initializes a `git_describe_options` with default values. Equivalent to creating + * an instance with GIT_DESCRIBE_OPTIONS_INIT. + * + * @param opts The `git_describe_options` struct to initialize. + * @param version The struct version; pass `GIT_DESCRIBE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_describe_options_init(git_describe_options *opts, unsigned int version); + +/** + * Describe format options structure + * + * Initialize with `GIT_DESCRIBE_FORMAT_OPTIONS_INIT`. Alternatively, you can + * use `git_describe_format_options_init`. + * + */ +typedef struct { + unsigned int version; + + /** + * Size of the abbreviated commit id to use. This value is the + * lower bound for the length of the abbreviated string. The + * default is 7. + */ + unsigned int abbreviated_size; + + /** + * Set to use the long format even when a shorter name could be used. + */ + int always_use_long_format; + + /** + * If the workdir is dirty and this is set, this string will + * be appended to the description string. + */ + const char *dirty_suffix; +} git_describe_format_options; + +/** Current version for the `git_describe_format_options` structure */ +#define GIT_DESCRIBE_FORMAT_OPTIONS_VERSION 1 + +/** Static constructor for `git_describe_format_options` */ +#define GIT_DESCRIBE_FORMAT_OPTIONS_INIT { \ + GIT_DESCRIBE_FORMAT_OPTIONS_VERSION, \ + GIT_DESCRIBE_DEFAULT_ABBREVIATED_SIZE, \ + } + +/** + * Initialize git_describe_format_options structure + * + * Initializes a `git_describe_format_options` with default values. Equivalent to creating + * an instance with GIT_DESCRIBE_FORMAT_OPTIONS_INIT. + * + * @param opts The `git_describe_format_options` struct to initialize. + * @param version The struct version; pass `GIT_DESCRIBE_FORMAT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_describe_format_options_init(git_describe_format_options *opts, unsigned int version); + +/** + * A struct that stores the result of a describe operation. + */ +typedef struct git_describe_result git_describe_result; + +/** + * Describe a commit + * + * Perform the describe operation on the given committish object. + * + * @param result pointer to store the result. You must free this once + * you're done with it. + * @param committish a committish to describe + * @param opts the lookup options (or NULL for defaults) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_describe_commit( + git_describe_result **result, + git_object *committish, + git_describe_options *opts); + +/** + * Describe a commit + * + * 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. + * + * @param out pointer to store the result. You must free this once + * you're done with it. + * @param repo the repository in which to perform the describe + * @param opts the lookup options (or NULL for defaults) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_describe_workdir( + git_describe_result **out, + git_repository *repo, + git_describe_options *opts); + +/** + * Print the describe result to a buffer + * + * @param out The buffer to store the result + * @param result the result from `git_describe_commit()` or + * `git_describe_workdir()`. + * @param opts the formatting options (or NULL for defaults) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_describe_format( + git_buf *out, + const git_describe_result *result, + const git_describe_format_options *opts); + +/** + * Free the describe result. + * + * @param result The result to free. + */ +GIT_EXTERN(void) git_describe_result_free(git_describe_result *result); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/diff.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/diff.h new file mode 100644 index 00000000..262ba2e5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/diff.h @@ -0,0 +1,1512 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_diff_h__ +#define INCLUDE_git_diff_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "tree.h" +#include "refs.h" + +/** + * @file git2/diff.h + * @brief Indicate the differences between two versions of the repository + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Flags for diff options. A combination of these flags can be passed + * in via the `flags` value in the `git_diff_options`. + */ +typedef enum { + /** Normal diff, the default */ + GIT_DIFF_NORMAL = 0, + + /* + * Options controlling which files will be in the diff + */ + + /** Reverse the sides of the diff */ + GIT_DIFF_REVERSE = (1u << 0), + + /** Include ignored files in the diff */ + GIT_DIFF_INCLUDE_IGNORED = (1u << 1), + + /** Even with GIT_DIFF_INCLUDE_IGNORED, an entire ignored directory + * will be marked with only a single entry in the diff; this flag + * adds all files under the directory as IGNORED entries, too. + */ + GIT_DIFF_RECURSE_IGNORED_DIRS = (1u << 2), + + /** Include untracked files in the diff */ + GIT_DIFF_INCLUDE_UNTRACKED = (1u << 3), + + /** Even with GIT_DIFF_INCLUDE_UNTRACKED, an entire untracked + * directory will be marked with only a single entry in the diff + * (a la what core Git does in `git status`); this flag adds *all* + * files under untracked directories as UNTRACKED entries, too. + */ + GIT_DIFF_RECURSE_UNTRACKED_DIRS = (1u << 4), + + /** Include unmodified files in the diff */ + GIT_DIFF_INCLUDE_UNMODIFIED = (1u << 5), + + /** Normally, a type change between files will be converted into a + * DELETED record for the old and an ADDED record for the new; this + * options enabled the generation of TYPECHANGE delta records. + */ + GIT_DIFF_INCLUDE_TYPECHANGE = (1u << 6), + + /** Even with GIT_DIFF_INCLUDE_TYPECHANGE, blob->tree changes still + * generally show as a DELETED blob. This flag tries to correctly + * label blob->tree transitions as TYPECHANGE records with new_file's + * mode set to tree. Note: the tree SHA will not be available. + */ + GIT_DIFF_INCLUDE_TYPECHANGE_TREES = (1u << 7), + + /** Ignore file mode changes */ + GIT_DIFF_IGNORE_FILEMODE = (1u << 8), + + /** Treat all submodules as unmodified */ + GIT_DIFF_IGNORE_SUBMODULES = (1u << 9), + + /** Use case insensitive filename comparisons */ + GIT_DIFF_IGNORE_CASE = (1u << 10), + + /** May be combined with `GIT_DIFF_IGNORE_CASE` to specify that a file + * that has changed case will be returned as an add/delete pair. + */ + GIT_DIFF_INCLUDE_CASECHANGE = (1u << 11), + + /** If the pathspec is set in the diff options, this flags indicates + * that the paths will be treated as literal paths instead of + * fnmatch patterns. Each path in the list must either be a full + * path to a file or a directory. (A trailing slash indicates that + * the path will _only_ match a directory). If a directory is + * specified, all children will be included. + */ + GIT_DIFF_DISABLE_PATHSPEC_MATCH = (1u << 12), + + /** Disable updating of the `binary` flag in delta records. This is + * useful when iterating over a diff if you don't need hunk and data + * callbacks and want to avoid having to load file completely. + */ + GIT_DIFF_SKIP_BINARY_CHECK = (1u << 13), + + /** When diff finds an untracked directory, to match the behavior of + * core Git, it scans the contents for IGNORED and UNTRACKED files. + * If *all* contents are IGNORED, then the directory is IGNORED; if + * any contents are not IGNORED, then the directory is UNTRACKED. + * This is extra work that may not matter in many cases. This flag + * turns off that scan and immediately labels an untracked directory + * as UNTRACKED (changing the behavior to not match core Git). + */ + GIT_DIFF_ENABLE_FAST_UNTRACKED_DIRS = (1u << 14), + + /** When diff finds a file in the working directory with stat + * information different from the index, but the OID ends up being the + * same, write the correct stat information into the index. Note: + * without this flag, diff will always leave the index untouched. + */ + GIT_DIFF_UPDATE_INDEX = (1u << 15), + + /** Include unreadable files in the diff */ + GIT_DIFF_INCLUDE_UNREADABLE = (1u << 16), + + /** Include unreadable files in the diff */ + GIT_DIFF_INCLUDE_UNREADABLE_AS_UNTRACKED = (1u << 17), + + /* + * Options controlling how output will be generated + */ + + /** Use a heuristic that takes indentation and whitespace into account + * which generally can produce better diffs when dealing with ambiguous + * diff hunks. + */ + GIT_DIFF_INDENT_HEURISTIC = (1u << 18), + + /** Ignore blank lines */ + GIT_DIFF_IGNORE_BLANK_LINES = (1u << 19), + + /** Treat all files as text, disabling binary attributes & detection */ + GIT_DIFF_FORCE_TEXT = (1u << 20), + /** Treat all files as binary, disabling text diffs */ + GIT_DIFF_FORCE_BINARY = (1u << 21), + + /** Ignore all whitespace */ + GIT_DIFF_IGNORE_WHITESPACE = (1u << 22), + /** Ignore changes in amount of whitespace */ + GIT_DIFF_IGNORE_WHITESPACE_CHANGE = (1u << 23), + /** Ignore whitespace at end of line */ + GIT_DIFF_IGNORE_WHITESPACE_EOL = (1u << 24), + + /** When generating patch text, include the content of untracked + * files. This automatically turns on GIT_DIFF_INCLUDE_UNTRACKED but + * it does not turn on GIT_DIFF_RECURSE_UNTRACKED_DIRS. Add that + * flag if you want the content of every single UNTRACKED file. + */ + GIT_DIFF_SHOW_UNTRACKED_CONTENT = (1u << 25), + + /** When generating output, include the names of unmodified files if + * they are included in the git_diff. Normally these are skipped in + * the formats that list files (e.g. name-only, name-status, raw). + * Even with this, these will not be included in patch format. + */ + GIT_DIFF_SHOW_UNMODIFIED = (1u << 26), + + /** Use the "patience diff" algorithm */ + GIT_DIFF_PATIENCE = (1u << 28), + /** Take extra time to find minimal diff */ + GIT_DIFF_MINIMAL = (1u << 29), + + /** Include the necessary deflate / delta information so that `git-apply` + * can apply given diff information to binary files. + */ + GIT_DIFF_SHOW_BINARY = (1u << 30) +} git_diff_option_t; + +/** + * The diff object that contains all individual file deltas. + * + * A `diff` represents the cumulative list of differences between two + * snapshots of a repository (possibly filtered by a set of file name + * patterns). + * + * Calculating diffs is generally done in two phases: building a list of + * diffs then traversing it. This makes is easier to share logic across + * the various types of diffs (tree vs tree, workdir vs index, etc.), and + * also allows you to insert optional diff post-processing phases, + * such as rename detection, in between the steps. When you are done with + * a diff object, it must be freed. + * + * This is an opaque structure which will be allocated by one of the diff + * generator functions below (such as `git_diff_tree_to_tree`). You are + * responsible for releasing the object memory when done, using the + * `git_diff_free()` function. + * + */ +typedef struct git_diff git_diff; + +/** + * Flags for the delta object and the file objects on each side. + * + * These flags are used for both the `flags` value of the `git_diff_delta` + * and the flags for the `git_diff_file` objects representing the old and + * new sides of the delta. Values outside of this public range should be + * considered reserved for internal or future use. + */ +typedef enum { + GIT_DIFF_FLAG_BINARY = (1u << 0), /**< file(s) treated as binary data */ + GIT_DIFF_FLAG_NOT_BINARY = (1u << 1), /**< file(s) treated as text data */ + GIT_DIFF_FLAG_VALID_ID = (1u << 2), /**< `id` value is known correct */ + GIT_DIFF_FLAG_EXISTS = (1u << 3), /**< file exists at this side of the delta */ + GIT_DIFF_FLAG_VALID_SIZE = (1u << 4) /**< file size value is known correct */ +} git_diff_flag_t; + +/** + * What type of change is described by a git_diff_delta? + * + * `GIT_DELTA_RENAMED` and `GIT_DELTA_COPIED` will only show up if you run + * `git_diff_find_similar()` on the diff object. + * + * `GIT_DELTA_TYPECHANGE` only shows up given `GIT_DIFF_INCLUDE_TYPECHANGE` + * in the option flags (otherwise type changes will be split into ADDED / + * DELETED pairs). + */ +typedef enum { + GIT_DELTA_UNMODIFIED = 0, /**< no changes */ + GIT_DELTA_ADDED = 1, /**< entry does not exist in old version */ + GIT_DELTA_DELETED = 2, /**< entry does not exist in new version */ + GIT_DELTA_MODIFIED = 3, /**< entry content changed between old and new */ + GIT_DELTA_RENAMED = 4, /**< entry was renamed between old and new */ + GIT_DELTA_COPIED = 5, /**< entry was copied from another old entry */ + GIT_DELTA_IGNORED = 6, /**< entry is ignored item in workdir */ + GIT_DELTA_UNTRACKED = 7, /**< entry is untracked item in workdir */ + GIT_DELTA_TYPECHANGE = 8, /**< type of entry changed between old and new */ + GIT_DELTA_UNREADABLE = 9, /**< entry is unreadable */ + GIT_DELTA_CONFLICTED = 10 /**< entry in the index is conflicted */ +} git_delta_t; + +/** + * Description of one side of a delta. + * + * Although this is called a "file", it could represent a file, a symbolic + * link, a submodule commit id, or even a tree (although that only if you + * are tracking type changes or ignored/untracked directories). + */ +typedef struct { + /** + * The `git_oid` of the item. If the entry represents an + * absent side of a diff (e.g. the `old_file` of a `GIT_DELTA_ADDED` delta), + * then the oid will be zeroes. + */ + git_oid id; + + /** + * The NUL-terminated path to the entry relative to the working + * directory of the repository. + */ + const char *path; + + /** + * The size of the entry in bytes. + */ + git_object_size_t size; + + /** + * A combination of the `git_diff_flag_t` types + */ + uint32_t flags; + + /** + * Roughly, the stat() `st_mode` value for the item. This will + * be restricted to one of the `git_filemode_t` values. + */ + uint16_t mode; + + /** + * Represents the known length of the `id` field, when + * converted to a hex string. It is generally `GIT_OID_SHA1_HEXSIZE`, unless this + * delta was created from reading a patch file, in which case it may be + * abbreviated to something reasonable, like 7 characters. + */ + uint16_t id_abbrev; + + /// Use later GIT_EXTERN(const git_index_entry *) git_index_get_bypath(git_index *index, const char *path, int stage); + /// PATCH + git_time_t ctime; + git_time_t mtime; +} git_diff_file; + +/** + * Description of changes to one entry. + * + * A `delta` is a file pair with an old and new revision. The old version + * may be absent if the file was just created and the new version may be + * absent if the file was deleted. A diff is mostly just a list of deltas. + * + * When iterating over a diff, this will be passed to most callbacks and + * you can use the contents to understand exactly what has changed. + * + * The `old_file` represents the "from" side of the diff and the `new_file` + * represents to "to" side of the diff. What those means depend on the + * function that was used to generate the diff and will be documented below. + * You can also use the `GIT_DIFF_REVERSE` flag to flip it around. + * + * Although the two sides of the delta are named "old_file" and "new_file", + * they actually may correspond to entries that represent a file, a symbolic + * link, a submodule commit id, or even a tree (if you are tracking type + * changes or ignored/untracked directories). + * + * Under some circumstances, in the name of efficiency, not all fields will + * be filled in, but we generally try to fill in as much as possible. One + * example is that the "flags" field may not have either the `BINARY` or the + * `NOT_BINARY` flag set to avoid examining file contents if you do not pass + * in hunk and/or line callbacks to the diff foreach iteration function. It + * will just use the git attributes for those files. + * + * The similarity score is zero unless you call `git_diff_find_similar()` + * which does a similarity analysis of files in the diff. Use that + * function to do rename and copy detection, and to split heavily modified + * files in add/delete pairs. After that call, deltas with a status of + * GIT_DELTA_RENAMED or GIT_DELTA_COPIED will have a similarity score + * between 0 and 100 indicating how similar the old and new sides are. + * + * If you ask `git_diff_find_similar` to find heavily modified files to + * break, but to not *actually* break the records, then GIT_DELTA_MODIFIED + * records may have a non-zero similarity score if the self-similarity is + * below the split threshold. To display this value like core Git, invert + * the score (a la `printf("M%03d", 100 - delta->similarity)`). + */ +typedef struct { + git_delta_t status; + uint32_t flags; /**< git_diff_flag_t values */ + uint16_t similarity; /**< for RENAMED and COPIED, value 0-100 */ + uint16_t nfiles; /**< number of files in this delta */ + git_diff_file old_file; + git_diff_file new_file; +} git_diff_delta; + +/** + * Diff notification callback function. + * + * The callback will be called for each file, just before the `git_diff_delta` + * gets inserted into the diff. + * + * 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. + * + * @param diff_so_far the diff structure as it currently exists + * @param delta_to_add the delta that is to be added + * @param matched_pathspec the pathspec + * @param payload the user-specified callback payload + * @return 0 on success, 1 to skip this delta, or an error code + */ +typedef int GIT_CALLBACK(git_diff_notify_cb)( + const git_diff *diff_so_far, + const git_diff_delta *delta_to_add, + const char *matched_pathspec, + void *payload); + +/** + * Diff progress callback. + * + * Called before each file comparison. + * + * @param diff_so_far The diff being generated. + * @param old_path The path to the old file or NULL. + * @param new_path The path to the new file or NULL. + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_progress_cb)( + const git_diff *diff_so_far, + const char *old_path, + const char *new_path, + void *payload); + +/** + * Structure describing options about how the diff should be executed. + * + * Setting all values of the structure to zero will yield the default + * values. Similarly, passing NULL for the options structure will + * give the defaults. The default values are marked below. + * + */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** + * A combination of `git_diff_option_t` values above. + * Defaults to GIT_DIFF_NORMAL + */ + uint32_t flags; + + /* options controlling which files are in the diff */ + + /** Overrides the submodule ignore setting for all submodules in the diff. */ + git_submodule_ignore_t ignore_submodules; + + /** + * An array of paths / fnmatch patterns to constrain diff. + * All paths are included by default. + */ + git_strarray pathspec; + + /** + * An optional callback function, notifying the consumer of changes to + * the diff as new deltas are added. + */ + git_diff_notify_cb notify_cb; + + /** + * An optional callback function, notifying the consumer of which files + * are being examined as the diff is generated. + */ + git_diff_progress_cb progress_cb; + + /** The payload to pass to the callback functions. */ + void *payload; + + /* options controlling how to diff text is generated */ + + /** + * The number of unchanged lines that define the boundary of a hunk + * (and to display before and after). Defaults to 3. + */ + uint32_t context_lines; + /** + * The maximum number of unchanged lines between hunk boundaries before + * the hunks will be merged into one. Defaults to 0. + */ + uint32_t interhunk_lines; + + /** + * The object ID type to emit in diffs; this is used by functions + * that operate without a repository - namely `git_diff_buffers`, + * or `git_diff_blobs` and `git_diff_blob_to_buffer` when one blob + * is `NULL`. + * + * This may be omitted (set to `0`). If a repository is available, + * the object ID format of the repository will be used. If no + * repository is available then the default is `GIT_OID_SHA`. + * + * If this is specified and a repository is available, then the + * specified `oid_type` must match the repository's object ID + * format. + */ + git_oid_t oid_type; + + /** + * The abbreviation length to use when formatting object ids. + * Defaults to the value of 'core.abbrev' from the config, or 7 if unset. + */ + uint16_t id_abbrev; + + /** + * A size (in bytes) above which a blob will be marked as binary + * automatically; pass a negative value to disable. + * Defaults to 512MB. + */ + git_off_t max_size; + + /** + * The virtual "directory" prefix for old file names in hunk headers. + * Default is "a". + */ + const char *old_prefix; + + /** + * The virtual "directory" prefix for new file names in hunk headers. + * Defaults to "b". + */ + const char *new_prefix; +} git_diff_options; + +/** The current version of the diff options structure */ +#define GIT_DIFF_OPTIONS_VERSION 1 + +/** Stack initializer for diff options. Alternatively use + * `git_diff_options_init` programmatic initialization. + */ +#define GIT_DIFF_OPTIONS_INIT \ + {GIT_DIFF_OPTIONS_VERSION, 0, GIT_SUBMODULE_IGNORE_UNSPECIFIED, {NULL,0}, NULL, NULL, NULL, 3} + +/** + * Initialize git_diff_options structure + * + * Initializes a `git_diff_options` with default values. Equivalent to creating + * an instance with GIT_DIFF_OPTIONS_INIT. + * + * @param opts The `git_diff_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_options_init( + git_diff_options *opts, + unsigned int version); + +/** + * When iterating over a diff, callback that will be made per file. + * + * @param delta A pointer to the delta data for the file + * @param progress Goes from 0 to 1 over the diff + * @param payload User-specified pointer from foreach function + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_file_cb)( + const git_diff_delta *delta, + float progress, + void *payload); + +/** Maximum size of the hunk header */ +#define GIT_DIFF_HUNK_HEADER_SIZE 128 + +/** + * When producing a binary diff, the binary data returned will be + * either the deflated full ("literal") contents of the file, or + * the deflated binary delta between the two sides (whichever is + * smaller). + */ +typedef enum { + /** There is no binary delta. */ + GIT_DIFF_BINARY_NONE, + + /** The binary data is the literal contents of the file. */ + GIT_DIFF_BINARY_LITERAL, + + /** The binary data is the delta from one side to the other. */ + GIT_DIFF_BINARY_DELTA +} git_diff_binary_t; + +/** The contents of one of the files in a binary diff. */ +typedef struct { + /** The type of binary data for this file. */ + git_diff_binary_t type; + + /** The binary data, deflated. */ + const char *data; + + /** The length of the binary data. */ + size_t datalen; + + /** The length of the binary data after inflation. */ + size_t inflatedlen; +} git_diff_binary_file; + +/** + * Structure describing the binary contents of a diff. + * + * A `binary` file / delta is a file (or pair) for which no text diffs + * should be generated. A diff can contain delta entries that are + * binary, but no diff content will be output for those files. There is + * a base heuristic for binary detection and you can further tune the + * behavior with git attributes or diff flags and option settings. + */ +typedef struct { + /** + * Whether there is data in this binary structure or not. + * + * If this is `1`, then this was produced and included binary content. + * If this is `0` then this was generated knowing only that a binary + * file changed but without providing the data, probably from a patch + * that said `Binary files a/file.txt and b/file.txt differ`. + */ + unsigned int contains_data; + git_diff_binary_file old_file; /**< The contents of the old file. */ + git_diff_binary_file new_file; /**< The contents of the new file. */ +} git_diff_binary; + +/** + * When iterating over a diff, callback that will be made for + * binary content within the diff. + * + * @param delta the delta + * @param binary the binary content + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_binary_cb)( + const git_diff_delta *delta, + const git_diff_binary *binary, + void *payload); + +/** + * Structure describing a hunk of a diff. + * + * A `hunk` is a span of modified lines in a delta along with some stable + * surrounding context. You can configure the amount of context and other + * properties of how hunks are generated. Each hunk also comes with a + * header that described where it starts and ends in both the old and new + * versions in the delta. + */ +typedef struct { + int old_start; /**< Starting line number in old_file */ + int old_lines; /**< Number of lines in old_file */ + int new_start; /**< Starting line number in new_file */ + int new_lines; /**< Number of lines in new_file */ + size_t header_len; /**< Number of bytes in header text */ + char header[GIT_DIFF_HUNK_HEADER_SIZE]; /**< Header text, NUL-byte terminated */ +} git_diff_hunk; + +/** + * When iterating over a diff, callback that will be made per hunk. + * + * @param delta the delta + * @param hunk the hunk + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_hunk_cb)( + const git_diff_delta *delta, + const git_diff_hunk *hunk, + void *payload); + +/** + * Line origin constants. + * + * These values describe where a line came from and will be passed to + * the git_diff_line_cb when iterating over a diff. There are some + * special origin constants at the end that are used for the text + * output callbacks to demarcate lines that are actually part of + * the file or hunk headers. + */ +typedef enum { + /* These values will be sent to `git_diff_line_cb` along with the line */ + GIT_DIFF_LINE_CONTEXT = ' ', + GIT_DIFF_LINE_ADDITION = '+', + GIT_DIFF_LINE_DELETION = '-', + + GIT_DIFF_LINE_CONTEXT_EOFNL = '=', /**< Both files have no LF at end */ + GIT_DIFF_LINE_ADD_EOFNL = '>', /**< Old has no LF at end, new does */ + GIT_DIFF_LINE_DEL_EOFNL = '<', /**< Old has LF at end, new does not */ + + /* The following values will only be sent to a `git_diff_line_cb` when + * the content of a diff is being formatted through `git_diff_print`. + */ + GIT_DIFF_LINE_FILE_HDR = 'F', + GIT_DIFF_LINE_HUNK_HDR = 'H', + GIT_DIFF_LINE_BINARY = 'B' /**< For "Binary files x and y differ" */ +} git_diff_line_t; + +/** + * Structure describing a line (or data span) of a diff. + * + * A `line` is a range of characters inside a hunk. It could be a context + * line (i.e. in both old and new versions), an added line (i.e. only in + * the new version), or a removed line (i.e. only in the old version). + * Unfortunately, we don't know anything about the encoding of data in the + * file being diffed, so we cannot tell you much about the line content. + * Line data will not be NUL-byte terminated, however, because it will be + * just a span of bytes inside the larger file. + */ +typedef struct { + char origin; /**< A git_diff_line_t value */ + int old_lineno; /**< Line number in old file or -1 for added line */ + int new_lineno; /**< Line number in new file or -1 for deleted line */ + int num_lines; /**< Number of newline characters in content */ + size_t content_len; /**< Number of bytes of data */ + git_off_t content_offset; /**< Offset in the original file to the content */ + const char *content; /**< Pointer to diff text, not NUL-byte terminated */ +} git_diff_line; + +/** + * When iterating over a diff, callback that will be made per text diff + * line. In this context, the provided range will be NULL. + * + * 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. + * + * @param delta the delta that contains the line + * @param hunk the hunk that contains the line + * @param line the line in the diff + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_line_cb)( + const git_diff_delta *delta, /**< delta that contains this data */ + const git_diff_hunk *hunk, /**< hunk containing this data */ + const git_diff_line *line, /**< line data */ + void *payload); /**< user reference data */ + +/** + * Flags to control the behavior of diff rename/copy detection. + */ +typedef enum { + /** Obey `diff.renames`. Overridden by any other GIT_DIFF_FIND_... flag. */ + GIT_DIFF_FIND_BY_CONFIG = 0, + + /** Look for renames? (`--find-renames`) */ + GIT_DIFF_FIND_RENAMES = (1u << 0), + + /** Consider old side of MODIFIED for renames? (`--break-rewrites=N`) */ + GIT_DIFF_FIND_RENAMES_FROM_REWRITES = (1u << 1), + + /** Look for copies? (a la `--find-copies`). */ + GIT_DIFF_FIND_COPIES = (1u << 2), + + /** Consider UNMODIFIED as copy sources? (`--find-copies-harder`). + * + * For this to work correctly, use GIT_DIFF_INCLUDE_UNMODIFIED when + * the initial `git_diff` is being generated. + */ + GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED = (1u << 3), + + /** Mark significant rewrites for split (`--break-rewrites=/M`) */ + GIT_DIFF_FIND_REWRITES = (1u << 4), + /** Actually split large rewrites into delete/add pairs */ + GIT_DIFF_BREAK_REWRITES = (1u << 5), + /** Mark rewrites for split and break into delete/add pairs */ + GIT_DIFF_FIND_AND_BREAK_REWRITES = + (GIT_DIFF_FIND_REWRITES | GIT_DIFF_BREAK_REWRITES), + + /** Find renames/copies for UNTRACKED items in working directory. + * + * For this to work correctly, use GIT_DIFF_INCLUDE_UNTRACKED when the + * initial `git_diff` is being generated (and obviously the diff must + * be against the working directory for this to make sense). + */ + GIT_DIFF_FIND_FOR_UNTRACKED = (1u << 6), + + /** Turn on all finding features. */ + GIT_DIFF_FIND_ALL = (0x0ff), + + /** Measure similarity ignoring leading whitespace (default) */ + GIT_DIFF_FIND_IGNORE_LEADING_WHITESPACE = 0, + /** Measure similarity ignoring all whitespace */ + GIT_DIFF_FIND_IGNORE_WHITESPACE = (1u << 12), + /** Measure similarity including all data */ + GIT_DIFF_FIND_DONT_IGNORE_WHITESPACE = (1u << 13), + /** Measure similarity only by comparing SHAs (fast and cheap) */ + GIT_DIFF_FIND_EXACT_MATCH_ONLY = (1u << 14), + + /** Do not break rewrites unless they contribute to a rename. + * + * Normally, GIT_DIFF_FIND_AND_BREAK_REWRITES will measure the self- + * similarity of modified files and split the ones that have changed a + * lot into a DELETE / ADD pair. Then the sides of that pair will be + * considered candidates for rename and copy detection. + * + * If you add this flag in and the split pair is *not* used for an + * actual rename or copy, then the modified record will be restored to + * a regular MODIFIED record instead of being split. + */ + GIT_DIFF_BREAK_REWRITES_FOR_RENAMES_ONLY = (1u << 15), + + /** Remove any UNMODIFIED deltas after find_similar is done. + * + * Using GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED to emulate the + * --find-copies-harder behavior requires building a diff with the + * GIT_DIFF_INCLUDE_UNMODIFIED flag. If you do not want UNMODIFIED + * records in the final result, pass this flag to have them removed. + */ + GIT_DIFF_FIND_REMOVE_UNMODIFIED = (1u << 16) +} git_diff_find_t; + +/** + * Pluggable similarity metric + */ +typedef struct { + int GIT_CALLBACK(file_signature)( + void **out, const git_diff_file *file, + const char *fullpath, void *payload); + int GIT_CALLBACK(buffer_signature)( + void **out, const git_diff_file *file, + const char *buf, size_t buflen, void *payload); + void GIT_CALLBACK(free_signature)(void *sig, void *payload); + int GIT_CALLBACK(similarity)(int *score, void *siga, void *sigb, void *payload); + void *payload; +} git_diff_similarity_metric; + +/** + * Control behavior of rename and copy detection + * + * These options mostly mimic parameters that can be passed to git-diff. + */ +typedef struct { + unsigned int version; + + /** + * Combination of git_diff_find_t values (default GIT_DIFF_FIND_BY_CONFIG). + * NOTE: if you don't explicitly set this, `diff.renames` could be set + * to false, resulting in `git_diff_find_similar` doing nothing. + */ + uint32_t flags; + + /** + * Threshold above which similar files will be considered renames. + * This is equivalent to the -M option. Defaults to 50. + */ + uint16_t rename_threshold; + + /** + * Threshold below which similar files will be eligible to be a rename source. + * This is equivalent to the first part of the -B option. Defaults to 50. + */ + uint16_t rename_from_rewrite_threshold; + + /** + * Threshold above which similar files will be considered copies. + * This is equivalent to the -C option. Defaults to 50. + */ + uint16_t copy_threshold; + + /** + * Threshold below which similar files will be split into a delete/add pair. + * This is equivalent to the last part of the -B option. Defaults to 60. + */ + uint16_t break_rewrite_threshold; + + /** + * Maximum number of matches to consider for a particular file. + * + * This is a little different from the `-l` option from Git because we + * will still process up to this many matches before abandoning the search. + * Defaults to 1000. + */ + size_t rename_limit; + + /** + * The `metric` option allows you to plug in a custom similarity metric. + * + * Set it to NULL to use the default internal metric. + * + * The default metric is based on sampling hashes of ranges of data in + * the file, which is a pretty good similarity approximation that should + * work fairly well for both text and binary data while still being + * pretty fast with a fixed memory overhead. + */ + git_diff_similarity_metric *metric; +} git_diff_find_options; + +/** Current version for the `git_diff_find_options` structure */ +#define GIT_DIFF_FIND_OPTIONS_VERSION 1 + +/** Static constructor for `git_diff_find_options` */ +#define GIT_DIFF_FIND_OPTIONS_INIT {GIT_DIFF_FIND_OPTIONS_VERSION} + +/** + * Initialize git_diff_find_options structure + * + * Initializes a `git_diff_find_options` with default values. Equivalent to creating + * an instance with GIT_DIFF_FIND_OPTIONS_INIT. + * + * @param opts The `git_diff_find_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_FIND_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_find_options_init( + git_diff_find_options *opts, + unsigned int version); + +/** @name Diff Generator Functions + * + * These are the functions you would use to create (or destroy) a + * git_diff from various objects in a repository. + */ +/**@{*/ + +/** + * Deallocate a diff. + * + * @param diff The previously created diff; cannot be used after free. + */ +GIT_EXTERN(void) git_diff_free(git_diff *diff); + +/** + * Create a diff with the difference between two tree objects. + * + * This is equivalent to `git diff ` + * + * 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`. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository containing the trees. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param new_tree A git_tree object to diff to, or NULL for empty tree. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_tree( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + git_tree *new_tree, + const git_diff_options *opts); + +/** + * Create a diff between a tree and repository index. + * + * This is equivalent to `git diff --cached ` or if you pass + * the HEAD tree, then like `git diff --cached`. + * + * 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. + * + * 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. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository containing the tree and index. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param index The index to diff with; repo index used if NULL. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_index( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + git_index *index, + const git_diff_options *opts); + +/** + * Create a diff between the repository index and the workdir directory. + * + * 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 ` + * using libgit2. + * + * 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. + * + * 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. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository. + * @param index The index to diff from; repo index used if NULL. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_index_to_workdir( + git_diff **diff, + git_repository *repo, + git_index *index, + const git_diff_options *opts); + +/** + * Create a diff between a tree and the working directory. + * + * 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. + * + * This is not the same as `git diff ` or `git diff-index + * `. 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. + * + * 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. + * + * @param diff A pointer to a git_diff pointer that will be allocated. + * @param repo The repository containing the tree. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_workdir( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + const git_diff_options *opts); + +/** + * Create a diff between a tree and the working directory using index data + * to account for staged deletes, tracked files, etc. + * + * This emulates `git diff ` 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. + * + * @param diff A pointer to a git_diff pointer that will be allocated. + * @param repo The repository containing the tree. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_workdir_with_index( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + const git_diff_options *opts); + +/** + * Create a diff with the difference between two index objects. + * + * The first index will be used for the "old_file" side of the delta and the + * second index will be used for the "new_file" side of the delta. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository containing the indexes. + * @param old_index A git_index object to diff from. + * @param new_index A git_index object to diff to. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_index_to_index( + git_diff **diff, + git_repository *repo, + git_index *old_index, + git_index *new_index, + const git_diff_options *opts); + +/** + * Merge one diff into another. + * + * This merges items from the "from" list into the "onto" list. The + * resulting diff will have all items that appear in either list. + * If an item appears in both lists, then it will be "merged" to appear + * as if the old version was from the "onto" list and the new version + * is from the "from" list (with the exception that if the item has a + * pending DELETE in the middle, then it will show as deleted). + * + * @param onto Diff to merge into. + * @param from Diff to merge. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_merge( + git_diff *onto, + const git_diff *from); + +/** + * Transform a diff marking file renames, copies, etc. + * + * 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. + * + * @param diff diff to run detection algorithms on + * @param options Control how detection should be run, NULL for defaults + * @return 0 on success, -1 on failure + */ +GIT_EXTERN(int) git_diff_find_similar( + git_diff *diff, + const git_diff_find_options *options); + +/**@}*/ + + +/** @name Diff Processor Functions + * + * These are the functions you apply to a diff to process it + * or read it in some way. + */ +/**@{*/ + +/** + * Query how many diff records are there in a diff. + * + * @param diff A git_diff generated by one of the above functions + * @return Count of number of deltas in the list + */ +GIT_EXTERN(size_t) git_diff_num_deltas(const git_diff *diff); + +/** + * Query how many diff deltas are there in a diff filtered by type. + * + * This works just like `git_diff_num_deltas()` with an extra parameter + * that is a `git_delta_t` and returns just the count of how many deltas + * match that particular type. + * + * @param diff A git_diff generated by one of the above functions + * @param type A git_delta_t value to filter the count + * @return Count of number of deltas matching delta_t type + */ +GIT_EXTERN(size_t) git_diff_num_deltas_of_type( + const git_diff *diff, git_delta_t type); + +/** + * Return the diff delta for an entry in the diff list. + * + * The `git_diff_delta` pointer points to internal data and you do not + * have to release it when you are done with it. It will go away when + * the * `git_diff` (or any associated `git_patch`) goes away. + * + * Note that the flags on the delta related to whether it has binary + * content or not may not be set if there are no attributes set for the + * file and there has been no reason to load the file data at this point. + * For now, if you need those flags to be up to date, your only option is + * to either use `git_diff_foreach` or create a `git_patch`. + * + * @param diff Diff list object + * @param idx Index into diff list + * @return Pointer to git_diff_delta (or NULL if `idx` out of range) + */ +GIT_EXTERN(const git_diff_delta *) git_diff_get_delta( + const git_diff *diff, size_t idx); + +/** + * Check if deltas are sorted case sensitively or insensitively. + * + * @param diff diff to check + * @return 0 if case sensitive, 1 if case is ignored + */ +GIT_EXTERN(int) git_diff_is_sorted_icase(const git_diff *diff); + +/** + * Loop over all deltas in a diff issuing callbacks. + * + * This will iterate through all of the files described in a diff. You + * should provide a file callback to learn about each file. + * + * The "hunk" and "line" callbacks are optional, and the text diff of the + * files will only be calculated if they are not NULL. Of course, these + * callbacks will not be invoked for binary files on the diff or for + * files whose only changed is a file mode change. + * + * Returning a non-zero value from any of the callbacks will terminate + * the iteration and return the value to the user. + * + * @param diff A git_diff generated by one of the above functions. + * @param file_cb Callback function to make per file in the diff. + * @param binary_cb Optional callback to make for binary files. + * @param hunk_cb Optional callback to make per hunk of text diff. This + * callback is called to describe a range of lines in the + * diff. It will not be issued for binary files. + * @param line_cb Optional callback to make per line of diff text. This + * same callback will be made for context lines, added, and + * removed lines, and even for a deleted trailing newline. + * @param payload Reference pointer that will be passed to your callbacks. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_foreach( + git_diff *diff, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/** + * Look up the single character abbreviation for a delta status code. + * + * When you run `git diff --name-status` it uses single letter codes in + * the output such as 'A' for added, 'D' for deleted, 'M' for modified, + * etc. This function converts a git_delta_t value into these letters for + * your own purposes. GIT_DELTA_UNTRACKED will return a space (i.e. ' '). + * + * @param status The git_delta_t value to look up + * @return The single character label for that code + */ +GIT_EXTERN(char) git_diff_status_char(git_delta_t status); + +/** + * Possible output formats for diff data + */ +typedef enum { + GIT_DIFF_FORMAT_PATCH = 1u, /**< full git diff */ + GIT_DIFF_FORMAT_PATCH_HEADER = 2u, /**< just the file headers of patch */ + GIT_DIFF_FORMAT_RAW = 3u, /**< like git diff --raw */ + GIT_DIFF_FORMAT_NAME_ONLY = 4u, /**< like git diff --name-only */ + GIT_DIFF_FORMAT_NAME_STATUS = 5u, /**< like git diff --name-status */ + GIT_DIFF_FORMAT_PATCH_ID = 6u /**< git diff as used by git patch-id */ +} git_diff_format_t; + +/** + * Iterate over a diff generating formatted text output. + * + * Returning a non-zero value from the callbacks will terminate the + * iteration and return the non-zero value to the caller. + * + * @param diff A git_diff generated by one of the above functions. + * @param format A git_diff_format_t value to pick the text format. + * @param print_cb Callback to make per line of diff text. + * @param payload Reference pointer that will be passed to your callback. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_print( + git_diff *diff, + git_diff_format_t format, + git_diff_line_cb print_cb, + void *payload); + +/** + * Produce the complete formatted text output from a diff into a + * buffer. + * + * @param out A pointer to a user-allocated git_buf that will + * contain the diff text + * @param diff A git_diff generated by one of the above functions. + * @param format A git_diff_format_t value to pick the text format. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_diff_to_buf( + git_buf *out, + git_diff *diff, + git_diff_format_t format); + +/**@}*/ + +/* + * Low-level file comparison, invoking callbacks per difference. + */ + +/** + * Directly run a diff on two blobs. + * + * Compared to a file, a blob lacks some contextual information. As such, + * the `git_diff_file` given to the callback will have some fake data; i.e. + * `mode` will be 0 and `path` will be NULL. + * + * NULL is allowed for either `old_blob` or `new_blob` and will be treated + * as an empty blob, with the `oid` set to NULL in the `git_diff_file` data. + * Passing NULL for both blobs is a noop; no callbacks will be made at all. + * + * We do run a binary content check on the blob content and if either blob + * looks like binary data, the `git_diff_delta` binary attribute will be set + * to 1 and no call to the hunk_cb nor line_cb will be made (unless you pass + * `GIT_DIFF_FORCE_TEXT` of course). + * + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param new_blob Blob for new side of diff, or NULL for empty blob + * @param new_as_path Treat new blob as if it had this filename; can be NULL + * @param options Options for diff, or NULL for default options + * @param file_cb Callback for "file"; made once if there is a diff; can be NULL + * @param binary_cb Callback for binary files; can be NULL + * @param hunk_cb Callback for each hunk in diff; can be NULL + * @param line_cb Callback for each line in diff; can be NULL + * @param payload Payload passed to each callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_blobs( + const git_blob *old_blob, + const char *old_as_path, + const git_blob *new_blob, + const char *new_as_path, + const git_diff_options *options, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/** + * Directly run a diff between a blob and a buffer. + * + * As with `git_diff_blobs`, comparing a blob and buffer lacks some context, + * so the `git_diff_file` parameters to the callbacks will be faked a la the + * rules for `git_diff_blobs()`. + * + * Passing NULL for `old_blob` will be treated as an empty blob (i.e. the + * `file_cb` will be invoked with GIT_DELTA_ADDED and the diff will be the + * entire content of the buffer added). Passing NULL to the buffer will do + * the reverse, with GIT_DELTA_REMOVED and blob content removed. + * + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param buffer Raw data for new side of diff, or NULL for empty + * @param buffer_len Length of raw data for new side of diff + * @param buffer_as_path Treat buffer as if it had this filename; can be NULL + * @param options Options for diff, or NULL for default options + * @param file_cb Callback for "file"; made once if there is a diff; can be NULL + * @param binary_cb Callback for binary files; can be NULL + * @param hunk_cb Callback for each hunk in diff; can be NULL + * @param line_cb Callback for each line in diff; can be NULL + * @param payload Payload passed to each callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_blob_to_buffer( + const git_blob *old_blob, + const char *old_as_path, + const char *buffer, + size_t buffer_len, + const char *buffer_as_path, + const git_diff_options *options, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/** + * Directly run a diff between two buffers. + * + * Even more than with `git_diff_blobs`, comparing two buffer lacks + * context, so the `git_diff_file` parameters to the callbacks will be + * faked a la the rules for `git_diff_blobs()`. + * + * @param old_buffer Raw data for old side of diff, or NULL for empty + * @param old_len Length of the raw data for old side of the diff + * @param old_as_path Treat old buffer as if it had this filename; can be NULL + * @param new_buffer Raw data for new side of diff, or NULL for empty + * @param new_len Length of raw data for new side of diff + * @param new_as_path Treat buffer as if it had this filename; can be NULL + * @param options Options for diff, or NULL for default options + * @param file_cb Callback for "file"; made once if there is a diff; can be NULL + * @param binary_cb Callback for binary files; can be NULL + * @param hunk_cb Callback for each hunk in diff; can be NULL + * @param line_cb Callback for each line in diff; can be NULL + * @param payload Payload passed to each callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_buffers( + const void *old_buffer, + size_t old_len, + const char *old_as_path, + const void *new_buffer, + size_t new_len, + const char *new_as_path, + const git_diff_options *options, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/* Patch file parsing. */ + +/** + * Options for parsing a diff / patch file. + */ +typedef struct { + unsigned int version; + git_oid_t oid_type; +} git_diff_parse_options; + +/** The current version of the diff parse options structure */ +#define GIT_DIFF_PARSE_OPTIONS_VERSION 1 + +/** Stack initializer for diff parse options. Alternatively use + * `git_diff_parse_options_init` programmatic initialization. + */ +#define GIT_DIFF_PARSE_OPTIONS_INIT \ + { GIT_DIFF_PARSE_OPTIONS_VERSION, GIT_OID_DEFAULT } + +/** + * Read the contents of a git patch file into a `git_diff` object. + * + * The diff object produced is similar to the one that would be + * produced if you actually produced it computationally by comparing + * two trees, however there may be subtle differences. For example, + * a patch file likely contains abbreviated object IDs, so the + * object IDs in a `git_diff_delta` produced by this function will + * also be abbreviated. + * + * This function will only read patch files created by a git + * implementation, it will not read unified diffs produced by + * the `diff` program, nor any other types of patch files. + * + * @param out A pointer to a git_diff pointer that will be allocated. + * @param content The contents of a patch file + * @param content_len The length of the patch file contents + * @return 0 or an error code + */ +GIT_EXTERN(int) git_diff_from_buffer( + git_diff **out, + const char *content, + size_t content_len +#ifdef GIT_EXPERIMENTAL_SHA256 + , git_diff_parse_options *opts +#endif + ); + +/** + * This is an opaque structure which is allocated by `git_diff_get_stats`. + * You are responsible for releasing the object memory when done, using the + * `git_diff_stats_free()` function. + */ +typedef struct git_diff_stats git_diff_stats; + +/** + * Formatting options for diff stats + */ +typedef enum { + /** No stats*/ + GIT_DIFF_STATS_NONE = 0, + + /** Full statistics, equivalent of `--stat` */ + GIT_DIFF_STATS_FULL = (1u << 0), + + /** Short statistics, equivalent of `--shortstat` */ + GIT_DIFF_STATS_SHORT = (1u << 1), + + /** Number statistics, equivalent of `--numstat` */ + GIT_DIFF_STATS_NUMBER = (1u << 2), + + /** Extended header information such as creations, renames and mode changes, equivalent of `--summary` */ + GIT_DIFF_STATS_INCLUDE_SUMMARY = (1u << 3) +} git_diff_stats_format_t; + +/** + * Accumulate diff statistics for all patches. + * + * @param out Structure containing the diff statistics. + * @param diff A git_diff generated by one of the above functions. + * @return 0 on success; non-zero on error + */ +GIT_EXTERN(int) git_diff_get_stats( + git_diff_stats **out, + git_diff *diff); + +/** + * Get the total number of files changed in a diff + * + * @param stats A `git_diff_stats` generated by one of the above functions. + * @return total number of files changed in the diff + */ +GIT_EXTERN(size_t) git_diff_stats_files_changed( + const git_diff_stats *stats); + +/** + * Get the total number of insertions in a diff + * + * @param stats A `git_diff_stats` generated by one of the above functions. + * @return total number of insertions in the diff + */ +GIT_EXTERN(size_t) git_diff_stats_insertions( + const git_diff_stats *stats); + +/** + * Get the total number of deletions in a diff + * + * @param stats A `git_diff_stats` generated by one of the above functions. + * @return total number of deletions in the diff + */ +GIT_EXTERN(size_t) git_diff_stats_deletions( + const git_diff_stats *stats); + +/** + * Print diff statistics to a `git_buf`. + * + * @param out buffer to store the formatted diff statistics in. + * @param stats A `git_diff_stats` generated by one of the above functions. + * @param format Formatting option. + * @param width Target width for output (only affects GIT_DIFF_STATS_FULL) + * @return 0 on success; non-zero on error + */ +GIT_EXTERN(int) git_diff_stats_to_buf( + git_buf *out, + const git_diff_stats *stats, + git_diff_stats_format_t format, + size_t width); + +/** + * Deallocate a `git_diff_stats`. + * + * @param stats The previously created statistics object; + * cannot be used after free. + */ +GIT_EXTERN(void) git_diff_stats_free(git_diff_stats *stats); + +/** + * Patch ID options structure + * + * Initialize with `GIT_PATCHID_OPTIONS_INIT`. Alternatively, you can + * use `git_diff_patchid_options_init`. + * + */ +typedef struct git_diff_patchid_options { + unsigned int version; +} git_diff_patchid_options; + +/** Current version for the `git_diff_patchid_options` structure */ +#define GIT_DIFF_PATCHID_OPTIONS_VERSION 1 + +/** Static constructor for `git_diff_patchid_options` */ +#define GIT_DIFF_PATCHID_OPTIONS_INIT { GIT_DIFF_PATCHID_OPTIONS_VERSION } + +/** + * Initialize git_diff_patchid_options structure + * + * Initializes a `git_diff_patchid_options` with default values. Equivalent to + * creating an instance with `GIT_DIFF_PATCHID_OPTIONS_INIT`. + * + * @param opts The `git_diff_patchid_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_PATCHID_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_patchid_options_init( + git_diff_patchid_options *opts, + unsigned int version); + +/** + * Calculate the patch ID for the given patch. + * + * 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. + * + * 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. + * + * @param out Pointer where the calculated patch ID should be stored + * @param diff The diff to calculate the ID for + * @param opts Options for how to calculate the patch ID. This is + * intended for future changes, as currently no options are + * available. + * @return 0 on success, an error code otherwise. + */ +GIT_EXTERN(int) git_diff_patchid(git_oid *out, git_diff *diff, git_diff_patchid_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/email.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/email.h new file mode 100644 index 00000000..ad37e424 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/email.h @@ -0,0 +1,107 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_email_h__ +#define INCLUDE_git_email_h__ + +#include "common.h" +#include "diff.h" + +/** + * @file git2/email.h + * @brief Produce email-ready patches + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Formatting options for diff e-mail generation + */ +typedef enum { + /** Normal patch, the default */ + GIT_EMAIL_CREATE_DEFAULT = 0, + + /** Do not include patch numbers in the subject prefix. */ + GIT_EMAIL_CREATE_OMIT_NUMBERS = (1u << 0), + + /** + * Include numbers in the subject prefix even when the + * patch is for a single commit (1/1). + */ + GIT_EMAIL_CREATE_ALWAYS_NUMBER = (1u << 1), + + /** Do not perform rename or similarity detection. */ + GIT_EMAIL_CREATE_NO_RENAMES = (1u << 2) +} git_email_create_flags_t; + +/** + * Options for controlling the formatting of the generated e-mail. + */ +typedef struct { + unsigned int version; + + /** see `git_email_create_flags_t` above */ + uint32_t flags; + + /** Options to use when creating diffs */ + git_diff_options diff_opts; + + /** Options for finding similarities within diffs */ + git_diff_find_options diff_find_opts; + + /** + * The subject prefix, by default "PATCH". If set to an empty + * string ("") then only the patch numbers will be shown in the + * prefix. If the subject_prefix is empty and patch numbers + * are not being shown, the prefix will be omitted entirely. + */ + const char *subject_prefix; + + /** + * The starting patch number; this cannot be 0. By default, + * this is 1. + */ + size_t start_number; + + /** The "re-roll" number. By default, there is no re-roll. */ + size_t reroll_number; +} git_email_create_options; + +/** Current version for the `git_email_create_options` structure */ +#define GIT_EMAIL_CREATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_email_create_options` + * + * By default, our options include rename detection and binary + * diffs to match `git format-patch`. + */ +#define GIT_EMAIL_CREATE_OPTIONS_INIT \ +{ \ + GIT_EMAIL_CREATE_OPTIONS_VERSION, \ + GIT_EMAIL_CREATE_DEFAULT, \ + { GIT_DIFF_OPTIONS_VERSION, GIT_DIFF_SHOW_BINARY, GIT_SUBMODULE_IGNORE_UNSPECIFIED, {NULL,0}, NULL, NULL, NULL, 3 }, \ + GIT_DIFF_FIND_OPTIONS_INIT \ +} + +/** + * Create a diff for a commit in mbox format for sending via email. + * The commit must not be a merge commit. + * + * @param out buffer to store the e-mail patch in + * @param commit commit to create a patch for + * @param opts email creation options + * @return 0 or an error code + */ +GIT_EXTERN(int) git_email_create_from_commit( + git_buf *out, + git_commit *commit, + const git_email_create_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/errors.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/errors.h new file mode 100644 index 00000000..11413907 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/errors.h @@ -0,0 +1,154 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_errors_h__ +#define INCLUDE_git_errors_h__ + +#include "common.h" + +/** + * @file git2/errors.h + * @brief Error handling routines and variables + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Generic return codes */ +typedef enum { + /** + * No error occurred; the call was successful. + */ + GIT_OK = 0, + + /** + * An error occurred; call `git_error_last` for more information. + */ + GIT_ERROR = -1, + + GIT_ENOTFOUND = -3, /**< Requested object could not be found. */ + GIT_EEXISTS = -4, /**< Object exists preventing operation. */ + GIT_EAMBIGUOUS = -5, /**< More than one object matches. */ + GIT_EBUFS = -6, /**< Output buffer too short to hold data. */ + + /** + * GIT_EUSER is a special error that is never generated by libgit2 + * code. You can return it from a callback (e.g to stop an iteration) + * to know that it was generated by the callback and not by libgit2. + */ + GIT_EUSER = -7, + + GIT_EBAREREPO = -8, /**< Operation not allowed on bare repository. */ + GIT_EUNBORNBRANCH = -9, /**< HEAD refers to branch with no commits. */ + GIT_EUNMERGED = -10, /**< Merge in progress prevented operation */ + GIT_ENONFASTFORWARD = -11, /**< Reference was not fast-forwardable */ + GIT_EINVALIDSPEC = -12, /**< Name/ref spec was not in a valid format */ + GIT_ECONFLICT = -13, /**< Checkout conflicts prevented operation */ + GIT_ELOCKED = -14, /**< Lock file prevented operation */ + GIT_EMODIFIED = -15, /**< Reference value does not match expected */ + GIT_EAUTH = -16, /**< Authentication error */ + GIT_ECERTIFICATE = -17, /**< Server certificate is invalid */ + GIT_EAPPLIED = -18, /**< Patch/merge has already been applied */ + GIT_EPEEL = -19, /**< The requested peel operation is not possible */ + GIT_EEOF = -20, /**< Unexpected EOF */ + GIT_EINVALID = -21, /**< Invalid operation or input */ + GIT_EUNCOMMITTED = -22, /**< Uncommitted changes in index prevented operation */ + GIT_EDIRECTORY = -23, /**< The operation is not valid for a directory */ + GIT_EMERGECONFLICT = -24, /**< A merge conflict exists and cannot continue */ + + GIT_PASSTHROUGH = -30, /**< A user-configured callback refused to act */ + GIT_ITEROVER = -31, /**< Signals end of iteration with iterator */ + GIT_RETRY = -32, /**< Internal only */ + GIT_EMISMATCH = -33, /**< Hashsum mismatch in object */ + GIT_EINDEXDIRTY = -34, /**< Unsaved changes in the index would be overwritten */ + GIT_EAPPLYFAIL = -35, /**< Patch application failed */ + GIT_EOWNER = -36, /**< The object is not owned by the current user */ + GIT_TIMEOUT = -37, /**< The operation timed out */ + GIT_EUNCHANGED = -38, /**< There were no changes */ + GIT_ENOTSUPPORTED = -39, /**< An option is not supported */ + GIT_EREADONLY = -40 /**< The subject is read-only */ +} git_error_code; + +/** + * Error classes are the category of error. They reflect the area of the + * code where an error occurred. + */ +typedef enum { + GIT_ERROR_NONE = 0, + GIT_ERROR_NOMEMORY, + GIT_ERROR_OS, + GIT_ERROR_INVALID, + GIT_ERROR_REFERENCE, + GIT_ERROR_ZLIB, + GIT_ERROR_REPOSITORY, + GIT_ERROR_CONFIG, + GIT_ERROR_REGEX, + GIT_ERROR_ODB, + GIT_ERROR_INDEX, + GIT_ERROR_OBJECT, + GIT_ERROR_NET, + GIT_ERROR_TAG, + GIT_ERROR_TREE, + GIT_ERROR_INDEXER, + GIT_ERROR_SSL, + GIT_ERROR_SUBMODULE, + GIT_ERROR_THREAD, + GIT_ERROR_STASH, + GIT_ERROR_CHECKOUT, + GIT_ERROR_FETCHHEAD, + GIT_ERROR_MERGE, + GIT_ERROR_SSH, + GIT_ERROR_FILTER, + GIT_ERROR_REVERT, + GIT_ERROR_CALLBACK, + GIT_ERROR_CHERRYPICK, + GIT_ERROR_DESCRIBE, + GIT_ERROR_REBASE, + GIT_ERROR_FILESYSTEM, + GIT_ERROR_PATCH, + GIT_ERROR_WORKTREE, + GIT_ERROR_SHA, + GIT_ERROR_HTTP, + GIT_ERROR_INTERNAL, + GIT_ERROR_GRAFTS +} git_error_t; + +/** + * Structure to store extra details of the last error that occurred. + * + * 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 + */ +typedef struct { + char *message; /**< The error message for the last error. */ + int klass; /**< The category of the last error. @type git_error_t */ +} git_error; + +/** + * Return the last `git_error` object that was generated for the + * current thread. + * + * This function will never return NULL. + * + * 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. + * + * 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.) + * + * The memory for this object is managed by libgit2. It should not + * be freed. + * + * @return A pointer to a `git_error` object that describes the error. + */ +GIT_EXTERN(const git_error *) git_error_last(void); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/experimental.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/experimental.h new file mode 100644 index 00000000..543f62f9 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/experimental.h @@ -0,0 +1,13 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_experimental_h__ +#define INCLUDE_experimental_h__ + +/* #undef GIT_EXPERIMENTAL_SHA256 */ + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/filter.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/filter.h new file mode 100644 index 00000000..cf6c5f59 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/filter.h @@ -0,0 +1,283 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_filter_h__ +#define INCLUDE_git_filter_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "buffer.h" + +/** + * @file git2/filter.h + * @brief Filters modify files during checkout or commit + * @ingroup Git + * + * During checkout, filters update a file from a "canonical" state to + * a format appropriate for the local filesystem; during commit, filters + * produce the canonical state. For example, on Windows, the line ending + * filters _may_ take a canonical state (with Unix-style newlines) in + * the repository, and place the contents on-disk with Windows-style + * `\r\n` line endings. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Filters are applied in one of two directions: smudging - which is + * exporting a file from the Git object database to the working directory, + * and cleaning - which is importing a file from the working directory to + * the Git object database. These values control which direction of + * change is being applied. + */ +typedef enum { + GIT_FILTER_TO_WORKTREE = 0, + GIT_FILTER_SMUDGE = GIT_FILTER_TO_WORKTREE, + GIT_FILTER_TO_ODB = 1, + GIT_FILTER_CLEAN = GIT_FILTER_TO_ODB +} git_filter_mode_t; + +/** + * Filter option flags. + */ +typedef enum { + GIT_FILTER_DEFAULT = 0u, + + /** Don't error for `safecrlf` violations, allow them to continue. */ + GIT_FILTER_ALLOW_UNSAFE = (1u << 0), + + /** Don't load `/etc/gitattributes` (or the system equivalent) */ + GIT_FILTER_NO_SYSTEM_ATTRIBUTES = (1u << 1), + + /** Load attributes from `.gitattributes` in the root of HEAD */ + GIT_FILTER_ATTRIBUTES_FROM_HEAD = (1u << 2), + + /** + * Load attributes from `.gitattributes` in a given commit. + * This can only be specified in a `git_filter_options`. + */ + GIT_FILTER_ATTRIBUTES_FROM_COMMIT = (1u << 3) +} git_filter_flag_t; + +/** + * Filtering options + */ +typedef struct { + unsigned int version; + + /** See `git_filter_flag_t` above */ + uint32_t flags; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + git_oid *commit_id; +#endif + + /** + * The commit to load attributes from, when + * `GIT_FILTER_ATTRIBUTES_FROM_COMMIT` is specified. + */ + git_oid attr_commit_id; +} git_filter_options; + +/** Current version for the `git_filter_options` structure */ +#define GIT_FILTER_OPTIONS_VERSION 1 + +/** Static constructor for `git_filter_options` */ +#define GIT_FILTER_OPTIONS_INIT {GIT_FILTER_OPTIONS_VERSION} + +/** + * A filter that can transform file data + * + * 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). + * + * The two builtin filters are: + * + * * "crlf" which uses the complex rules with the "text", "eol", and + * "crlf" file attributes to decide how to convert between LF and CRLF + * line endings + * * "ident" which replaces "$Id$" in a blob with "$Id: $" upon + * checkout and replaced "$Id: $" with "$Id$" on checkin. + */ +typedef struct git_filter git_filter; + +/** + * List of filters to be applied + * + * 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. + */ +typedef struct git_filter_list git_filter_list; + +/** + * Load the filter list for a given path. + * + * This will return 0 (success) but set the output git_filter_list to NULL + * if no filters are requested for the given file. + * + * @param filters Output newly created git_filter_list (or NULL) + * @param repo Repository object that contains `path` + * @param blob The blob to which the filter will be applied (if known) + * @param path Relative path of the file to be filtered + * @param mode Filtering direction (WT->ODB or ODB->WT) + * @param flags Combination of `git_filter_flag_t` flags + * @return 0 on success (which could still return NULL if no filters are + * needed for the requested file), <0 on error + */ +GIT_EXTERN(int) git_filter_list_load( + git_filter_list **filters, + git_repository *repo, + git_blob *blob, /* can be NULL */ + const char *path, + git_filter_mode_t mode, + uint32_t flags); + +/** + * Load the filter list for a given path. + * + * This will return 0 (success) but set the output git_filter_list to NULL + * if no filters are requested for the given file. + * + * @param filters Output newly created git_filter_list (or NULL) + * @param repo Repository object that contains `path` + * @param blob The blob to which the filter will be applied (if known) + * @param path Relative path of the file to be filtered + * @param mode Filtering direction (WT->ODB or ODB->WT) + * @param opts The `git_filter_options` to use when loading filters + * @return 0 on success (which could still return NULL if no filters are + * needed for the requested file), <0 on error + */ +GIT_EXTERN(int) git_filter_list_load_ext( + git_filter_list **filters, + git_repository *repo, + git_blob *blob, + const char *path, + git_filter_mode_t mode, + git_filter_options *opts); + +/** + * Query the filter list to see if a given filter (by name) will run. + * The built-in filters "crlf" and "ident" can be queried, otherwise this + * is the name of the filter specified by the filter attribute. + * + * This will return 0 if the given filter is not in the list, or 1 if + * the filter will be applied. + * + * @param filters A loaded git_filter_list (or NULL) + * @param name The name of the filter to query + * @return 1 if the filter is in the list, 0 otherwise + */ +GIT_EXTERN(int) git_filter_list_contains( + git_filter_list *filters, + const char *name); + +/** + * Apply filter list to a data buffer. + * + * @param out Buffer to store the result of the filtering + * @param filters A loaded git_filter_list (or NULL) + * @param in Buffer containing the data to filter + * @param in_len The length of the input buffer + * @return 0 on success, an error code otherwise + */ +GIT_EXTERN(int) git_filter_list_apply_to_buffer( + git_buf *out, + git_filter_list *filters, + const char *in, + size_t in_len); + +/** + * Apply a filter list to the contents of a file on disk + * + * @param out buffer into which to store the filtered file + * @param filters the list of filters to apply + * @param repo the repository in which to perform the filtering + * @param path the path of the file to filter, a relative path will be + * taken as relative to the workdir + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_apply_to_file( + git_buf *out, + git_filter_list *filters, + git_repository *repo, + const char *path); + +/** + * Apply a filter list to the contents of a blob + * + * @param out buffer into which to store the filtered file + * @param filters the list of filters to apply + * @param blob the blob to filter + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_apply_to_blob( + git_buf *out, + git_filter_list *filters, + git_blob *blob); + +/** + * Apply a filter list to an arbitrary buffer as a stream + * + * @param filters the list of filters to apply + * @param buffer the buffer to filter + * @param len the size of the buffer + * @param target the stream into which the data will be written + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_stream_buffer( + git_filter_list *filters, + const char *buffer, + size_t len, + git_writestream *target); + +/** + * Apply a filter list to a file as a stream + * + * @param filters the list of filters to apply + * @param repo the repository in which to perform the filtering + * @param path the path of the file to filter, a relative path will be + * taken as relative to the workdir + * @param target the stream into which the data will be written + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_stream_file( + git_filter_list *filters, + git_repository *repo, + const char *path, + git_writestream *target); + +/** + * Apply a filter list to a blob as a stream + * + * @param filters the list of filters to apply + * @param blob the blob to filter + * @param target the stream into which the data will be written + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_stream_blob( + git_filter_list *filters, + git_blob *blob, + git_writestream *target); + +/** + * Free a git_filter_list + * + * @param filters A git_filter_list created by `git_filter_list_load` + */ +GIT_EXTERN(void) git_filter_list_free(git_filter_list *filters); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_branch.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_branch.h new file mode 100644 index 00000000..8135a22a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_branch.h @@ -0,0 +1,24 @@ +#include "common.h" +#include "oid.h" +#include "types.h" +#include "branch.h" + +/** + * @file git2/branch.h + * @brief Git branch parsing routines + * @defgroup git_branch Git branch management + * @ingroup Git + * @{ + */ + +GIT_BEGIN_DECL +// PATCH +// These functions are aliases and can be safely removed. +// Use `git_#{func}` instead. +// Replace and remove this file later. +GIT_EXTERN(int) gitup_branch_upstream_name(git_buf *out, git_repository *repo, const char *refname); +GIT_EXTERN(int) gitup_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *refname); +GIT_EXTERN(int) gitup_branch_upstream_merge(git_buf *buf, git_repository *repo, const char *refname); + +/** @} */ +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_clone.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_clone.h new file mode 100644 index 00000000..be1b6cd5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_clone.h @@ -0,0 +1,24 @@ +#include "clone.h" +#include "common.h" +#include "types.h" +#include "indexer.h" +#include "checkout.h" +#include "remote.h" +#include "transport.h" + +/** + * @file git2/clone.h + * @brief Git cloning routines + * @defgroup git_clone Git cloning routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +GIT_EXTERN(int) gitup_clone_into(git_repository *repo, + git_remote *remote, + const git_fetch_options *fetch_opts, + const git_checkout_options *checkout_opts, + const char *branch); + +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_config.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_config.h new file mode 100644 index 00000000..af563bd5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_config.h @@ -0,0 +1,19 @@ +#include "config.h" + +GIT_BEGIN_DECL + +/** + * Locate the path to the local configuration file + * + * The returned path may be used on any `git_config` call to load the local + * configuration file. + * + * @param repo The repository whose local configuration file to find + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a local configuration file has been found. Its path will be stored in `out`. + */ +/// This function uses repository method item path. +/// Maybe it is better to use `repository` method `gitup_repository_find_local_config` +GIT_EXTERN(int) gitup_config_find_local(git_repository *repo, git_buf *out); + +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_refs.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_refs.h new file mode 100644 index 00000000..18d8c406 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_refs.h @@ -0,0 +1,35 @@ +#include "refs.h" + +GIT_BEGIN_DECL + +/** + * Create a virtual direct reference. + * + * This is wrapper for + * git_reference_create(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const char *log_message); + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference virtually lives + * @param name The name of the reference + * @param id The object id pointed to by the reference + * @return 0 on success or an error code + */ +GIT_EXTERN(int) gitup_reference_create_virtual(git_reference **out, git_repository *repo, const char *name, const git_oid *id); + +/** + * Create a virtual symbolic reference. + * + * Discussion + * + * This is a wrapper for + * git_reference_symbolic_create(git_reference **out, git_repository *repo, const char *name, const char *target, int force, const char *log_message); + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference virtually lives + * @param name The name of the reference + * @param target The target of the reference + * @return 0 on success or an error code + */ +GIT_EXTERN(int) gitup_reference_symbolic_create_virtual(git_reference **out, git_repository *repo, const char *name, const char *target); + +GIT_END_DECL \ No newline at end of file diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_repository.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_repository.h new file mode 100644 index 00000000..330f9408 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_repository.h @@ -0,0 +1,35 @@ +#include "repository.h" +#include "common.h" +#include "types.h" +#include "oid.h" +#include "buffer.h" + +/** + * @file git2/gitup_repository.h + * @brief Git repository management routines + * @defgroup git_repository Git repository management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Update or rewrite the gitlink in the workdir + */ +GIT_EXTERN(int) gitup_repository_update_gitlink( + git_repository *repo, int use_relative_path); + +/** + * Locate the path to the local configuration file + * + * The returned path may be used on any `git_config` call to load the local + * configuration file. + * + * @param repo The repository whose local configuration file to find + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a local configuration file has been found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) gitup_repository_local_config_path(git_buf *out, git_repository *repo); + +/** @} */ +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_submodule.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_submodule.h new file mode 100644 index 00000000..9ca1cc20 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/gitup_submodule.h @@ -0,0 +1,12 @@ +#include "submodule.h" + +GIT_BEGIN_DECL + +/** + * Retains a submodule + * + * @param submodule Submodule object + */ +GIT_EXTERN(void) gitup_submodule_dup(git_submodule *submodule); + +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/global.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/global.h new file mode 100644 index 00000000..f15eb2d2 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/global.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_global_h__ +#define INCLUDE_git_global_h__ + +#include "common.h" + +/** + * @file git2/global.h + * @brief libgit2 library initializer and shutdown functionality + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Init the global state + * + * This function must be called before any other libgit2 function in + * order to set up global state and threading. + * + * 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. + * + * @return the number of initializations of the library, or an error code. + */ +GIT_EXTERN(int) git_libgit2_init(void); + +/** + * Shutdown the global state + * + * Clean up the global state and threading context after calling it as + * many times as `git_libgit2_init()` was called - it will return the + * number of remainining initializations that have not been shutdown + * (after this one). + * + * @return the number of remaining initializations of the library, or an + * error code. + */ +GIT_EXTERN(int) git_libgit2_shutdown(void); + +/** @} */ +GIT_END_DECL + +#endif + diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/graph.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/graph.h new file mode 100644 index 00000000..1792020a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/graph.h @@ -0,0 +1,78 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_graph_h__ +#define INCLUDE_git_graph_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/graph.h + * @brief Graph traversal routines + * @defgroup git_revwalk Git graph traversal routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Count the number of unique commits between two commit objects + * + * There is no need for branches containing the commits to have any + * upstream relationship, but it helps to think of one as a branch and + * the other as its upstream, the `ahead` and `behind` values will be + * what git would report for the branches. + * + * @param ahead number of unique from commits in `upstream` + * @param behind number of unique from commits in `local` + * @param repo the repository where the commits exist + * @param local the commit for local + * @param upstream the commit for upstream + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo, const git_oid *local, const git_oid *upstream); + + +/** + * Determine if a commit is the descendant of another commit. + * + * Note that a commit is not considered a descendant of itself, in contrast + * to `git merge-base --is-ancestor`. + * + * @param repo the repository where the commits exist + * @param commit a previously loaded commit + * @param ancestor a potential ancestor commit + * @return 1 if the given commit is a descendant of the potential ancestor, + * 0 if not, error code otherwise. + */ +GIT_EXTERN(int) git_graph_descendant_of( + git_repository *repo, + const git_oid *commit, + const git_oid *ancestor); + +/** + * Determine if a commit is reachable from any of a list of commits by + * following parent edges. + * + * @param repo the repository where the commits exist + * @param commit a previously loaded commit + * @param descendant_array oids of the commits + * @param length the number of commits in the provided `descendant_array` + * @return 1 if the given commit is an ancestor of any of the given potential + * descendants, 0 if not, error code otherwise. + */ +GIT_EXTERN(int) git_graph_reachable_from_any( + git_repository *repo, + const git_oid *commit, + const git_oid descendant_array[], + size_t length); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/ignore.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/ignore.h new file mode 100644 index 00000000..730f2214 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/ignore.h @@ -0,0 +1,88 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_ignore_h__ +#define INCLUDE_git_ignore_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/ignore.h + * @brief Ignore particular untracked files + * @ingroup Git + * @{ + * + * When examining the repository status, git can optionally ignore + * specified untracked files. + */ +GIT_BEGIN_DECL + +/** + * Add ignore rules for a repository. + * + * Excludesfile rules (i.e. .gitignore rules) are generally read from + * .gitignore files in the repository tree or from a shared system file + * only if a "core.excludesfile" config value is set. The library also + * keeps a set of per-repository internal ignores that can be configured + * in-memory and will not persist. This function allows you to add to + * that internal rules list. + * + * Example usage: + * + * error = git_ignore_add_rule(myrepo, "*.c\ndir/\nFile with space\n"); + * + * This would add three rules to the ignores. + * + * @param repo The repository to add ignore rules to. + * @param rules Text of rules, the contents to add on a .gitignore file. + * It is okay to have multiple rules in the text; if so, + * each rule should be terminated with a newline. + * @return 0 on success + */ +GIT_EXTERN(int) git_ignore_add_rule( + git_repository *repo, + const char *rules); + +/** + * Clear ignore rules that were explicitly added. + * + * Resets to the default internal ignore rules. This will not turn off + * rules in .gitignore files that actually exist in the filesystem. + * + * The default internal ignores ignore ".", ".." and ".git" entries. + * + * @param repo The repository to remove ignore rules from. + * @return 0 on success + */ +GIT_EXTERN(int) git_ignore_clear_internal_rules( + git_repository *repo); + +/** + * Test if the ignore rules apply to a given path. + * + * 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. + * + * 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? + * + * @param ignored boolean returning 0 if the file is not ignored, 1 if it is + * @param repo a repository object + * @param path the file to check ignores for, relative to the repo's workdir. + * @return 0 if ignore rules could be processed for the file (regardless + * of whether it exists or not), or an error < 0 if they could not. + */ +GIT_EXTERN(int) git_ignore_path_is_ignored( + int *ignored, + git_repository *repo, + const char *path); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/index.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/index.h new file mode 100644 index 00000000..0adff1ab --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/index.h @@ -0,0 +1,933 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_index_h__ +#define INCLUDE_git_index_h__ + +#include "common.h" +#include "indexer.h" +#include "types.h" +#include "oid.h" +#include "strarray.h" + +/** + * @file git2/index.h + * @brief Index (aka "cache" aka "staging area") + * @defgroup git_index Git index parsing and manipulation routines + * @ingroup Git + * + * The index (or "cache", or "staging area") is the contents of the + * next commit. In addition, the index stores other data, such as + * conflicts that occurred during the last merge operation, and + * the "treecache" to speed up various on-disk operations. + * @{ + */ +GIT_BEGIN_DECL + +/** Time structure used in a git index entry */ +typedef struct { + int32_t seconds; + /* nsec should not be stored as time_t compatible */ + uint32_t nanoseconds; +} git_index_time; + +/** + * In-memory representation of a file entry in the index. + * + * This is a public structure that represents a file entry in the index. + * The meaning of the fields corresponds to core Git's documentation (in + * "Documentation/technical/index-format.txt"). + * + * The `flags` field consists of a number of bit fields which can be + * accessed via the first set of `GIT_INDEX_ENTRY_...` bitmasks below. + * These flags are all read from and persisted to disk. + * + * The `flags_extended` field also has a number of bit fields which can be + * accessed via the later `GIT_INDEX_ENTRY_...` bitmasks below. Some of + * these flags are read from and written to disk, but some are set aside + * for in-memory only reference. + * + * Note that the time and size fields are truncated to 32 bits. This + * is enough to detect changes, which is enough for the index to + * function as a cache, but it should not be taken as an authoritative + * source for that data. + */ +typedef struct git_index_entry { + git_index_time ctime; + git_index_time mtime; + + uint32_t dev; + uint32_t ino; + uint32_t mode; + uint32_t uid; + uint32_t gid; + uint32_t file_size; + + git_oid id; + + uint16_t flags; + uint16_t flags_extended; + + const char *path; +} git_index_entry; + +/** + * Bitmasks for on-disk fields of `git_index_entry`'s `flags` + * + * These bitmasks match the four fields in the `git_index_entry` `flags` + * value both in memory and on disk. You can use them to interpret the + * data in the `flags`. + */ + +/** Mask for name length */ +#define GIT_INDEX_ENTRY_NAMEMASK (0x0fff) +/** Mask for index entry stage */ +#define GIT_INDEX_ENTRY_STAGEMASK (0x3000) +/** Shift bits for index entry */ +#define GIT_INDEX_ENTRY_STAGESHIFT 12 + +/** + * Flags for index entries + */ +typedef enum { + GIT_INDEX_ENTRY_EXTENDED = (0x4000), + GIT_INDEX_ENTRY_VALID = (0x8000) +} git_index_entry_flag_t; + +/** + * Macro to get the stage value (0 for the "main index", or a conflict + * value) from an index entry. + */ +#define GIT_INDEX_ENTRY_STAGE(E) \ + (((E)->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT) + +/** + * Macro to set the stage value (0 for the "main index", or a conflict + * value) for an index entry. + */ +#define GIT_INDEX_ENTRY_STAGE_SET(E,S) do { \ + (E)->flags = ((E)->flags & ~GIT_INDEX_ENTRY_STAGEMASK) | \ + (((S) & 0x03) << GIT_INDEX_ENTRY_STAGESHIFT); } while (0) + +/** + * Bitmasks for on-disk fields of `git_index_entry`'s `flags_extended` + * + * In memory, the `flags_extended` fields are divided into two parts: the + * fields that are read from and written to disk, and other fields that + * in-memory only and used by libgit2. Only the flags in + * `GIT_INDEX_ENTRY_EXTENDED_FLAGS` will get saved on-disk. + * + * Thee first three bitmasks match the three fields in the + * `git_index_entry` `flags_extended` value that belong on disk. You + * can use them to interpret the data in the `flags_extended`. + * + * The rest of the bitmasks match the other fields in the `git_index_entry` + * `flags_extended` value that are only used in-memory by libgit2. + * You can use them to interpret the data in the `flags_extended`. + * + */ +typedef enum { + GIT_INDEX_ENTRY_INTENT_TO_ADD = (1 << 13), + GIT_INDEX_ENTRY_SKIP_WORKTREE = (1 << 14), + + GIT_INDEX_ENTRY_EXTENDED_FLAGS = (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE), + + GIT_INDEX_ENTRY_UPTODATE = (1 << 2) +} git_index_entry_extended_flag_t; + +/** Capabilities of system that affect index actions. */ +typedef enum { + GIT_INDEX_CAPABILITY_IGNORE_CASE = 1, + GIT_INDEX_CAPABILITY_NO_FILEMODE = 2, + GIT_INDEX_CAPABILITY_NO_SYMLINKS = 4, + GIT_INDEX_CAPABILITY_FROM_OWNER = -1 +} git_index_capability_t; + + +/** + * Callback for APIs that add/remove/update files matching pathspec + * + * @param path the path + * @param matched_pathspec the given pathspec + * @param payload the user-specified payload + * @return 0 to continue with the index operation, positive number to skip this file for the index operation, negative number on failure + */ +typedef int GIT_CALLBACK(git_index_matched_path_cb)( + const char *path, const char *matched_pathspec, void *payload); + +/** Flags for APIs that add files matching pathspec */ +typedef enum { + GIT_INDEX_ADD_DEFAULT = 0, + GIT_INDEX_ADD_FORCE = (1u << 0), + GIT_INDEX_ADD_DISABLE_PATHSPEC_MATCH = (1u << 1), + GIT_INDEX_ADD_CHECK_PATHSPEC = (1u << 2) +} git_index_add_option_t; + +/** Git index stage states */ +typedef enum { + /** + * Match any index stage. + * + * Some index APIs take a stage to match; pass this value to match + * any entry matching the path regardless of stage. + */ + GIT_INDEX_STAGE_ANY = -1, + + /** A normal staged file in the index. */ + GIT_INDEX_STAGE_NORMAL = 0, + + /** The ancestor side of a conflict. */ + GIT_INDEX_STAGE_ANCESTOR = 1, + + /** The "ours" side of a conflict. */ + GIT_INDEX_STAGE_OURS = 2, + + /** The "theirs" side of a conflict. */ + GIT_INDEX_STAGE_THEIRS = 3 +} git_index_stage_t; + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * The options for opening or creating an index. + * + * Initialize with `GIT_INDEX_OPTIONS_INIT`. Alternatively, you can + * use `git_index_options_init`. + * + * @options[version] GIT_INDEX_OPTIONS_VERSION + * @options[init_macro] GIT_INDEX_OPTIONS_INIT + * @options[init_function] git_index_options_init + */ +typedef struct git_index_options { + unsigned int version; /**< The version */ + + /** + * The object ID type for the object IDs that exist in the index. + * + * If this is not specified, this defaults to `GIT_OID_SHA1`. + */ + git_oid_t oid_type; +} git_index_options; + +/** Current version for the `git_index_options` structure */ +#define GIT_INDEX_OPTIONS_VERSION 1 + +/** Static constructor for `git_index_options` */ +#define GIT_INDEX_OPTIONS_INIT { GIT_INDEX_OPTIONS_VERSION } + +/** + * Initialize git_index_options structure + * + * Initializes a `git_index_options` with default values. Equivalent to creating + * an instance with GIT_INDEX_OPTIONS_INIT. + * + * @param opts The `git_index_options` struct to initialize. + * @param version The struct version; pass `GIT_INDEX_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_index_options_init( + git_index_options *opts, + unsigned int version); + +/** + * Creates a new bare Git index object, without a repository to back + * it. This index object is capable of storing SHA256 objects. + * + * @param index_out the pointer for the new index + * @param index_path the path to the index file in disk + * @param opts the options for opening the index, or NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_open( + git_index **index_out, + const char *index_path, + const git_index_options *opts); + +/** + * Create an in-memory index object. + * + * @param index_out the pointer for the new index + * @param opts the options for opening the index, or NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_new(git_index **index_out, const git_index_options *opts); + +#else + +/** + * Create a new bare Git index object as a memory representation + * of the Git index file in 'index_path', without a repository + * to back it. + * + * 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. + * + * If you need to access the index of an actual repository, + * use the `git_repository_index` wrapper. + * + * The index must be freed once it's no longer in use. + * + * @param index_out the pointer for the new index + * @param index_path the path to the index file in disk + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_open(git_index **index_out, const char *index_path); + +/** + * Create an in-memory index object. + * + * This index object cannot be read/written to the filesystem, + * but may be used to perform in-memory index operations. + * + * The index must be freed once it's no longer in use. + * + * @param index_out the pointer for the new index + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_new(git_index **index_out); + +#endif + +/** + * Free an existing index object. + * + * @param index an existing index object + */ +GIT_EXTERN(void) git_index_free(git_index *index); + +/** + * Get the repository this index relates to + * + * @param index The index + * @return A pointer to the repository + */ +GIT_EXTERN(git_repository *) git_index_owner(const git_index *index); + +/** + * Read index capabilities flags. + * + * @param index An existing index object + * @return A combination of GIT_INDEX_CAPABILITY values + */ +GIT_EXTERN(int) git_index_caps(const git_index *index); + +/** + * Set index capabilities flags. + * + * If you pass `GIT_INDEX_CAPABILITY_FROM_OWNER` for the caps, then + * capabilities will be read from the config of the owner object, + * looking at `core.ignorecase`, `core.filemode`, `core.symlinks`. + * + * @param index An existing index object + * @param caps A combination of GIT_INDEX_CAPABILITY values + * @return 0 on success, -1 on failure + */ +GIT_EXTERN(int) git_index_set_caps(git_index *index, int caps); + +/** + * Get index on-disk version. + * + * Valid return values are 2, 3, or 4. If 3 is returned, an index + * with version 2 may be written instead, if the extension data in + * version 3 is not necessary. + * + * @param index An existing index object + * @return the index version + */ +GIT_EXTERN(unsigned int) git_index_version(git_index *index); + +/** + * Set index on-disk version. + * + * Valid values are 2, 3, or 4. If 2 is given, git_index_write may + * write an index with version 3 instead, if necessary to accurately + * represent the index. + * + * @param index An existing index object + * @param version The new version number + * @return 0 on success, -1 on failure + */ +GIT_EXTERN(int) git_index_set_version(git_index *index, unsigned int version); + +/** + * Update the contents of an existing index object in memory by reading + * from the hard disk. + * + * If `force` is true, this performs a "hard" read that discards in-memory + * changes and always reloads the on-disk index data. If there is no + * on-disk version, the index will be cleared. + * + * If `force` is false, this does a "soft" read that reloads the index + * data from disk only if it has changed since the last time it was + * loaded. Purely in-memory index data will be untouched. Be aware: if + * there are changes on disk, unwritten in-memory changes are discarded. + * + * @param index an existing index object + * @param force if true, always reload, vs. only read if file has changed + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_read(git_index *index, int force); + +/** + * Write an existing index object from memory back to disk + * using an atomic file lock. + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_write(git_index *index); + +/** + * Get the full path to the index file on disk. + * + * @param index an existing index object + * @return path to index file or NULL for in-memory index + */ +GIT_EXTERN(const char *) git_index_path(const git_index *index); + +#ifndef GIT_DEPRECATE_HARD +/** + * Get the checksum of the index + * + * This checksum is the SHA-1 hash over the index file (except the + * last 20 bytes which are the checksum itself). In cases where the + * index does not exist on-disk, it will be zeroed out. + * + * @deprecated this function is deprecated with no replacement + * @param index an existing index object + * @return a pointer to the checksum of the index + */ +GIT_EXTERN(const git_oid *) git_index_checksum(git_index *index); +#endif + +/** + * Read a tree into the index file with stats + * + * The current index contents will be replaced by the specified tree. + * + * @param index an existing index object + * @param tree tree to read + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_read_tree(git_index *index, const git_tree *tree); + +/** + * Write the index as a tree + * + * 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. + * + * The index instance cannot be bare, and needs to be associated + * to an existing repository. + * + * The index must not contain any file in conflict. + * + * @param out Pointer where to store the OID of the written tree + * @param index Index to write + * @return 0 on success, GIT_EUNMERGED when the index is not clean + * or an error code + */ +GIT_EXTERN(int) git_index_write_tree(git_oid *out, git_index *index); + +/** + * Write the index as a tree to the given repository + * + * This method will do the same as `git_index_write_tree`, but + * letting the user choose the repository where the tree will + * be written. + * + * The index must not contain any file in conflict. + * + * @param out Pointer where to store OID of the written tree + * @param index Index to write + * @param repo Repository where to write the tree + * @return 0 on success, GIT_EUNMERGED when the index is not clean + * or an error code + */ +GIT_EXTERN(int) git_index_write_tree_to(git_oid *out, git_index *index, git_repository *repo); + +/**@}*/ + +/** @name Raw Index Entry Functions + * + * These functions work on index entries, and allow for raw manipulation + * of the entries. + */ +/**@{*/ + +/* Index entry manipulation */ + +/** + * Get the count of entries currently in the index + * + * @param index an existing index object + * @return integer of count of current entries + */ +GIT_EXTERN(size_t) git_index_entrycount(const git_index *index); + +/** + * Clear the contents (all the entries) of an index object. + * + * This clears the index object in memory; changes must be explicitly + * written to disk for them to take effect persistently. + * + * @param index an existing index object + * @return 0 on success, error code < 0 on failure + */ +GIT_EXTERN(int) git_index_clear(git_index *index); + +/** + * Get a pointer to one of the entries in the index + * + * 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. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the entry; NULL if out of bounds + */ +GIT_EXTERN(const git_index_entry *) git_index_get_byindex( + git_index *index, size_t n); + +/** + * Get a pointer to one of the entries in the index + * + * 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. + * + * @param index an existing index object + * @param path path to search + * @param stage stage to search + * @return a pointer to the entry; NULL if it was not found + */ +GIT_EXTERN(const git_index_entry *) git_index_get_bypath( + git_index *index, const char *path, int stage); + +/** + * Remove an entry from the index + * + * @param index an existing index object + * @param path path to search + * @param stage stage to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_remove(git_index *index, const char *path, int stage); + +/** + * Remove all entries from the index under a given directory + * + * @param index an existing index object + * @param dir container directory path + * @param stage stage to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_remove_directory( + git_index *index, const char *dir, int stage); + +/** + * Add or update an index entry from an in-memory struct + * + * If a previous index entry exists that has the same path and stage + * as the given 'source_entry', it will be replaced. Otherwise, the + * 'source_entry' will be added. + * + * A full copy (including the 'path' string) of the given + * 'source_entry' will be inserted on the index. + * + * @param index an existing index object + * @param source_entry new entry object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add(git_index *index, const git_index_entry *source_entry); + +/** + * Return the stage number from a git index entry + * + * This entry is calculated from the entry's flag attribute like this: + * + * (entry->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT + * + * @param entry The entry + * @return the stage number + */ +GIT_EXTERN(int) git_index_entry_stage(const git_index_entry *entry); + +/** + * Return whether the given index entry is a conflict (has a high stage + * entry). This is simply shorthand for `git_index_entry_stage > 0`. + * + * @param entry The entry + * @return 1 if the entry is a conflict entry, 0 otherwise + */ +GIT_EXTERN(int) git_index_entry_is_conflict(const git_index_entry *entry); + +/**@}*/ + +/** @name Index Entry Iteration Functions + * + * These functions provide an iterator for index entries. + */ +/**@{*/ + +/** + * Create an iterator that will return every entry contained in the + * index at the time of creation. Entries are returned in order, + * sorted by path. This iterator is backed by a snapshot that allows + * callers to modify the index while iterating without affecting the + * iterator. + * + * @param iterator_out The newly created iterator + * @param index The index to iterate + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_index_iterator_new( + git_index_iterator **iterator_out, + git_index *index); + +/** + * Return the next index entry in-order from the iterator. + * + * @param out Pointer to store the index entry in + * @param iterator The iterator + * @return 0, GIT_ITEROVER on iteration completion or an error code + */ +GIT_EXTERN(int) git_index_iterator_next( + const git_index_entry **out, + git_index_iterator *iterator); + +/** + * Free the index iterator + * + * @param iterator The iterator to free + */ +GIT_EXTERN(void) git_index_iterator_free(git_index_iterator *iterator); + +/**@}*/ + +/** @name Workdir Index Entry Functions + * + * These functions work on index entries specifically in the working + * directory (ie, stage 0). + */ +/**@{*/ + +/** + * Add or update an index entry from a file on disk + * + * The file `path` must be relative to the repository's + * working folder and must be readable. + * + * This method will fail in bare index instances. + * + * This forces the file to be added to the index, not looking + * at gitignore rules. Those rules can be evaluated through + * the git_status APIs (in status.h) before calling this. + * + * If this file currently is the result of a merge conflict, this + * file will no longer be marked as conflicting. The data about + * the conflict will be moved to the "resolve undo" (REUC) section. + * + * @param index an existing index object + * @param path filename to add + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add_bypath(git_index *index, const char *path); + +/** + * Add or update an index entry from a buffer in memory + * + * This method will create a blob in the repository that owns the + * index and then add the index entry to the index. The `path` of the + * entry represents the position of the blob relative to the + * repository's root folder. + * + * If a previous index entry exists that has the same path as the + * given 'entry', it will be replaced. Otherwise, the 'entry' will be + * added. + * + * This forces the file to be added to the index, not looking + * at gitignore rules. Those rules can be evaluated through + * the git_status APIs (in status.h) before calling this. + * + * If this file currently is the result of a merge conflict, this + * file will no longer be marked as conflicting. The data about + * the conflict will be moved to the "resolve undo" (REUC) section. + * + * @param index an existing index object + * @param entry filename to add + * @param buffer data to be written into the blob + * @param len length of the data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add_from_buffer( + git_index *index, + const git_index_entry *entry, + const void *buffer, size_t len); + +/** + * Remove an index entry corresponding to a file on disk + * + * The file `path` must be relative to the repository's + * working folder. It may exist. + * + * If this file currently is the result of a merge conflict, this + * file will no longer be marked as conflicting. The data about + * the conflict will be moved to the "resolve undo" (REUC) section. + * + * @param index an existing index object + * @param path filename to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_remove_bypath(git_index *index, const char *path); + +/** + * Add or update index entries matching files in the working directory. + * + * This method will fail in bare index instances. + * + * 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. + * + * 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. + * + * 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. + * + * 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. + * + * 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. + * + * 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. + * + * @param index an existing index object + * @param pathspec array of path patterns + * @param flags combination of git_index_add_option_t flags + * @param callback notification callback for each added/updated path (also + * gets index of matching pathspec entry); can be NULL; + * return 0 to add, >0 to skip, <0 to abort scan. + * @param payload payload passed through to callback function + * @return 0 on success, negative callback return value, or error code + */ +GIT_EXTERN(int) git_index_add_all( + git_index *index, + const git_strarray *pathspec, + unsigned int flags, + git_index_matched_path_cb callback, + void *payload); + +/** + * Remove all matching index entries. + * + * If you provide a callback function, it will be invoked on each matching + * item in the index immediately *before* it is removed. Return 0 to + * remove the item, > 0 to skip the item, and < 0 to abort the scan. + * + * @param index An existing index object + * @param pathspec array of path patterns + * @param callback notification callback for each removed path (also + * gets index of matching pathspec entry); can be NULL; + * return 0 to add, >0 to skip, <0 to abort scan. + * @param payload payload passed through to callback function + * @return 0 on success, negative callback return value, or error code + */ +GIT_EXTERN(int) git_index_remove_all( + git_index *index, + const git_strarray *pathspec, + git_index_matched_path_cb callback, + void *payload); + +/** + * Update all index entries to match the working directory + * + * This method will fail in bare index instances. + * + * 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). + * + * 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. + * + * @param index An existing index object + * @param pathspec array of path patterns + * @param callback notification callback for each updated path (also + * gets index of matching pathspec entry); can be NULL; + * return 0 to add, >0 to skip, <0 to abort scan. + * @param payload payload passed through to callback function + * @return 0 on success, negative callback return value, or error code + */ +GIT_EXTERN(int) git_index_update_all( + git_index *index, + const git_strarray *pathspec, + git_index_matched_path_cb callback, + void *payload); + +/** + * Find the first position of any entries which point to given + * path in the Git index. + * + * @param at_pos the address to which the position of the index entry is written (optional) + * @param index an existing index object + * @param path path to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_find(size_t *at_pos, git_index *index, const char *path); + +/** + * Find the first position of any entries matching a prefix. To find the first position + * of a path inside a given folder, suffix the prefix with a '/'. + * + * @param at_pos the address to which the position of the index entry is written (optional) + * @param index an existing index object + * @param prefix the prefix to search for + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_find_prefix(size_t *at_pos, git_index *index, const char *prefix); + +/**@}*/ + +/** @name Conflict Index Entry Functions + * + * These functions work on conflict index entries specifically (ie, stages 1-3) + */ +/**@{*/ + +/** + * Add or update index entries to represent a conflict. Any staged + * entries that exist at the given paths will be removed. + * + * The entries are the entries from the tree included in the merge. Any + * entry may be null to indicate that that file was not present in the + * trees during the merge. For example, ancestor_entry may be NULL to + * indicate that a file was added in both branches and must be resolved. + * + * @param index an existing index object + * @param ancestor_entry the entry data for the ancestor of the conflict + * @param our_entry the entry data for our side of the merge conflict + * @param their_entry the entry data for their side of the merge conflict + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_add( + git_index *index, + const git_index_entry *ancestor_entry, + const git_index_entry *our_entry, + const git_index_entry *their_entry); + +/** + * Get the index entries that represent a conflict of a single file. + * + * The entries are 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. + * + * @param ancestor_out Pointer to store the ancestor entry + * @param our_out Pointer to store the our entry + * @param their_out Pointer to store the their entry + * @param index an existing index object + * @param path path to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_get( + const git_index_entry **ancestor_out, + const git_index_entry **our_out, + const git_index_entry **their_out, + git_index *index, + const char *path); + +/** + * Removes the index entries that represent a conflict of a single file. + * + * @param index an existing index object + * @param path path to remove conflicts for + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_remove(git_index *index, const char *path); + +/** + * Remove all conflicts in the index (entries with a stage greater than 0). + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_cleanup(git_index *index); + +/** + * Determine if the index contains entries representing file conflicts. + * + * @param index An existing index object. + * @return 1 if at least one conflict is found, 0 otherwise. + */ +GIT_EXTERN(int) git_index_has_conflicts(const git_index *index); + +/** + * Create an iterator for the conflicts in the index. + * + * The index must not be modified while iterating; the results are undefined. + * + * @param iterator_out The newly created conflict iterator + * @param index The index to scan + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_iterator_new( + git_index_conflict_iterator **iterator_out, + git_index *index); + +/** + * Returns the current conflict (ancestor, ours and theirs entry) and + * advance the iterator internally to the next value. + * + * @param ancestor_out Pointer to store the ancestor side of the conflict + * @param our_out Pointer to store our side of the conflict + * @param their_out Pointer to store their side of the conflict + * @param iterator The conflict iterator. + * @return 0 (no error), GIT_ITEROVER (iteration is done) or an error code + * (negative value) + */ +GIT_EXTERN(int) git_index_conflict_next( + const git_index_entry **ancestor_out, + const git_index_entry **our_out, + const git_index_entry **their_out, + git_index_conflict_iterator *iterator); + +/** + * Frees a `git_index_conflict_iterator`. + * + * @param iterator pointer to the iterator + */ +GIT_EXTERN(void) git_index_conflict_iterator_free( + git_index_conflict_iterator *iterator); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/indexer.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/indexer.h new file mode 100644 index 00000000..9aaedc3c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/indexer.h @@ -0,0 +1,212 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_indexer_h__ +#define INCLUDE_git_indexer_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/indexer.h + * @brief Packfile indexing + * @ingroup Git + * @{ + * + * Indexing is the operation of taking a packfile - which is simply a + * collection of unordered commits - and producing an "index" so that + * one can lookup a commit in the packfile by object ID. + */ +GIT_BEGIN_DECL + +/** A git indexer object */ +typedef struct git_indexer git_indexer; + +/** + * This structure is used to provide callers information about the + * progress of indexing a packfile, either directly or part of a + * fetch or clone that downloads a packfile. + */ +typedef struct git_indexer_progress { + /** number of objects in the packfile being indexed */ + unsigned int total_objects; + + /** received objects that have been hashed */ + unsigned int indexed_objects; + + /** received_objects: objects which have been downloaded */ + unsigned int received_objects; + + /** + * locally-available objects that have been injected in order + * to fix a thin pack + */ + unsigned int local_objects; + + /** number of deltas in the packfile being indexed */ + unsigned int total_deltas; + + /** received deltas that have been indexed */ + unsigned int indexed_deltas; + + /** size of the packfile received up to now */ + size_t received_bytes; +} git_indexer_progress; + +/** + * Type for progress callbacks during indexing. Return a value less + * than zero to cancel the indexing or download. + * + * @param stats Structure containing information about the state of the transfer + * @param payload Payload provided by caller + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_indexer_progress_cb)(const git_indexer_progress *stats, void *payload); + +/** + * Options for indexer configuration + */ +typedef struct git_indexer_options { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** permissions to use creating packfile or 0 for defaults */ + unsigned int mode; + + /** the type of object ids in the packfile or 0 for SHA1 */ + git_oid_t oid_type; + + /** + * object database from which to read base objects when + * fixing thin packs. This can be NULL if there are no thin + * packs; if a thin pack is encountered, an error will be + * returned if there are bases missing. + */ + git_odb *odb; +#endif + + /** progress_cb function to call with progress information */ + git_indexer_progress_cb progress_cb; + + /** progress_cb_payload payload for the progress callback */ + void *progress_cb_payload; + + /** Do connectivity checks for the received pack */ + unsigned char verify; +} git_indexer_options; + +/** Current version for the `git_indexer_options` structure */ +#define GIT_INDEXER_OPTIONS_VERSION 1 + +/** Static constructor for `git_indexer_options` */ +#define GIT_INDEXER_OPTIONS_INIT { GIT_INDEXER_OPTIONS_VERSION } + +/** + * Initializes a `git_indexer_options` with default values. Equivalent to + * creating an instance with GIT_INDEXER_OPTIONS_INIT. + * + * @param opts the `git_indexer_options` struct to initialize. + * @param version Version of struct; pass `GIT_INDEXER_OPTIONS_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_indexer_options_init( + git_indexer_options *opts, + unsigned int version); + +#ifdef GIT_EXPERIMENTAL_SHA256 +/** + * Create a new indexer instance + * + * @param out where to store the indexer instance + * @param path to the directory where the packfile should be stored + * @param opts the options to create the indexer with + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_new( + git_indexer **out, + const char *path, + git_indexer_options *opts); +#else +/** + * Create a new indexer instance + * + * @param out where to store the indexer instance + * @param path to the directory where the packfile should be stored + * @param mode permissions to use creating packfile or 0 for defaults + * @param odb object database from which to read base objects when + * fixing thin packs. Pass NULL if no thin pack is expected (an error + * will be returned if there are bases missing) + * @param opts Optional structure containing additional options. See + * `git_indexer_options` above. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_new( + git_indexer **out, + const char *path, + unsigned int mode, + git_odb *odb, + git_indexer_options *opts); +#endif + +/** + * Add data to the indexer + * + * @param idx the indexer + * @param data the data to add + * @param size the size of the data in bytes + * @param stats stat storage + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_append(git_indexer *idx, const void *data, size_t size, git_indexer_progress *stats); + +/** + * Finalize the pack and index + * + * Resolve any pending deltas and write out the index file + * + * @param idx the indexer + * @param stats Stat storage. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_commit(git_indexer *idx, git_indexer_progress *stats); + +#ifndef GIT_DEPRECATE_HARD +/** + * Get the packfile's hash + * + * A packfile's name is derived from the sorted hashing of all object + * names. This is only correct after the index has been finalized. + * + * @deprecated use git_indexer_name + * @param idx the indexer instance + * @return the packfile's hash + */ +GIT_EXTERN(const git_oid *) git_indexer_hash(const git_indexer *idx); +#endif + +/** + * Get the unique name for the resulting packfile. + * + * The packfile's name is derived from the packfile's content. + * This is only correct after the index has been finalized. + * + * @param idx the indexer instance + * @return a NUL terminated string for the packfile name + */ +GIT_EXTERN(const char *) git_indexer_name(const git_indexer *idx); + +/** + * Free the indexer and its resources + * + * @param idx the indexer to free + */ +GIT_EXTERN(void) git_indexer_free(git_indexer *idx); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/mailmap.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/mailmap.h new file mode 100644 index 00000000..fd6ae717 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/mailmap.h @@ -0,0 +1,121 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_mailmap_h__ +#define INCLUDE_git_mailmap_h__ + +#include "common.h" +#include "types.h" +#include "buffer.h" + +/** + * @file git2/mailmap.h + * @brief Mailmaps provide alternate email addresses for users + * @defgroup git_mailmap Git mailmap routines + * @ingroup Git + * @{ + * + * A mailmap can be used to specify alternate email addresses for + * repository committers or authors. This allows systems to map + * commits made using different email addresses to the same logical + * person. + */ +GIT_BEGIN_DECL + +/** + * Allocate a new mailmap object. + * + * This object is empty, so you'll have to add a mailmap file before you can do + * anything with it. The mailmap must be freed with 'git_mailmap_free'. + * + * @param out pointer to store the new mailmap + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_new(git_mailmap **out); + +/** + * Free the mailmap and its associated memory. + * + * @param mm the mailmap to free + */ +GIT_EXTERN(void) git_mailmap_free(git_mailmap *mm); + +/** + * Add a single entry to the given mailmap object. If the entry already exists, + * it will be replaced with the new entry. + * + * @param mm mailmap to add the entry to + * @param real_name the real name to use, or NULL + * @param real_email the real email to use, or NULL + * @param replace_name the name to replace, or NULL + * @param replace_email the email to replace + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_add_entry( + git_mailmap *mm, const char *real_name, const char *real_email, + const char *replace_name, const char *replace_email); + +/** + * Create a new mailmap instance containing a single mailmap file + * + * @param out pointer to store the new mailmap + * @param buf buffer to parse the mailmap from + * @param len the length of the input buffer + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_from_buffer( + git_mailmap **out, const char *buf, size_t len); + +/** + * Create a new mailmap instance from a repository, loading mailmap files based + * on the repository's configuration. + * + * Mailmaps are loaded in the following order: + * 1. '.mailmap' in the root of the repository's working directory, if present. + * 2. The blob object identified by the 'mailmap.blob' config entry, if set. + * [NOTE: 'mailmap.blob' defaults to 'HEAD:.mailmap' in bare repositories] + * 3. The path in the 'mailmap.file' config entry, if set. + * + * @param out pointer to store the new mailmap + * @param repo repository to load mailmap information from + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_from_repository( + git_mailmap **out, git_repository *repo); + +/** + * Resolve a name and email to the corresponding real name and email. + * + * The lifetime of the strings are tied to `mm`, `name`, and `email` parameters. + * + * @param real_name pointer to store the real name + * @param real_email pointer to store the real email + * @param mm the mailmap to perform a lookup with (may be NULL) + * @param name the name to look up + * @param email the email to look up + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_resolve( + const char **real_name, const char **real_email, + const git_mailmap *mm, const char *name, const char *email); + +/** + * Resolve a signature to use real names and emails with a mailmap. + * + * Call `git_signature_free()` to free the data. + * + * @param out new signature + * @param mm mailmap to resolve with + * @param sig signature to resolve + * @return 0 or an error code + */ +GIT_EXTERN(int) git_mailmap_resolve_signature( + git_signature **out, const git_mailmap *mm, const git_signature *sig); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/merge.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/merge.h new file mode 100644 index 00000000..be3b065b --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/merge.h @@ -0,0 +1,671 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_merge_h__ +#define INCLUDE_git_merge_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "oidarray.h" +#include "checkout.h" +#include "index.h" +#include "annotated_commit.h" + +/** + * @file git2/merge.h + * @brief Merge re-joins diverging branches of history + * @defgroup git_merge Git merge routines + * @ingroup Git + * + * Merge will take two commits and attempt to produce a commit that + * includes the changes that were made in both branches. + * @{ + */ +GIT_BEGIN_DECL + +/** + * The file inputs to `git_merge_file`. Callers should populate the + * `git_merge_file_input` structure with descriptions of the files in + * each side of the conflict for use in producing the merge file. + */ +typedef struct { + unsigned int version; + + /** Pointer to the contents of the file. */ + const char *ptr; + + /** Size of the contents pointed to in `ptr`. */ + size_t size; + + /** File name of the conflicted file, or `NULL` to not merge the path. */ + const char *path; + + /** File mode of the conflicted file, or `0` to not merge the mode. */ + unsigned int mode; +} git_merge_file_input; + +/** Current version for the `git_merge_file_input_options` structure */ +#define GIT_MERGE_FILE_INPUT_VERSION 1 + +/** Static constructor for `git_merge_file_input_options` */ +#define GIT_MERGE_FILE_INPUT_INIT {GIT_MERGE_FILE_INPUT_VERSION} + +/** + * Initializes a `git_merge_file_input` with default values. Equivalent to + * creating an instance with GIT_MERGE_FILE_INPUT_INIT. + * + * @param opts the `git_merge_file_input` instance to initialize. + * @param version the version of the struct; you should pass + * `GIT_MERGE_FILE_INPUT_VERSION` here. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_merge_file_input_init( + git_merge_file_input *opts, + unsigned int version); + +/** + * Flags for `git_merge` options. A combination of these flags can be + * passed in via the `flags` value in the `git_merge_options`. + */ +typedef enum { + /** + * Detect renames that occur between the common ancestor and the "ours" + * side or the common ancestor and the "theirs" side. This will enable + * the ability to merge between a modified and renamed file. + */ + GIT_MERGE_FIND_RENAMES = (1 << 0), + + /** + * If a conflict occurs, exit immediately instead of attempting to + * continue resolving conflicts. The merge operation will fail with + * GIT_EMERGECONFLICT and no index will be returned. + */ + GIT_MERGE_FAIL_ON_CONFLICT = (1 << 1), + + /** + * Do not write the REUC extension on the generated index + */ + GIT_MERGE_SKIP_REUC = (1 << 2), + + /** + * If the commits being merged have multiple merge bases, do not build + * a recursive merge base (by merging the multiple merge bases), + * instead simply use the first base. This flag provides a similar + * merge base to `git-merge-resolve`. + */ + GIT_MERGE_NO_RECURSIVE = (1 << 3), + + /** + * Treat this merge as if it is to produce the virtual base + * of a recursive merge. This will ensure that there are + * no conflicts, any conflicting regions will keep conflict + * markers in the merge result. + */ + GIT_MERGE_VIRTUAL_BASE = (1 << 4) +} git_merge_flag_t; + +/** + * Merge file favor options for `git_merge_options` instruct the file-level + * merging functionality how to deal with conflicting regions of the files. + */ +typedef enum { + /** + * When a region of a file is changed in both branches, a conflict + * will be recorded in the index so that `git_checkout` can produce + * a merge file with conflict markers in the working directory. + * This is the default. + */ + GIT_MERGE_FILE_FAVOR_NORMAL = 0, + + /** + * When a region of a file is changed in both branches, the file + * created in the index will contain the "ours" side of any conflicting + * region. The index will not record a conflict. + */ + GIT_MERGE_FILE_FAVOR_OURS = 1, + + /** + * When a region of a file is changed in both branches, the file + * created in the index will contain the "theirs" side of any conflicting + * region. The index will not record a conflict. + */ + GIT_MERGE_FILE_FAVOR_THEIRS = 2, + + /** + * When a region of a file is changed in both branches, the file + * created in the index will contain each unique line from each side, + * which has the result of combining both files. The index will not + * record a conflict. + */ + GIT_MERGE_FILE_FAVOR_UNION = 3 +} git_merge_file_favor_t; + +/** + * File merging flags + */ +typedef enum { + /** Defaults */ + GIT_MERGE_FILE_DEFAULT = 0, + + /** Create standard conflicted merge files */ + GIT_MERGE_FILE_STYLE_MERGE = (1 << 0), + + /** Create diff3-style files */ + GIT_MERGE_FILE_STYLE_DIFF3 = (1 << 1), + + /** Condense non-alphanumeric regions for simplified diff file */ + GIT_MERGE_FILE_SIMPLIFY_ALNUM = (1 << 2), + + /** Ignore all whitespace */ + GIT_MERGE_FILE_IGNORE_WHITESPACE = (1 << 3), + + /** Ignore changes in amount of whitespace */ + GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE = (1 << 4), + + /** Ignore whitespace at end of line */ + GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL = (1 << 5), + + /** Use the "patience diff" algorithm */ + GIT_MERGE_FILE_DIFF_PATIENCE = (1 << 6), + + /** Take extra time to find minimal diff */ + GIT_MERGE_FILE_DIFF_MINIMAL = (1 << 7), + + /** Create zdiff3 ("zealous diff3")-style files */ + GIT_MERGE_FILE_STYLE_ZDIFF3 = (1 << 8), + + /** + * Do not produce file conflicts when common regions have + * changed; keep the conflict markers in the file and accept + * that as the merge result. + */ + GIT_MERGE_FILE_ACCEPT_CONFLICTS = (1 << 9) +} git_merge_file_flag_t; + +/** Default size for conflict markers */ +#define GIT_MERGE_CONFLICT_MARKER_SIZE 7 + +/** + * Options for merging a file + */ +typedef struct { + unsigned int version; + + /** + * Label for the ancestor file side of the conflict which will be prepended + * to labels in diff3-format merge files. + */ + const char *ancestor_label; + + /** + * Label for our file side of the conflict which will be prepended + * to labels in merge files. + */ + const char *our_label; + + /** + * Label for their file side of the conflict which will be prepended + * to labels in merge files. + */ + const char *their_label; + + /** The file to favor in region conflicts. */ + git_merge_file_favor_t favor; + + /** see `git_merge_file_flag_t` above */ + uint32_t flags; + + /** The size of conflict markers (eg, "<<<<<<<"). Default is + * GIT_MERGE_CONFLICT_MARKER_SIZE. */ + unsigned short marker_size; +} git_merge_file_options; + +/** Current version for the `git_merge_file_options` structure */ +#define GIT_MERGE_FILE_OPTIONS_VERSION 1 + +/** Static constructor for `git_merge_file_options` */ +#define GIT_MERGE_FILE_OPTIONS_INIT {GIT_MERGE_FILE_OPTIONS_VERSION} + +/** + * Initialize git_merge_file_options structure + * + * Initializes a `git_merge_file_options` with default values. Equivalent to + * creating an instance with `GIT_MERGE_FILE_OPTIONS_INIT`. + * + * @param opts The `git_merge_file_options` struct to initialize. + * @param version The struct version; pass `GIT_MERGE_FILE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_merge_file_options_init(git_merge_file_options *opts, unsigned int version); + +/** + * Information about file-level merging + */ +typedef struct { + /** + * True if the output was automerged, false if the output contains + * conflict markers. + */ + unsigned int automergeable; + + /** + * The path that the resultant merge file should use, or NULL if a + * filename conflict would occur. + */ + const char *path; + + /** The mode that the resultant merge file should use. */ + unsigned int mode; + + /** The contents of the merge. */ + const char *ptr; + + /** The length of the merge contents. */ + size_t len; +} git_merge_file_result; + +/** + * Merging options + */ +typedef struct { + unsigned int version; + + /** See `git_merge_flag_t` above */ + uint32_t flags; + + /** + * Similarity to consider a file renamed (default 50). If + * `GIT_MERGE_FIND_RENAMES` is enabled, added files will be compared + * with deleted files to determine their similarity. Files that are + * more similar than the rename threshold (percentage-wise) will be + * treated as a rename. + */ + unsigned int rename_threshold; + + /** + * Maximum similarity sources to examine for renames (default 200). + * If the number of rename candidates (add / delete pairs) is greater + * than this value, inexact rename detection is aborted. + * + * This setting overrides the `merge.renameLimit` configuration value. + */ + unsigned int target_limit; + + /** Pluggable similarity metric; pass NULL to use internal metric */ + git_diff_similarity_metric *metric; + + /** + * Maximum number of times to merge common ancestors to build a + * virtual merge base when faced with criss-cross merges. When this + * limit is reached, the next ancestor will simply be used instead of + * attempting to merge it. The default is unlimited. + */ + unsigned int recursion_limit; + + /** + * Default merge driver to be used when both sides of a merge have + * changed. The default is the `text` driver. + */ + const char *default_driver; + + /** + * Flags for handling conflicting content, to be used with the standard + * (`text`) merge driver. + */ + git_merge_file_favor_t file_favor; + + /** see `git_merge_file_flag_t` above */ + uint32_t file_flags; +} git_merge_options; + +/** Current version for the `git_merge_options` structure */ +#define GIT_MERGE_OPTIONS_VERSION 1 + +/** Static constructor for `git_merge_options` */ +#define GIT_MERGE_OPTIONS_INIT { \ + GIT_MERGE_OPTIONS_VERSION, GIT_MERGE_FIND_RENAMES } + +/** + * Initialize git_merge_options structure + * + * Initializes a `git_merge_options` with default values. Equivalent to + * creating an instance with `GIT_MERGE_OPTIONS_INIT`. + * + * @param opts The `git_merge_options` struct to initialize. + * @param version The struct version; pass `GIT_MERGE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_merge_options_init(git_merge_options *opts, unsigned int version); + +/** + * The results of `git_merge_analysis` indicate the merge opportunities. + */ +typedef enum { + /** No merge is possible. (Unused.) */ + GIT_MERGE_ANALYSIS_NONE = 0, + + /** + * A "normal" merge; both HEAD and the given merge input have diverged + * from their common ancestor. The divergent commits must be merged. + */ + GIT_MERGE_ANALYSIS_NORMAL = (1 << 0), + + /** + * All given merge inputs are reachable from HEAD, meaning the + * repository is up-to-date and no merge needs to be performed. + */ + GIT_MERGE_ANALYSIS_UP_TO_DATE = (1 << 1), + + /** + * The given merge input is a fast-forward from HEAD and no merge + * needs to be performed. Instead, the client can check out the + * given merge input. + */ + GIT_MERGE_ANALYSIS_FASTFORWARD = (1 << 2), + + /** + * The HEAD of the current repository is "unborn" and does not point to + * a valid commit. No merge can be performed, but the caller may wish + * to simply set HEAD to the target commit(s). + */ + GIT_MERGE_ANALYSIS_UNBORN = (1 << 3) +} git_merge_analysis_t; + +/** + * The user's stated preference for merges. + */ +typedef enum { + /** + * No configuration was found that suggests a preferred behavior for + * merge. + */ + GIT_MERGE_PREFERENCE_NONE = 0, + + /** + * There is a `merge.ff=false` configuration setting, suggesting that + * the user does not want to allow a fast-forward merge. + */ + GIT_MERGE_PREFERENCE_NO_FASTFORWARD = (1 << 0), + + /** + * There is a `merge.ff=only` configuration setting, suggesting that + * the user only wants fast-forward merges. + */ + GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY = (1 << 1) +} git_merge_preference_t; + +/** + * Analyzes the given branch(es) and determines the opportunities for + * merging them into the HEAD of the repository. + * + * @param analysis_out analysis enumeration that the result is written into + * @param preference_out One of the `git_merge_preference_t` flag. + * @param repo the repository to merge + * @param their_heads the heads to merge into + * @param their_heads_len the number of heads to merge + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_analysis( + git_merge_analysis_t *analysis_out, + git_merge_preference_t *preference_out, + git_repository *repo, + const git_annotated_commit **their_heads, + size_t their_heads_len); + +/** + * Analyzes the given branch(es) and determines the opportunities for + * merging them into a reference. + * + * @param analysis_out analysis enumeration that the result is written into + * @param preference_out One of the `git_merge_preference_t` flag. + * @param repo the repository to merge + * @param our_ref the reference to perform the analysis from + * @param their_heads the heads to merge into + * @param their_heads_len the number of heads to merge + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_analysis_for_ref( + git_merge_analysis_t *analysis_out, + git_merge_preference_t *preference_out, + git_repository *repo, + git_reference *our_ref, + const git_annotated_commit **their_heads, + size_t their_heads_len); + +/** + * Find a merge base between two commits + * + * @param out the OID of a merge base between 'one' and 'two' + * @param repo the repository where the commits exist + * @param one one of the commits + * @param two the other commit + * @return 0 on success, GIT_ENOTFOUND if not found or error code + */ +GIT_EXTERN(int) git_merge_base( + git_oid *out, + git_repository *repo, + const git_oid *one, + const git_oid *two); + +/** + * Find merge bases between two commits + * + * @param out array in which to store the resulting ids + * @param repo the repository where the commits exist + * @param one one of the commits + * @param two the other commit + * @return 0 on success, GIT_ENOTFOUND if not found or error code + */ +GIT_EXTERN(int) git_merge_bases( + git_oidarray *out, + git_repository *repo, + const git_oid *one, + const git_oid *two); + +/** + * Find a merge base given a list of commits + * + * @param out the OID of a merge base considering all the commits + * @param repo the repository where the commits exist + * @param length The number of commits in the provided `input_array` + * @param input_array oids of the commits + * @return Zero on success; GIT_ENOTFOUND or -1 on failure. + */ +GIT_EXTERN(int) git_merge_base_many( + git_oid *out, + git_repository *repo, + size_t length, + const git_oid input_array[]); + +/** + * Find all merge bases given a list of commits + * + * This behaves similar to [`git merge-base`](https://git-scm.com/docs/git-merge-base#_discussion). + * + * Given three commits `a`, `b`, and `c`, `merge_base_many` + * will compute a hypothetical commit `m`, which is a merge between `b` + * and `c`. + + * For example, with the following topology: + * ```text + * o---o---o---o---C + * / + * / o---o---o---B + * / / + * ---2---1---o---o---o---A + * ``` + * + * 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 + * ``` + * + * and the result of `merge_base_many` given `a` and `m` is 1. + * + * If you're looking to recieve the common ancestor between all the + * given commits, use `merge_base_octopus`. + * + * @param out array in which to store the resulting ids + * @param repo the repository where the commits exist + * @param length The number of commits in the provided `input_array` + * @param input_array oids of the commits + * @return Zero on success; GIT_ENOTFOUND or -1 on failure. + */ +GIT_EXTERN(int) git_merge_bases_many( + git_oidarray *out, + git_repository *repo, + size_t length, + const git_oid input_array[]); + +/** + * Find a merge base in preparation for an octopus merge + * + * @param out the OID of a merge base considering all the commits + * @param repo the repository where the commits exist + * @param length The number of commits in the provided `input_array` + * @param input_array oids of the commits + * @return Zero on success; GIT_ENOTFOUND or -1 on failure. + */ +GIT_EXTERN(int) git_merge_base_octopus( + git_oid *out, + git_repository *repo, + size_t length, + const git_oid input_array[]); + +/** + * Merge two files as they exist in the in-memory data structures, using + * the given common ancestor as the baseline, producing a + * `git_merge_file_result` that reflects the merge result. The + * `git_merge_file_result` must be freed with `git_merge_file_result_free`. + * + * Note that this function does not reference a repository and any + * configuration must be passed as `git_merge_file_options`. + * + * @param out The git_merge_file_result to be filled in + * @param ancestor The contents of the ancestor file + * @param ours The contents of the file in "our" side + * @param theirs The contents of the file in "their" side + * @param opts The merge file options or `NULL` for defaults + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_file( + git_merge_file_result *out, + const git_merge_file_input *ancestor, + const git_merge_file_input *ours, + const git_merge_file_input *theirs, + const git_merge_file_options *opts); + +/** + * Merge two files as they exist in the index, using the given common + * ancestor as the baseline, producing a `git_merge_file_result` that + * reflects the merge result. The `git_merge_file_result` must be freed with + * `git_merge_file_result_free`. + * + * @param out The git_merge_file_result to be filled in + * @param repo The repository + * @param ancestor The index entry for the ancestor file (stage level 1) + * @param ours The index entry for our file (stage level 2) + * @param theirs The index entry for their file (stage level 3) + * @param opts The merge file options or NULL + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_file_from_index( + git_merge_file_result *out, + git_repository *repo, + const git_index_entry *ancestor, + const git_index_entry *ours, + const git_index_entry *theirs, + const git_merge_file_options *opts); + +/** + * Frees a `git_merge_file_result`. + * + * @param result The result to free or `NULL` + */ +GIT_EXTERN(void) git_merge_file_result_free(git_merge_file_result *result); + +/** + * Merge two trees, producing a `git_index` that reflects the result of + * the merge. The index may be written as-is to the working directory + * or checked out. If the index is to be converted to a tree, the caller + * should resolve any conflicts that arose as part of the merge. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo repository that contains the given trees + * @param ancestor_tree the common ancestor between the trees (or null if none) + * @param our_tree the tree that reflects the destination tree + * @param their_tree the tree to merge in to `our_tree` + * @param opts the merge tree options (or null for defaults) + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_trees( + git_index **out, + git_repository *repo, + const git_tree *ancestor_tree, + const git_tree *our_tree, + const git_tree *their_tree, + const git_merge_options *opts); + +/** + * Merge two commits, producing a `git_index` that reflects the result of + * the merge. The index may be written as-is to the working directory + * or checked out. If the index is to be converted to a tree, the caller + * should resolve any conflicts that arose as part of the merge. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo repository that contains the given trees + * @param our_commit the commit that reflects the destination tree + * @param their_commit the commit to merge in to `our_commit` + * @param opts the merge tree options (or null for defaults) + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_commits( + git_index **out, + git_repository *repo, + const git_commit *our_commit, + const git_commit *their_commit, + const git_merge_options *opts); + +/** + * Merges the given commit(s) into HEAD, writing the results into the working + * directory. Any changes are staged for commit and any conflicts are written + * to the index. Callers should inspect the repository's index after this + * completes, resolve any conflicts and prepare a commit. + * + * 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()`. + * + * @param repo the repository to merge + * @param their_heads the heads to merge into + * @param their_heads_len the number of heads to merge + * @param merge_opts merge options + * @param checkout_opts checkout options + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge( + git_repository *repo, + const git_annotated_commit **their_heads, + size_t their_heads_len, + const git_merge_options *merge_opts, + const git_checkout_options *checkout_opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/message.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/message.h new file mode 100644 index 00000000..874d027f --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/message.h @@ -0,0 +1,86 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_message_h__ +#define INCLUDE_git_message_h__ + +#include "common.h" +#include "buffer.h" + +/** + * @file git2/message.h + * @brief Commit messages + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Clean up excess whitespace and make sure there is a trailing newline in the message. + * + * Optionally, it can remove lines which start with the comment character. + * + * @param out The user-allocated git_buf which will be filled with the + * cleaned up message. + * + * @param message The message to be prettified. + * + * @param strip_comments Non-zero to remove comment lines, 0 to leave them in. + * + * @param comment_char Comment character. Lines starting with this character + * are considered to be comments and removed if `strip_comments` is non-zero. + * + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_message_prettify(git_buf *out, const char *message, int strip_comments, char comment_char); + +/** + * Represents a single git message trailer. + */ +typedef struct { + const char *key; + const char *value; +} git_message_trailer; + +/** + * Represents an array of git message trailers. + * + * Struct members under the private comment are private, subject to change + * and should not be used by callers. + */ +typedef struct { + git_message_trailer *trailers; + size_t count; + + /* private */ + char *_trailer_block; +} git_message_trailer_array; + +/** + * Parse trailers out of a message, filling the array pointed to by +arr+. + * + * Trailers are key/value pairs in the last paragraph of a message, not + * including any patches or conflicts that may be present. + * + * @param arr A pre-allocated git_message_trailer_array struct to be filled in + * with any trailers found during parsing. + * @param message The message to be parsed + * @return 0 on success, or non-zero on error. + */ +GIT_EXTERN(int) git_message_trailers(git_message_trailer_array *arr, const char *message); + +/** + * Clean's up any allocated memory in the git_message_trailer_array filled by + * a call to git_message_trailers. + * + * @param arr The trailer to free. + */ +GIT_EXTERN(void) git_message_trailer_array_free(git_message_trailer_array *arr); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/net.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/net.h new file mode 100644 index 00000000..93bdac49 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/net.h @@ -0,0 +1,56 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_net_h__ +#define INCLUDE_git_net_h__ + +#include "common.h" +#include "oid.h" +#include "types.h" + +/** + * @file git2/net.h + * @brief Low-level networking functionality + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Default git protocol port number */ +#define GIT_DEFAULT_PORT "9418" + +/** + * Direction of the connection. + * + * We need this because we need to know whether we should call + * git-upload-pack or git-receive-pack on the remote end when get_refs + * gets called. + */ +typedef enum { + GIT_DIRECTION_FETCH = 0, + GIT_DIRECTION_PUSH = 1 +} git_direction; + +/** + * Description of a reference advertised by a remote server, given out + * on `ls` calls. + */ +struct git_remote_head { + int local; /* available locally */ + git_oid oid; + git_oid loid; + char *name; + /** + * If the server send a symref mapping for this ref, this will + * point to the target. + */ + char *symref_target; +}; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/notes.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/notes.h new file mode 100644 index 00000000..3784d5f5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/notes.h @@ -0,0 +1,309 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_note_h__ +#define INCLUDE_git_note_h__ + +#include "oid.h" + +/** + * @file git2/notes.h + * @brief Notes are metadata attached to an object + * @defgroup git_note Git notes management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Callback for git_note_foreach. + * + * @param blob_id object id of the blob containing the message + * @param annotated_object_id the id of the object being annotated + * @param payload user-specified data to the foreach function + * @return 0 on success, or a negative number on failure + */ +typedef int GIT_CALLBACK(git_note_foreach_cb)( + const git_oid *blob_id, + const git_oid *annotated_object_id, + void *payload); + +/** + * note iterator + */ +typedef struct git_iterator git_note_iterator; + +/** + * Creates a new iterator for notes + * + * The iterator must be freed manually by the user. + * + * @param out pointer to the iterator + * @param repo repository where to look up the note + * @param notes_ref canonical name of the reference to use (optional); defaults to + * "refs/notes/commits" + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_iterator_new( + git_note_iterator **out, + git_repository *repo, + const char *notes_ref); + +/** + * Creates a new iterator for notes from a commit + * + * The iterator must be freed manually by the user. + * + * @param out pointer to the iterator + * @param notes_commit a pointer to the notes commit object + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_iterator_new( + git_note_iterator **out, + git_commit *notes_commit); + +/** + * Frees an git_note_iterator + * + * @param it pointer to the iterator + */ +GIT_EXTERN(void) git_note_iterator_free(git_note_iterator *it); + +/** + * Return the current item (note_id and annotated_id) and advance the iterator + * internally to the next value + * + * @param note_id id of blob containing the message + * @param annotated_id id of the git object being annotated + * @param it pointer to the iterator + * + * @return 0 (no error), GIT_ITEROVER (iteration is done) or an error code + * (negative value) + */ +GIT_EXTERN(int) git_note_next( + git_oid *note_id, + git_oid *annotated_id, + git_note_iterator *it); + + +/** + * Read the note for an object + * + * The note must be freed manually by the user. + * + * @param out pointer to the read note; NULL in case of error + * @param repo repository where to look up the note + * @param notes_ref canonical name of the reference to use (optional); defaults to + * "refs/notes/commits" + * @param oid OID of the git object to read the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_read( + git_note **out, + git_repository *repo, + const char *notes_ref, + const git_oid *oid); + + +/** + * Read the note for an object from a note commit + * + * The note must be freed manually by the user. + * + * @param out pointer to the read note; NULL in case of error + * @param repo repository where to look up the note + * @param notes_commit a pointer to the notes commit object + * @param oid OID of the git object to read the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_read( + git_note **out, + git_repository *repo, + git_commit *notes_commit, + const git_oid *oid); + +/** + * Get the note author + * + * @param note the note + * @return the author + */ +GIT_EXTERN(const git_signature *) git_note_author(const git_note *note); + +/** + * Get the note committer + * + * @param note the note + * @return the committer + */ +GIT_EXTERN(const git_signature *) git_note_committer(const git_note *note); + + +/** + * Get the note message + * + * @param note the note + * @return the note message + */ +GIT_EXTERN(const char *) git_note_message(const git_note *note); + + +/** + * Get the note object's id + * + * @param note the note + * @return the note object's id + */ +GIT_EXTERN(const git_oid *) git_note_id(const git_note *note); + +/** + * Add a note for an object + * + * @param out pointer to store the OID (optional); NULL in case of error + * @param repo repository where to store the note + * @param notes_ref canonical name of the reference to use (optional); + * defaults to "refs/notes/commits" + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to decorate + * @param note Content of the note to add for object oid + * @param force Overwrite existing note + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_create( + 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); + +/** + * Add a note for an object from a commit + * + * This function will create a notes commit for a given object, + * the commit is a dangling commit, no reference is created. + * + * @param notes_commit_out pointer to store the commit (optional); + * NULL in case of error + * @param notes_blob_out a point to the id of a note blob (optional) + * @param repo repository where the note will live + * @param parent Pointer to parent note + * or NULL if this shall start a new notes tree + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to decorate + * @param note Content of the note to add for object oid + * @param allow_note_overwrite Overwrite existing note + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_create( + 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); + +/** + * Remove the note for an object + * + * @param repo repository where the note lives + * @param notes_ref canonical name of the reference to use (optional); + * defaults to "refs/notes/commits" + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to remove the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_remove( + git_repository *repo, + const char *notes_ref, + const git_signature *author, + const git_signature *committer, + const git_oid *oid); + +/** + * Remove the note for an object + * + * @param notes_commit_out pointer to store the new notes commit (optional); + * NULL in case of error. + * When removing a note a new tree containing all notes + * sans the note to be removed is created and a new commit + * pointing to that tree is also created. + * In the case where the resulting tree is an empty tree + * a new commit pointing to this empty tree will be returned. + * @param repo repository where the note lives + * @param notes_commit a pointer to the notes commit object + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to remove the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_remove( + git_oid *notes_commit_out, + git_repository *repo, + git_commit *notes_commit, + const git_signature *author, + const git_signature *committer, + const git_oid *oid); + +/** + * Free a git_note object + * + * @param note git_note object + */ +GIT_EXTERN(void) git_note_free(git_note *note); + +/** + * Get the default notes reference for a repository + * + * @param out buffer in which to store the name of the default notes reference + * @param repo The Git repository + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_default_ref(git_buf *out, git_repository *repo); + +/** + * Loop over all the notes within a specified namespace + * and issue a callback for each one. + * + * @param repo Repository where to find the notes. + * + * @param notes_ref Reference to read from (optional); defaults to + * "refs/notes/commits". + * + * @param note_cb Callback to invoke per found annotation. Return non-zero + * to stop looping. + * + * @param payload Extra parameter to callback function. + * + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_note_foreach( + git_repository *repo, + const char *notes_ref, + git_note_foreach_cb note_cb, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/object.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/object.h new file mode 100644 index 00000000..8a50239f --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/object.h @@ -0,0 +1,280 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_object_h__ +#define INCLUDE_git_object_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "buffer.h" + +/** + * @file git2/object.h + * @brief Objects are blobs (files), trees (directories), commits, and annotated tags + * @defgroup git_object Git revision object management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Maximum size of a git object */ +#define GIT_OBJECT_SIZE_MAX UINT64_MAX + +/** + * Lookup a reference to one of the objects in a repository. + * + * The generated reference is owned by the repository and + * should be closed with the `git_object_free` method + * instead of free'd manually. + * + * 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. + * + * @param object pointer to the looked-up object + * @param repo the repository to look up the object + * @param id the unique identifier for the object + * @param type the type of the object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_object_lookup( + git_object **object, + git_repository *repo, + const git_oid *id, + git_object_t type); + +/** + * Lookup a reference to one of the objects in a repository, + * given a prefix of its identifier (short id). + * + * 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. + * + * The generated reference is owned by the repository and + * should be closed with the `git_object_free` method + * instead of free'd manually. + * + * 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. + * + * @param object_out pointer where to store the looked-up object + * @param repo the repository to look up the object + * @param id a short identifier for the object + * @param len the length of the short identifier + * @param type the type of the object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_object_lookup_prefix( + git_object **object_out, + git_repository *repo, + const git_oid *id, + size_t len, + git_object_t type); + + +/** + * Lookup an object that represents a tree entry. + * + * @param out buffer that receives a pointer to the object (which must be freed + * by the caller) + * @param treeish root object that can be peeled to a tree + * @param path relative path from the root object to the desired object + * @param type type of object desired + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_object_lookup_bypath( + git_object **out, + const git_object *treeish, + const char *path, + git_object_t type); + +/** + * Get the id (SHA1) of a repository object + * + * @param obj the repository object + * @return the SHA1 id + */ +GIT_EXTERN(const git_oid *) git_object_id(const git_object *obj); + +/** + * Get a short abbreviated OID string for the object + * + * 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). + * + * @param out Buffer to write string into + * @param obj The object to get an ID for + * @return 0 on success, <0 for error + */ +GIT_EXTERN(int) git_object_short_id(git_buf *out, const git_object *obj); + +/** + * Get the object type of an object + * + * @param obj the repository object + * @return the object's type + */ +GIT_EXTERN(git_object_t) git_object_type(const git_object *obj); + +/** + * Get the repository that owns this object + * + * Freeing or calling `git_repository_close` on the + * returned pointer will invalidate the actual object. + * + * Any other operation may be run on the repository without + * affecting the object. + * + * @param obj the object + * @return the repository who owns this object + */ +GIT_EXTERN(git_repository *) git_object_owner(const git_object *obj); + +/** + * Close an open object + * + * This method instructs the library to close an existing + * object; note that git_objects are owned and cached by the repository + * so the object may or may not be freed after this library call, + * depending on how aggressive is the caching mechanism used + * by the repository. + * + * IMPORTANT: + * It *is* necessary to call this method when you stop using + * an object. Failure to do so will cause a memory leak. + * + * @param object the object to close + */ +GIT_EXTERN(void) git_object_free(git_object *object); + +/** + * Convert an object type to its string representation. + * + * The result is a pointer to a string in static memory and + * should not be free()'ed. + * + * @param type object type to convert. + * @return the corresponding string representation. + */ +GIT_EXTERN(const char *) git_object_type2string(git_object_t type); + +/** + * Convert a string object type representation to it's git_object_t. + * + * @param str the string to convert. + * @return the corresponding git_object_t. + */ +GIT_EXTERN(git_object_t) git_object_string2type(const char *str); + +/** + * Determine if the given git_object_t is a valid loose object type. + * + * @param type object type to test. + * @return true if the type represents a valid loose object type, + * false otherwise. + */ +GIT_EXTERN(int) git_object_typeisloose(git_object_t type); + +/** + * Recursively peel an object until an object of the specified type is met. + * + * If the query cannot be satisfied due to the object model, + * GIT_EINVALIDSPEC will be returned (e.g. trying to peel a blob to a + * tree). + * + * If you pass `GIT_OBJECT_ANY` as the target type, then the object will + * be peeled until the type changes. A tag will be peeled until the + * referenced object is no longer a tag, and a commit will be peeled + * to a tree. Any other object type will return GIT_EINVALIDSPEC. + * + * If peeling a tag we discover an object which cannot be peeled to + * the target type due to the object model, GIT_EPEEL will be + * returned. + * + * You must free the returned object. + * + * @param peeled Pointer to the peeled git_object + * @param object The object to be processed + * @param target_type The type of the requested object (a GIT_OBJECT_ value) + * @return 0 on success, GIT_EINVALIDSPEC, GIT_EPEEL, or an error code + */ +GIT_EXTERN(int) git_object_peel( + git_object **peeled, + const git_object *object, + git_object_t target_type); + +/** + * Create an in-memory copy of a Git object. The copy must be + * explicitly free'd or it will leak. + * + * @param dest Pointer to store the copy of the object + * @param source Original object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_object_dup(git_object **dest, git_object *source); + +#ifdef GIT_EXPERIMENTAL_SHA256 +/** + * Analyzes a buffer of raw object content and determines its validity. + * Tree, commit, and tag objects will be parsed and ensured that they + * are valid, parseable content. (Blobs are always valid by definition.) + * An error message will be set with an informative message if the object + * is not valid. + * + * @warning This function is experimental and its signature may change in + * the future. + * + * @param valid Output pointer to set with validity of the object content + * @param buf The contents to validate + * @param len The length of the buffer + * @param object_type The type of the object in the buffer + * @param oid_type The object ID type for the OIDs in the given buffer + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_object_rawcontent_is_valid( + int *valid, + const char *buf, + size_t len, + git_object_t object_type, + git_oid_t oid_type); +#else +/** + * Analyzes a buffer of raw object content and determines its validity. + * Tree, commit, and tag objects will be parsed and ensured that they + * are valid, parseable content. (Blobs are always valid by definition.) + * An error message will be set with an informative message if the object + * is not valid. + * + * @warning This function is experimental and its signature may change in + * the future. + * + * @param[out] valid Output pointer to set with validity of the object content + * @param buf The contents to validate + * @param len The length of the buffer + * @param object_type The type of the object in the buffer + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_object_rawcontent_is_valid( + int *valid, + const char *buf, + size_t len, + git_object_t object_type); +#endif + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/odb.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/odb.h new file mode 100644 index 00000000..e809c36d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/odb.h @@ -0,0 +1,696 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_odb_h__ +#define INCLUDE_git_odb_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "oidarray.h" +#include "indexer.h" + +/** + * @file git2/odb.h + * @brief An object database manages the storage of git objects + * @defgroup git_odb Git object database routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Flags controlling the behavior of ODB lookup operations */ +typedef enum { + /** + * Don't call `git_odb_refresh` if the lookup fails. Useful when doing + * a batch of lookup operations for objects that may legitimately not + * exist. When using this flag, you may wish to manually call + * `git_odb_refresh` before processing a batch of objects. + */ + GIT_ODB_LOOKUP_NO_REFRESH = (1 << 0) +} git_odb_lookup_flags_t; + +/** + * Function type for callbacks from git_odb_foreach. + * + * @param id an id of an object in the object database + * @param payload the payload from the initial call to git_odb_foreach + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_odb_foreach_cb)(const git_oid *id, void *payload); + +/** Options for configuring a loose object backend. */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** + * Type of object IDs to use for this object database, or + * 0 for default (currently SHA1). + */ + git_oid_t oid_type; +} git_odb_options; + +/** The current version of the diff options structure */ +#define GIT_ODB_OPTIONS_VERSION 1 + +/** + * Stack initializer for odb options. Alternatively use + * `git_odb_options_init` programmatic initialization. + */ +#define GIT_ODB_OPTIONS_INIT { GIT_ODB_OPTIONS_VERSION } + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * Create a new object database with no backends. + * + * @param[out] odb location to store the database pointer, if opened. + * @param opts the options for this object database or NULL for defaults + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_new(git_odb **odb, const git_odb_options *opts); + +/** + * Create a new object database and automatically add loose and packed + * backends. + * + * @param[out] odb_out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param objects_dir path of the backends' "objects" directory. + * @param opts the options for this object database or NULL for defaults + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_open( + git_odb **odb_out, + const char *objects_dir, + const git_odb_options *opts); + +#else + +/** + * Create a new object database with no backends. + * + * Before the ODB can be used for read/writing, a custom database + * backend must be manually added using `git_odb_add_backend()` + * + * @param[out] odb location to store the database pointer, if opened. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_new(git_odb **odb); + +/** + * Create a new object database and automatically add + * the two default backends: + * + * - git_odb_backend_loose: read and write loose object files + * from disk, assuming `objects_dir` as the Objects folder + * + * - git_odb_backend_pack: read objects from packfiles, + * assuming `objects_dir` as the Objects folder which + * contains a 'pack/' folder with the corresponding data + * + * @param[out] odb_out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param objects_dir path of the backends' "objects" directory. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_open(git_odb **odb_out, const char *objects_dir); +#endif + +/** + * Add an on-disk alternate to an existing Object DB. + * + * Note that the added path must point to an `objects`, not + * to a full repository, to use it as an alternate store. + * + * Alternate backends are always checked for objects *after* + * all the main backends have been exhausted. + * + * Writing is disabled on alternate backends. + * + * @param odb database to add the backend to + * @param path path to the objects folder for the alternate + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_add_disk_alternate(git_odb *odb, const char *path); + +/** + * Close an open object database. + * + * @param db database pointer to close. If NULL no action is taken. + */ +GIT_EXTERN(void) git_odb_free(git_odb *db); + +/** + * Read an object from the database. + * + * This method queries all available ODB backends + * trying to read the given OID. + * + * The returned object is reference counted and + * internally cached, so it should be closed + * by the user once it's no longer in use. + * + * @param[out] obj pointer where to store the read object + * @param db database to search for the object in. + * @param id identity of the object to read. + * @return 0 if the object was read, GIT_ENOTFOUND if the object is + * not in the database. + */ +GIT_EXTERN(int) git_odb_read(git_odb_object **obj, git_odb *db, const git_oid *id); + +/** + * Read an object from the database, given a prefix + * of its identifier. + * + * This method queries all available ODB backends + * trying to match the 'len' first hexadecimal + * characters of the 'short_id'. + * The remaining (GIT_OID_SHA1_HEXSIZE-len)*4 bits of + * 'short_id' must be 0s. + * 'len' must be at least GIT_OID_MINPREFIXLEN, + * and the prefix must be long enough to identify + * a unique object in all the backends; the + * method will fail otherwise. + * + * The returned object is reference counted and + * internally cached, so it should be closed + * by the user once it's no longer in use. + * + * @param[out] obj pointer where to store the read object + * @param db database to search for the object in. + * @param short_id a prefix of the id of the object to read. + * @param len the length of the prefix + * @return 0 if the object was read, GIT_ENOTFOUND if the object is not in the + * database. GIT_EAMBIGUOUS if the prefix is ambiguous + * (several objects match the prefix) + */ +GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **obj, git_odb *db, const git_oid *short_id, size_t len); + +/** + * Read the header of an object from the database, without + * reading its full contents. + * + * The header includes the length and the type of an object. + * + * Note that most backends do not support reading only the header + * of an object, so the whole object will be read and then the + * header will be returned. + * + * @param[out] len_out pointer where to store the length + * @param[out] type_out pointer where to store the type + * @param db database to search for the object in. + * @param id identity of the object to read. + * @return 0 if the object was read, GIT_ENOTFOUND if the object is not + * in the database. + */ +GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_object_t *type_out, git_odb *db, const git_oid *id); + +/** + * Determine if the given object can be found in the object database. + * + * @param db database to be searched for the given object. + * @param id the object to search for. + * @return 1 if the object was found, 0 otherwise + */ +GIT_EXTERN(int) git_odb_exists(git_odb *db, const git_oid *id); + +/** + * Determine if the given object can be found in the object database, with + * extended options. + * + * @param db database to be searched for the given object. + * @param id the object to search for. + * @param flags flags affecting the lookup (see `git_odb_lookup_flags_t`) + * @return 1 if the object was found, 0 otherwise + */ +GIT_EXTERN(int) git_odb_exists_ext(git_odb *db, const git_oid *id, unsigned int flags); + +/** + * Determine if an object can be found in the object database by an + * abbreviated object ID. + * + * @param out The full OID of the found object if just one is found. + * @param db The database to be searched for the given object. + * @param short_id A prefix of the id of the object to read. + * @param len The length of the prefix. + * @return 0 if found, GIT_ENOTFOUND if not found, GIT_EAMBIGUOUS if multiple + * matches were found, other value < 0 if there was a read error. + */ +GIT_EXTERN(int) git_odb_exists_prefix( + git_oid *out, git_odb *db, const git_oid *short_id, size_t len); + +/** + * The information about object IDs to query in `git_odb_expand_ids`, + * which will be populated upon return. + */ +typedef struct git_odb_expand_id { + /** The object ID to expand */ + git_oid id; + + /** + * The length of the object ID (in nibbles, or packets of 4 bits; the + * number of hex characters) + * */ + unsigned short length; + + /** + * The (optional) type of the object to search for; leave as `0` or set + * to `GIT_OBJECT_ANY` to query for any object matching the ID. + */ + git_object_t type; +} git_odb_expand_id; + +/** + * Determine if one or more objects can be found in the object database + * by their abbreviated object ID and type. + * + * The given array will be updated in place: for each abbreviated ID that is + * unique in the database, and of the given type (if specified), + * the full object ID, object ID length (`GIT_OID_SHA1_HEXSIZE`) and type will be + * written back to the array. For IDs that are not found (or are ambiguous), + * the array entry will be zeroed. + * + * Note that since this function operates on multiple objects, the + * underlying database will not be asked to be reloaded if an object is + * not found (which is unlike other object database operations.) + * + * @param db The database to be searched for the given objects. + * @param ids An array of short object IDs to search for + * @param count The length of the `ids` array + * @return 0 on success or an error code on failure + */ +GIT_EXTERN(int) git_odb_expand_ids( + git_odb *db, + git_odb_expand_id *ids, + size_t count); + +/** + * Refresh the object database to load newly added files. + * + * If the object databases have changed on disk while the library + * is running, this function will force a reload of the underlying + * indexes. + * + * Use this function when you're confident that an external + * application has tampered with the ODB. + * + * NOTE that it is not necessary to call this function at all. The + * library will automatically attempt to refresh the ODB + * when a lookup fails, to see if the looked up object exists + * on disk but hasn't been loaded yet. + * + * @param db database to refresh + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_refresh(git_odb *db); + +/** + * List all objects available in the database + * + * The callback will be called for each object available in the + * database. Note that the objects are likely to be returned in the index + * order, which would make accessing the objects in that order inefficient. + * Return a non-zero value from the callback to stop looping. + * + * @param db database to use + * @param cb the callback to call for each object + * @param payload data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_odb_foreach( + git_odb *db, + git_odb_foreach_cb cb, + void *payload); + +/** + * Write an object directly into the ODB + * + * 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. + * + * This method is provided for compatibility with custom backends + * which are not able to support streaming writes + * + * @param out pointer to store the OID result of the write + * @param odb object database where to store the object + * @param data @type `const unsigned char *` buffer with the data to store + * @param len size of the buffer + * @param type type of the data to store + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_write(git_oid *out, git_odb *odb, const void *data, size_t len, git_object_t type); + +/** + * Open a stream to write an object into the ODB + * + * The type and final length of the object must be specified + * when opening the stream. + * + * The returned stream will be of type `GIT_STREAM_WRONLY`, and it + * won't be effective until `git_odb_stream_finalize_write` is called + * and returns without an error + * + * The stream must always be freed when done with `git_odb_stream_free` or + * will leak memory. + * + * @see git_odb_stream + * + * @param out pointer where to store the stream + * @param db object database where the stream will write + * @param size final size of the object that will be written + * @param type type of the object that will be written + * @return 0 if the stream was created; error code otherwise + */ +GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **out, git_odb *db, git_object_size_t size, git_object_t type); + +/** + * Write to an odb stream + * + * This method will fail if the total number of received bytes exceeds the + * size declared with `git_odb_open_wstream()` + * + * @param stream the stream + * @param buffer the data to write + * @param len the buffer's length + * @return 0 if the write succeeded, error code otherwise + */ +GIT_EXTERN(int) git_odb_stream_write(git_odb_stream *stream, const char *buffer, size_t len); + +/** + * Finish writing to an odb stream + * + * The object will take its final name and will be available to the + * odb. + * + * This method will fail if the total number of received bytes + * differs from the size declared with `git_odb_open_wstream()` + * + * @param out pointer to store the resulting object's id + * @param stream the stream + * @return 0 on success, an error code otherwise + */ +GIT_EXTERN(int) git_odb_stream_finalize_write(git_oid *out, git_odb_stream *stream); + +/** + * Read from an odb stream + * + * Most backends don't implement streaming reads + * + * @param stream the stream + * @param buffer a user-allocated buffer to store the data in. + * @param len the buffer's length + * @return the number of bytes read if succeeded, error code otherwise + */ +GIT_EXTERN(int) git_odb_stream_read(git_odb_stream *stream, char *buffer, size_t len); + +/** + * Free an odb stream + * + * @param stream the stream to free + */ +GIT_EXTERN(void) git_odb_stream_free(git_odb_stream *stream); + +/** + * Open a stream to read an object from the ODB + * + * Note that most backends do *not* support streaming reads + * because they store their objects as compressed/delta'ed blobs. + * + * It's recommended to use `git_odb_read` instead, which is + * assured to work on all backends. + * + * The returned stream will be of type `GIT_STREAM_RDONLY` and + * will have the following methods: + * + * - stream->read: read `n` bytes from the stream + * - stream->free: free the stream + * + * The stream must always be free'd or will leak memory. + * + * @see git_odb_stream + * + * @param out pointer where to store the stream + * @param len pointer where to store the length of the object + * @param type pointer where to store the type of the object + * @param db object database where the stream will read from + * @param oid oid of the object the stream will read from + * @return 0 if the stream was created, error code otherwise + */ +GIT_EXTERN(int) git_odb_open_rstream( + git_odb_stream **out, + size_t *len, + git_object_t *type, + git_odb *db, + const git_oid *oid); + +/** + * Open a stream for writing a pack file to the ODB. + * + * If the ODB layer understands pack files, then the given + * packfile will likely be streamed directly to disk (and a + * corresponding index created). If the ODB layer does not + * understand pack files, the objects will be stored in whatever + * format the ODB layer uses. + * + * @see git_odb_writepack + * + * @param out pointer to the writepack functions + * @param db object database where the stream will read from + * @param progress_cb function to call with progress information. + * Be aware that this is called inline with network and indexing operations, + * so performance may be affected. + * @param progress_payload payload for the progress callback + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_odb_write_pack( + git_odb_writepack **out, + git_odb *db, + git_indexer_progress_cb progress_cb, + void *progress_payload); + +/** + * Write a `multi-pack-index` file from all the `.pack` files in the ODB. + * + * 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). + * + * @param db object database where the `multi-pack-index` file will be written. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_odb_write_multi_pack_index( + git_odb *db); + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * Generate the object ID (in SHA1 or SHA256 format) for a given data buffer. + * + * @param[out] oid the resulting object ID. + * @param data data to hash + * @param len size of the data + * @param object_type of the data to hash + * @param oid_type the oid type to hash to + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hash( + git_oid *oid, + const void *data, + size_t len, + git_object_t object_type, + git_oid_t oid_type); + +/** + * Determine the object ID of a file on disk. + * + * @param[out] oid oid structure the result is written into. + * @param path file to read and determine object id for + * @param object_type of the data to hash + * @param oid_type the oid type to hash to + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hashfile( + git_oid *oid, + const char *path, + git_object_t object_type, + git_oid_t oid_type); +#else + +/** + * Determine the object-ID (sha1 or sha256 hash) of a data buffer + * + * The resulting OID will be the identifier for the data buffer as if + * the data buffer it were to written to the ODB. + * + * @param[out] oid the resulting object-ID. + * @param data data to hash + * @param len size of the data + * @param object_type of the data to hash + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hash(git_oid *oid, const void *data, size_t len, git_object_t object_type); + +/** + * Read a file from disk and fill a git_oid with the object id + * that the file would have if it were written to the Object + * Database as an object of the given type (w/o applying filters). + * Similar functionality to git.git's `git hash-object` without + * the `-w` flag, however, with the --no-filters flag. + * If you need filters, see git_repository_hashfile. + * + * @param[out] oid oid structure the result is written into. + * @param path file to read and determine object id for + * @param object_type of the data to hash + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hashfile(git_oid *oid, const char *path, git_object_t object_type); + +#endif + +/** + * Create a copy of an odb_object + * + * The returned copy must be manually freed with `git_odb_object_free`. + * Note that because of an implementation detail, the returned copy will be + * the same pointer as `source`: the object is internally refcounted, so the + * copy still needs to be freed twice. + * + * @param dest pointer where to store the copy + * @param source object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_object_dup(git_odb_object **dest, git_odb_object *source); + +/** + * Close an ODB object + * + * This method must always be called once a `git_odb_object` is no + * longer needed, otherwise memory will leak. + * + * @param object object to close + */ +GIT_EXTERN(void) git_odb_object_free(git_odb_object *object); + +/** + * Return the OID of an ODB object + * + * This is the OID from which the object was read from + * + * @param object the object + * @return a pointer to the OID + */ +GIT_EXTERN(const git_oid *) git_odb_object_id(git_odb_object *object); + +/** + * Return the data of an ODB object + * + * This is the uncompressed, raw data as read from the ODB, + * without the leading header. + * + * This pointer is owned by the object and shall not be free'd. + * + * @param object the object + * @return @type `const unsigned char *` a pointer to the data + */ +GIT_EXTERN(const void *) git_odb_object_data(git_odb_object *object); + +/** + * Return the size of an ODB object + * + * This is the real size of the `data` buffer, not the + * actual size of the object. + * + * @param object the object + * @return the size + */ +GIT_EXTERN(size_t) git_odb_object_size(git_odb_object *object); + +/** + * Return the type of an ODB object + * + * @param object the object + * @return the type + */ +GIT_EXTERN(git_object_t) git_odb_object_type(git_odb_object *object); + +/** + * Add a custom backend to an existing Object DB + * + * The backends are checked in relative ordering, based on the + * value of the `priority` parameter. + * + * Read for more information. + * + * @param odb database to add the backend to + * @param backend pointer to a git_odb_backend instance + * @param priority Value for ordering the backends queue + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_add_backend(git_odb *odb, git_odb_backend *backend, int priority); + +/** + * Add a custom backend to an existing Object DB; this + * backend will work as an alternate. + * + * Alternate backends are always checked for objects *after* + * all the main backends have been exhausted. + * + * The backends are checked in relative ordering, based on the + * value of the `priority` parameter. + * + * Writing is disabled on alternate backends. + * + * Read for more information. + * + * @param odb database to add the backend to + * @param backend pointer to a git_odb_backend instance + * @param priority Value for ordering the backends queue + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_add_alternate(git_odb *odb, git_odb_backend *backend, int priority); + +/** + * Get the number of ODB backend objects + * + * @param odb object database + * @return number of backends in the ODB + */ +GIT_EXTERN(size_t) git_odb_num_backends(git_odb *odb); + +/** + * Lookup an ODB backend object by index + * + * @param out output pointer to ODB backend at pos + * @param odb object database + * @param pos index into object database backend list + * @return 0 on success, GIT_ENOTFOUND if pos is invalid, other errors < 0 + */ +GIT_EXTERN(int) git_odb_get_backend(git_odb_backend **out, git_odb *odb, size_t pos); + +/** + * Set the git commit-graph for the ODB. + * + * After a successful call, the ownership of the cgraph parameter will be + * transferred to libgit2, and the caller should not free it. + * + * The commit-graph can also be unset by explicitly passing NULL as the cgraph + * parameter. + * + * @param odb object database + * @param cgraph the git commit-graph + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_odb_set_commit_graph(git_odb *odb, git_commit_graph *cgraph); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/odb_backend.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/odb_backend.h new file mode 100644 index 00000000..88ca29fb --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/odb_backend.h @@ -0,0 +1,251 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_odb_backend_h__ +#define INCLUDE_git_odb_backend_h__ + +#include "common.h" +#include "types.h" +#include "indexer.h" + +/** + * @file git2/backend.h + * @brief Object database backends manage the storage of git objects + * @defgroup git_odb Git object database routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Options for configuring a packfile object backend. */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** + * Type of object IDs to use for this object database, or + * 0 for default (currently SHA1). + */ + git_oid_t oid_type; +} git_odb_backend_pack_options; + +/** The current version of the diff options structure */ +#define GIT_ODB_BACKEND_PACK_OPTIONS_VERSION 1 + +/** + * Stack initializer for odb pack backend options. Alternatively use + * `git_odb_backend_pack_options_init` programmatic initialization. + */ +#define GIT_ODB_BACKEND_PACK_OPTIONS_INIT \ + { GIT_ODB_BACKEND_PACK_OPTIONS_VERSION } + +typedef enum { + GIT_ODB_BACKEND_LOOSE_FSYNC = (1 << 0) +} git_odb_backend_loose_flag_t; + +/** Options for configuring a loose object backend. */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** A combination of the `git_odb_backend_loose_flag_t` types. */ + uint32_t flags; + + /** + * zlib compression level to use (0-9), where 1 is the fastest + * at the expense of larger files, and 9 produces the best + * compression at the expense of speed. 0 indicates that no + * compression should be performed. -1 is the default (currently + * optimizing for speed). + */ + int compression_level; + + /** Permissions to use creating a directory or 0 for defaults */ + unsigned int dir_mode; + + /** Permissions to use creating a file or 0 for defaults */ + unsigned int file_mode; + + /** + * Type of object IDs to use for this object database, or + * 0 for default (currently SHA1). + */ + git_oid_t oid_type; +} git_odb_backend_loose_options; + +/** The current version of the diff options structure */ +#define GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION 1 + +/** + * Stack initializer for odb loose backend options. Alternatively use + * `git_odb_backend_loose_options_init` programmatic initialization. + */ +#define GIT_ODB_BACKEND_LOOSE_OPTIONS_INIT \ + { GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION, 0, -1 } + +/* + * Constructors for in-box ODB backends. + */ + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * Create a backend for a directory containing packfiles. + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @param opts the options to use when creating the pack backend + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_pack( + git_odb_backend **out, + const char *objects_dir, + const git_odb_backend_pack_options *opts); + +/** + * Create a backend for a single packfile. + * + * @param[out] out location to store the odb backend pointer + * @param index_file path to the packfile's .idx file + * @param opts the options to use when creating the pack backend + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_one_pack( + git_odb_backend **out, + const char *index_file, + const git_odb_backend_pack_options *opts); + +/** + * Create a backend for loose objects + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @param opts options for the loose object backend or NULL + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_loose( + git_odb_backend **out, + const char *objects_dir, + git_odb_backend_loose_options *opts); + +#else + +/** + * Create a backend for a directory containing packfiles. + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_pack( + git_odb_backend **out, + const char *objects_dir); + +/** + * Create a backend out of a single packfile + * + * This can be useful for inspecting the contents of a single + * packfile. + * + * @param[out] out location to store the odb backend pointer + * @param index_file path to the packfile's .idx file + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_one_pack( + git_odb_backend **out, + const char *index_file); + +/** + * Create a backend for loose objects + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @param compression_level zlib compression level (0-9), or -1 for the default + * @param do_fsync if non-zero, perform an fsync on write + * @param dir_mode permission to use when creating directories, or 0 for default + * @param file_mode permission to use when creating directories, or 0 for default + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_loose( + git_odb_backend **out, + const char *objects_dir, + int compression_level, + int do_fsync, + unsigned int dir_mode, + unsigned int file_mode); + +#endif + +/** Streaming mode */ +typedef enum { + GIT_STREAM_RDONLY = (1 << 1), + GIT_STREAM_WRONLY = (1 << 2), + GIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY) +} git_odb_stream_t; + +/** + * A stream to read/write from a backend. + * + * This represents a stream of data being written to or read from a + * backend. When writing, the frontend functions take care of + * calculating the object's id and all `finalize_write` needs to do is + * store the object with the id it is passed. + */ +struct git_odb_stream { + git_odb_backend *backend; + unsigned int mode; + void *hash_ctx; + +#ifdef GIT_EXPERIMENTAL_SHA256 + git_oid_t oid_type; +#endif + + git_object_size_t declared_size; + git_object_size_t received_bytes; + + /** + * Write at most `len` bytes into `buffer` and advance the stream. + */ + int GIT_CALLBACK(read)(git_odb_stream *stream, char *buffer, size_t len); + + /** + * Write `len` bytes from `buffer` into the stream. + */ + int GIT_CALLBACK(write)(git_odb_stream *stream, const char *buffer, size_t len); + + /** + * Store the contents of the stream as an object with the id + * specified in `oid`. + * + * This method might not be invoked if: + * - an error occurs earlier with the `write` callback, + * - the object referred to by `oid` already exists in any backend, or + * - the final number of received bytes differs from the size declared + * with `git_odb_open_wstream()` + */ + int GIT_CALLBACK(finalize_write)(git_odb_stream *stream, const git_oid *oid); + + /** + * Free the stream's memory. + * + * This method might be called without a call to `finalize_write` if + * an error occurs or if the object is already present in the ODB. + */ + void GIT_CALLBACK(free)(git_odb_stream *stream); +}; + +/** A stream to write a pack file to the ODB */ +struct git_odb_writepack { + git_odb_backend *backend; + + int GIT_CALLBACK(append)(git_odb_writepack *writepack, const void *data, size_t size, git_indexer_progress *stats); + int GIT_CALLBACK(commit)(git_odb_writepack *writepack, git_indexer_progress *stats); + void GIT_CALLBACK(free)(git_odb_writepack *writepack); +}; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/oid.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/oid.h new file mode 100644 index 00000000..0af9737a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/oid.h @@ -0,0 +1,372 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_oid_h__ +#define INCLUDE_git_oid_h__ + +#include "common.h" +#include "types.h" +#include "experimental.h" + +/** + * @file git2/oid.h + * @brief Object IDs + * @defgroup git_oid Git object id routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** The type of object id. */ +typedef enum { + +#ifdef GIT_EXPERIMENTAL_SHA256 + GIT_OID_SHA1 = 1, /**< SHA1 */ + GIT_OID_SHA256 = 2 /**< SHA256 */ +#else + GIT_OID_SHA1 = 1 /**< SHA1 */ +#endif + +} git_oid_t; + +/* + * SHA1 is currently the only supported object ID type. + */ + +/** SHA1 is currently libgit2's default oid type. */ +#define GIT_OID_DEFAULT GIT_OID_SHA1 + +/** Size (in bytes) of a raw/binary sha1 oid */ +#define GIT_OID_SHA1_SIZE 20 +/** Size (in bytes) of a hex formatted sha1 oid */ +#define GIT_OID_SHA1_HEXSIZE (GIT_OID_SHA1_SIZE * 2) + +/** + * The binary representation of the null sha1 object ID. + */ +#ifndef GIT_EXPERIMENTAL_SHA256 +# define GIT_OID_SHA1_ZERO { { 0 } } +#else +# define GIT_OID_SHA1_ZERO { GIT_OID_SHA1, { 0 } } +#endif + +/** + * The string representation of the null sha1 object ID. + */ +#define GIT_OID_SHA1_HEXZERO "0000000000000000000000000000000000000000" + +/* + * Experimental SHA256 support is a breaking change to the API. + * This exists for application compatibility testing. + */ + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** Size (in bytes) of a raw/binary sha256 oid */ +# define GIT_OID_SHA256_SIZE 32 +/** Size (in bytes) of a hex formatted sha256 oid */ +# define GIT_OID_SHA256_HEXSIZE (GIT_OID_SHA256_SIZE * 2) + +/** + * The binary representation of the null sha256 object ID. + */ +# define GIT_OID_SHA256_ZERO { GIT_OID_SHA256, { 0 } } + +/** + * The string representation of the null sha256 object ID. + */ +# define GIT_OID_SHA256_HEXZERO "0000000000000000000000000000000000000000000000000000000000000000" + +#endif + +/** Maximum possible object ID size in raw format */ +#ifdef GIT_EXPERIMENTAL_SHA256 +# define GIT_OID_MAX_SIZE GIT_OID_SHA256_SIZE +#else +# define GIT_OID_MAX_SIZE GIT_OID_SHA1_SIZE +#endif + +/** Maximum possible object ID size in hex format */ +#ifdef GIT_EXPERIMENTAL_SHA256 +# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA256_HEXSIZE +#else +# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA1_HEXSIZE +#endif + +/** Minimum length (in number of hex characters, + * i.e. packets of 4 bits) of an oid prefix */ +#define GIT_OID_MINPREFIXLEN 4 + +/** Unique identity of any object (commit, tree, blob, tag). */ +typedef struct git_oid { + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** type of object id */ + unsigned char type; +#endif + + /** raw binary formatted id */ + unsigned char id[GIT_OID_MAX_SIZE]; +} git_oid; + +#ifdef GIT_EXPERIMENTAL_SHA256 + +GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str, git_oid_t type); +GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str, git_oid_t type); +GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length, git_oid_t type); +GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw, git_oid_t type); + +#else + +/** + * Parse a hex formatted object id into a git_oid. + * + * 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. + * + * @param out oid structure the result is written into. + * @param str input hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (40 bytes for sha1, + * 256 bytes for sha256). + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str); + +/** + * Parse a hex formatted NUL-terminated string into a git_oid. + * + * @param out oid structure the result is written into. + * @param str input hex string; must be null-terminated. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str); + +/** + * Parse N characters of a hex formatted object id into a git_oid. + * + * If N is odd, the last byte's high nibble will be read in and the + * low nibble set to zero. + * + * @param out oid structure the result is written into. + * @param str input hex string of at least size `length` + * @param length length of the input string + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length); + +/** + * Copy an already raw oid into a git_oid structure. + * + * @param out oid structure the result is written into. + * @param raw the raw input bytes to be copied. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw); + +#endif + +/** + * Format a git_oid into a hex string. + * + * @param out output hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (40 bytes for SHA1, + * 64 bytes for SHA256). Only the oid digits are written; + * a '\\0' terminator must be added by the caller if it is + * required. + * @param id oid structure to format. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_fmt(char *out, const git_oid *id); + +/** + * Format a git_oid into a partial hex string. + * + * @param out output hex string; you say how many bytes to write. + * If the number of bytes is > GIT_OID_SHA1_HEXSIZE, extra bytes + * will be zeroed; if not, a '\0' terminator is NOT added. + * @param n number of characters to write into out string + * @param id oid structure to format. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_nfmt(char *out, size_t n, const git_oid *id); + +/** + * Format a git_oid into a loose-object path string. + * + * The resulting string is "aa/...", where "aa" is the first two + * hex digits of the oid and "..." is the remaining 38 digits. + * + * @param out output hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (41 bytes for SHA1, + * 65 bytes for SHA256). Only the oid digits are written; + * a '\\0' terminator must be added by the caller if it + * is required. + * @param id oid structure to format. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_oid_pathfmt(char *out, const git_oid *id); + +/** + * Format a git_oid into a statically allocated c-string. + * + * The c-string is owned by the library and should not be freed + * by the user. If libgit2 is built with thread support, the string + * will be stored in TLS (i.e. one buffer per thread) to allow for + * concurrent calls of the function. + * + * @param oid The oid structure to format + * @return the c-string or NULL on failure + */ +GIT_EXTERN(char *) git_oid_tostr_s(const git_oid *oid); + +/** + * Format a git_oid into a buffer as a hex format c-string. + * + * If the buffer is smaller than the size of a hex-formatted oid string + * plus an additional byte (GIT_OID_SHA_HEXSIZE + 1 for SHA1 or + * GIT_OID_SHA256_HEXSIZE + 1 for SHA256), then the resulting + * oid c-string will be truncated to n-1 characters (but will still be + * NUL-byte terminated). + * + * If there are any input parameter errors (out == NULL, n == 0, oid == + * NULL), then a pointer to an empty string is returned, so that the + * return value can always be printed. + * + * @param out the buffer into which the oid string is output. + * @param n the size of the out buffer. + * @param id the oid structure to format. + * @return the out buffer pointer, assuming no input parameter + * errors, otherwise a pointer to an empty string. + */ +GIT_EXTERN(char *) git_oid_tostr(char *out, size_t n, const git_oid *id); + +/** + * Copy an oid from one structure to another. + * + * @param out oid structure the result is written into. + * @param src oid structure to copy from. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_cpy(git_oid *out, const git_oid *src); + +/** + * Compare two oid structures. + * + * @param a first oid structure. + * @param b second oid structure. + * @return <0, 0, >0 if a < b, a == b, a > b. + */ +GIT_EXTERN(int) git_oid_cmp(const git_oid *a, const git_oid *b); + +/** + * Compare two oid structures for equality + * + * @param a first oid structure. + * @param b second oid structure. + * @return true if equal, false otherwise + */ +GIT_EXTERN(int) git_oid_equal(const git_oid *a, const git_oid *b); + +/** + * Compare the first 'len' hexadecimal characters (packets of 4 bits) + * of two oid structures. + * + * @param a first oid structure. + * @param b second oid structure. + * @param len the number of hex chars to compare + * @return 0 in case of a match + */ +GIT_EXTERN(int) git_oid_ncmp(const git_oid *a, const git_oid *b, size_t len); + +/** + * Check if an oid equals an hex formatted object id. + * + * @param id oid structure. + * @param str input hex string of an object id. + * @return 0 in case of a match, -1 otherwise. + */ +GIT_EXTERN(int) git_oid_streq(const git_oid *id, const char *str); + +/** + * Compare an oid to an hex formatted object id. + * + * @param id oid structure. + * @param str input hex string of an object id. + * @return -1 if str is not valid, <0 if id sorts before str, + * 0 if id matches str, >0 if id sorts after str. + */ +GIT_EXTERN(int) git_oid_strcmp(const git_oid *id, const char *str); + +/** + * Check is an oid is all zeros. + * + * @param id the object ID to check + * @return 1 if all zeros, 0 otherwise. + */ +GIT_EXTERN(int) git_oid_is_zero(const git_oid *id); + +/** + * OID Shortener object + */ +typedef struct git_oid_shorten git_oid_shorten; + +/** + * Create a new OID shortener. + * + * The OID shortener is used to process a list of OIDs + * in text form and return the shortest length that would + * uniquely identify all of them. + * + * E.g. look at the result of `git log --abbrev`. + * + * @param min_length The minimal length for all identifiers, + * which will be used even if shorter OIDs would still + * be unique. + * @return a `git_oid_shorten` instance, NULL if OOM + */ +GIT_EXTERN(git_oid_shorten *) git_oid_shorten_new(size_t min_length); + +/** + * Add a new OID to set of shortened OIDs and calculate + * the minimal length to uniquely identify all the OIDs in + * the set. + * + * The OID is expected to be a 40-char hexadecimal string. + * The OID is owned by the user and will not be modified + * or freed. + * + * For performance reasons, there is a hard-limit of how many + * OIDs can be added to a single set (around ~32000, assuming + * a mostly randomized distribution), which should be enough + * for any kind of program, and keeps the algorithm fast and + * memory-efficient. + * + * Attempting to add more than those OIDs will result in a + * GIT_ERROR_INVALID error + * + * @param os a `git_oid_shorten` instance + * @param text_id an OID in text form + * @return the minimal length to uniquely identify all OIDs + * added so far to the set; or an error code (<0) if an + * error occurs. + */ +GIT_EXTERN(int) git_oid_shorten_add(git_oid_shorten *os, const char *text_id); + +/** + * Free an OID shortener instance + * + * @param os a `git_oid_shorten` instance + */ +GIT_EXTERN(void) git_oid_shorten_free(git_oid_shorten *os); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/oidarray.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/oidarray.h new file mode 100644 index 00000000..e79a5595 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/oidarray.h @@ -0,0 +1,43 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_oidarray_h__ +#define INCLUDE_git_oidarray_h__ + +#include "common.h" +#include "oid.h" + +/** + * @file git2/oidarray.h + * @brief An array of object IDs + * @defgroup git_oidarray Arrays of object IDs + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Array of object ids */ +typedef struct git_oidarray { + git_oid *ids; + size_t count; +} git_oidarray; + +/** + * Free the object IDs contained in an oid_array. This method should + * be called on `git_oidarray` objects that were provided by the + * library. Not doing so will result in a memory leak. + * + * This does not free the `git_oidarray` itself, since the library will + * never allocate that object directly itself. + * + * @param array git_oidarray from which to free oid data + */ +GIT_EXTERN(void) git_oidarray_dispose(git_oidarray *array); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/pack.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/pack.h new file mode 100644 index 00000000..3837e044 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/pack.h @@ -0,0 +1,279 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_pack_h__ +#define INCLUDE_git_pack_h__ + +#include "common.h" +#include "oid.h" +#include "indexer.h" + +/** + * @file git2/pack.h + * @brief Git pack management routines + * + * Packing objects + * --------------- + * + * Creation of packfiles requires two steps: + * + * - First, insert all the objects you want to put into the packfile + * using `git_packbuilder_insert` and `git_packbuilder_insert_tree`. + * It's important to add the objects in recency order ("in the order + * that they are 'reachable' from head"). + * + * "ANY order will give you a working pack, ... [but it is] the thing + * that gives packs good locality. It keeps the objects close to the + * head (whether they are old or new, but they are _reachable_ from the + * head) at the head of the pack. So packs actually have absolutely + * _wonderful_ IO patterns." - Linus Torvalds + * git.git/Documentation/technical/pack-heuristics.txt + * + * - Second, use `git_packbuilder_write` or `git_packbuilder_foreach` to + * write the resulting packfile. + * + * libgit2 will take care of the delta ordering and generation. + * `git_packbuilder_set_threads` can be used to adjust the number of + * threads used for the process. + * + * See tests/pack/packbuilder.c for an example. + * + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Stages that are reported by the packbuilder progress callback. + */ +typedef enum { + GIT_PACKBUILDER_ADDING_OBJECTS = 0, + GIT_PACKBUILDER_DELTAFICATION = 1 +} git_packbuilder_stage_t; + +/** + * Initialize a new packbuilder + * + * @param out The new packbuilder object + * @param repo The repository + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_new(git_packbuilder **out, git_repository *repo); + +/** + * Set number of threads to spawn + * + * By default, libgit2 won't spawn any threads at all; + * when set to 0, libgit2 will autodetect the number of + * CPUs. + * + * @param pb The packbuilder + * @param n Number of threads to spawn + * @return number of actual threads to be used + */ +GIT_EXTERN(unsigned int) git_packbuilder_set_threads(git_packbuilder *pb, unsigned int n); + +/** + * Insert a single object + * + * For an optimal pack it's mandatory to insert objects in recency order, + * commits followed by trees and blobs. + * + * @param pb The packbuilder + * @param id The oid of the commit + * @param name The name; might be NULL + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert(git_packbuilder *pb, const git_oid *id, const char *name); + +/** + * Insert a root tree object + * + * This will add the tree as well as all referenced trees and blobs. + * + * @param pb The packbuilder + * @param id The oid of the root tree + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_tree(git_packbuilder *pb, const git_oid *id); + +/** + * Insert a commit object + * + * This will add a commit as well as the completed referenced tree. + * + * @param pb The packbuilder + * @param id The oid of the commit + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_commit(git_packbuilder *pb, const git_oid *id); + +/** + * Insert objects as given by the walk + * + * Those commits and all objects they reference will be inserted into + * the packbuilder. + * + * @param pb the packbuilder + * @param walk the revwalk to use to fill the packbuilder + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_walk(git_packbuilder *pb, git_revwalk *walk); + +/** + * Recursively insert an object and its referenced objects + * + * Insert the object as well as any object it references. + * + * @param pb the packbuilder + * @param id the id of the root object to insert + * @param name optional name for the object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_recur(git_packbuilder *pb, const git_oid *id, const char *name); + +/** + * Write the contents of the packfile to an in-memory buffer + * + * The contents of the buffer will become a valid packfile, even though there + * will be no attached index + * + * @param buf Buffer where to write the packfile + * @param pb The packbuilder + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_write_buf(git_buf *buf, git_packbuilder *pb); + +/** + * Write the new pack and corresponding index file to path. + * + * @param pb The packbuilder + * @param path Path to the directory where the packfile and index should be stored, or NULL for default location + * @param mode permissions to use creating a packfile or 0 for defaults + * @param progress_cb function to call with progress information from the indexer (optional) + * @param progress_cb_payload payload for the progress callback (optional) + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_write( + git_packbuilder *pb, + const char *path, + unsigned int mode, + git_indexer_progress_cb progress_cb, + void *progress_cb_payload); + +#ifndef GIT_DEPRECATE_HARD +/** + * Get the packfile's hash + * + * A packfile's name is derived from the sorted hashing of all object + * names. This is only correct after the packfile has been written. + * + * @deprecated use git_packbuilder_name + * @param pb The packbuilder object + * @return 0 or an error code + */ +GIT_EXTERN(const git_oid *) git_packbuilder_hash(git_packbuilder *pb); +#endif + +/** + * Get the unique name for the resulting packfile. + * + * The packfile's name is derived from the packfile's content. + * This is only correct after the packfile has been written. + * + * @param pb the packbuilder instance + * @return a NUL terminated string for the packfile name + */ +GIT_EXTERN(const char *) git_packbuilder_name(git_packbuilder *pb); + +/** + * Callback used to iterate over packed objects + * + * @see git_packbuilder_foreach + * + * @param buf A pointer to the object's data + * @param size The size of the underlying object + * @param payload Payload passed to git_packbuilder_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_packbuilder_foreach_cb)(void *buf, size_t size, void *payload); + +/** + * Create the new pack and pass each object to the callback + * + * @param pb the packbuilder + * @param cb the callback to call with each packed object's buffer + * @param payload the callback's data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_foreach(git_packbuilder *pb, git_packbuilder_foreach_cb cb, void *payload); + +/** + * Get the total number of objects the packbuilder will write out + * + * @param pb the packbuilder + * @return the number of objects in the packfile + */ +GIT_EXTERN(size_t) git_packbuilder_object_count(git_packbuilder *pb); + +/** + * Get the number of objects the packbuilder has already written out + * + * @param pb the packbuilder + * @return the number of objects which have already been written + */ +GIT_EXTERN(size_t) git_packbuilder_written(git_packbuilder *pb); + +/** + * Packbuilder progress notification function. + * + * @param stage the stage of the packbuilder + * @param current the current object + * @param total the total number of objects + * @param payload the callback payload + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_packbuilder_progress)( + int stage, + uint32_t current, + uint32_t total, + void *payload); + +/** + * Set the callbacks for a packbuilder + * + * @param pb The packbuilder object + * @param progress_cb Function to call with progress information during + * pack building. Be aware that this is called inline with pack building + * operations, so performance may be affected. + * When progress_cb returns an error, the pack building process will be + * aborted and the error will be returned from the invoked function. + * `pb` must then be freed. + * @param progress_cb_payload Payload for progress callback. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_set_callbacks( + git_packbuilder *pb, + git_packbuilder_progress progress_cb, + void *progress_cb_payload); + +/** + * Free the packbuilder and all associated data + * + * @param pb The packbuilder + */ +GIT_EXTERN(void) git_packbuilder_free(git_packbuilder *pb); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/patch.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/patch.h new file mode 100644 index 00000000..78248215 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/patch.h @@ -0,0 +1,289 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_patch_h__ +#define INCLUDE_git_patch_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "diff.h" + +/** + * @file git2/patch.h + * @brief Patches store the textual diffs in a delta + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The diff patch is used to store all the text diffs for a delta. + * + * You can easily loop over the content of patches and get information about + * them. + */ +typedef struct git_patch git_patch; + +/** + * Get the repository associated with this patch. May be NULL. + * + * @param patch the patch + * @return a pointer to the repository + */ +GIT_EXTERN(git_repository *) git_patch_owner(const git_patch *patch); + +/** + * Return a patch for an entry in the diff list. + * + * The `git_patch` is a newly created object contains the text diffs + * for the delta. You have to call `git_patch_free()` when you are + * done with it. You can use the patch object to loop over all the hunks + * and lines in the diff of the one delta. + * + * For an unchanged file or a binary file, no `git_patch` will be + * created, the output will be set to NULL, and the `binary` flag will be + * set true in the `git_diff_delta` structure. + * + * It is okay to pass NULL for either of the output parameters; if you pass + * NULL for the `git_patch`, then the text diff will not be calculated. + * + * @param out Output parameter for the delta patch object + * @param diff Diff list object + * @param idx Index into diff list + * @return 0 on success, other value < 0 on error + */ +GIT_EXTERN(int) git_patch_from_diff( + git_patch **out, git_diff *diff, size_t idx); + +/** + * Directly generate a patch from the difference between two blobs. + * + * This is just like `git_diff_blobs()` 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. + * + * @param out The generated patch; NULL on error + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param new_blob Blob for new side of diff, or NULL for empty blob + * @param new_as_path Treat new blob as if it had this filename; can be NULL + * @param opts Options for diff, or NULL for default options + * @return 0 on success or error code < 0 + */ +GIT_EXTERN(int) git_patch_from_blobs( + git_patch **out, + const git_blob *old_blob, + const char *old_as_path, + const git_blob *new_blob, + const char *new_as_path, + const git_diff_options *opts); + +/** + * Directly generate a patch from the difference between a blob and a buffer. + * + * This is just like `git_diff_blob_to_buffer()` 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. + * + * @param out The generated patch; NULL on error + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param buffer Raw data for new side of diff, or NULL for empty + * @param buffer_len Length of raw data for new side of diff + * @param buffer_as_path Treat buffer as if it had this filename; can be NULL + * @param opts Options for diff, or NULL for default options + * @return 0 on success or error code < 0 + */ +GIT_EXTERN(int) git_patch_from_blob_and_buffer( + git_patch **out, + const git_blob *old_blob, + const char *old_as_path, + const void *buffer, + size_t buffer_len, + const char *buffer_as_path, + const git_diff_options *opts); + +/** + * Directly generate a patch from the difference between two buffers. + * + * 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. + * + * @param out The generated patch; NULL on error + * @param old_buffer Raw data for old side of diff, or NULL for empty + * @param old_len Length of the raw data for old side of the diff + * @param old_as_path Treat old buffer as if it had this filename; can be NULL + * @param new_buffer Raw data for new side of diff, or NULL for empty + * @param new_len Length of raw data for new side of diff + * @param new_as_path Treat buffer as if it had this filename; can be NULL + * @param opts Options for diff, or NULL for default options + * @return 0 on success or error code < 0 + */ +GIT_EXTERN(int) git_patch_from_buffers( + git_patch **out, + const void *old_buffer, + size_t old_len, + const char *old_as_path, + const void *new_buffer, + size_t new_len, + const char *new_as_path, + const git_diff_options *opts); + +/** + * Free a git_patch object. + * + * @param patch The patch to free. + */ +GIT_EXTERN(void) git_patch_free(git_patch *patch); + +/** + * Get the delta associated with a patch. This delta points to internal + * data and you do not have to release it when you are done with it. + * + * @param patch The patch in which to get the delta. + * @return The delta associated with the patch. + */ +GIT_EXTERN(const git_diff_delta *) git_patch_get_delta(const git_patch *patch); + +/** + * Get the number of hunks in a patch + * + * @param patch The patch in which to get the number of hunks. + * @return The number of hunks of the patch. + */ +GIT_EXTERN(size_t) git_patch_num_hunks(const git_patch *patch); + +/** + * Get line counts of each type in a patch. + * + * This helps imitate a diff --numstat type of output. For that purpose, + * you only need the `total_additions` and `total_deletions` values, but we + * include the `total_context` line count in case you want the total number + * of lines of diff output that will be generated. + * + * All outputs are optional. Pass NULL if you don't need a particular count. + * + * @param total_context Count of context lines in output, can be NULL. + * @param total_additions Count of addition lines in output, can be NULL. + * @param total_deletions Count of deletion lines in output, can be NULL. + * @param patch The git_patch object + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_patch_line_stats( + size_t *total_context, + size_t *total_additions, + size_t *total_deletions, + const git_patch *patch); + +/** + * Get the information about a hunk in a patch + * + * Given a patch and a hunk index into the patch, this returns detailed + * information about that hunk. Any of the output pointers can be passed + * as NULL if you don't care about that particular piece of information. + * + * @param out Output pointer to git_diff_hunk of hunk + * @param lines_in_hunk Output count of total lines in this hunk + * @param patch Input pointer to patch object + * @param hunk_idx Input index of hunk to get information about + * @return 0 on success, GIT_ENOTFOUND if hunk_idx out of range, <0 on error + */ +GIT_EXTERN(int) git_patch_get_hunk( + const git_diff_hunk **out, + size_t *lines_in_hunk, + git_patch *patch, + size_t hunk_idx); + +/** + * Get the number of lines in a hunk. + * + * @param patch The git_patch object + * @param hunk_idx Index of the hunk + * @return Number of lines in hunk or GIT_ENOTFOUND if invalid hunk index + */ +GIT_EXTERN(int) git_patch_num_lines_in_hunk( + const git_patch *patch, + size_t hunk_idx); + +/** + * Get data about a line in a hunk of a patch. + * + * Given a patch, a hunk index, and a line index in the hunk, this + * will return a lot of details about that line. If you pass a hunk + * index larger than the number of hunks or a line index larger than + * the number of lines in the hunk, this will return -1. + * + * @param out The git_diff_line data for this line + * @param patch The patch to look in + * @param hunk_idx The index of the hunk + * @param line_of_hunk The index of the line in the hunk + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_patch_get_line_in_hunk( + const git_diff_line **out, + git_patch *patch, + size_t hunk_idx, + size_t line_of_hunk); + +/** + * Look up size of patch diff data in bytes + * + * This returns the raw size of the patch data. This only includes the + * actual data from the lines of the diff, not the file or hunk headers. + * + * If you pass `include_context` as true (non-zero), this will be the size + * of all of the diff output; if you pass it as false (zero), this will + * only include the actual changed lines (as if `context_lines` was 0). + * + * @param patch A git_patch representing changes to one file + * @param include_context Include context lines in size if non-zero + * @param include_hunk_headers Include hunk header lines if non-zero + * @param include_file_headers Include file header lines if non-zero + * @return The number of bytes of data + */ +GIT_EXTERN(size_t) git_patch_size( + git_patch *patch, + int include_context, + int include_hunk_headers, + int include_file_headers); + +/** + * Serialize the patch to text via callback. + * + * Returning a non-zero value from the callback will terminate the iteration + * and return that value to the caller. + * + * @param patch A git_patch representing changes to one file + * @param print_cb Callback function to output lines of the patch. Will be + * called for file headers, hunk headers, and diff lines. + * @param payload Reference pointer that will be passed to your callbacks. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_patch_print( + git_patch *patch, + git_diff_line_cb print_cb, + void *payload); + +/** + * Get the content of a patch as a single diff text. + * + * @param out The git_buf to be filled in + * @param patch A git_patch representing changes to one file + * @return 0 on success, <0 on failure. + */ +GIT_EXTERN(int) git_patch_to_buf( + git_buf *out, + git_patch *patch); + +/**@}*/ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/pathspec.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/pathspec.h new file mode 100644 index 00000000..6f6918cd --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/pathspec.h @@ -0,0 +1,289 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_pathspec_h__ +#define INCLUDE_git_pathspec_h__ + +#include "common.h" +#include "types.h" +#include "strarray.h" +#include "diff.h" + +/** + * @file git2/pathspec.h + * @brief Specifiers for path matching + * @defgroup git_pathspec Specifiers for path matching + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Compiled pathspec + */ +typedef struct git_pathspec git_pathspec; + +/** + * List of filenames matching a pathspec + */ +typedef struct git_pathspec_match_list git_pathspec_match_list; + +/** + * Options controlling how pathspec match should be executed + */ +typedef enum { + GIT_PATHSPEC_DEFAULT = 0, + + /** + * GIT_PATHSPEC_IGNORE_CASE forces match to ignore case; otherwise + * match will use native case sensitivity of platform filesystem + */ + GIT_PATHSPEC_IGNORE_CASE = (1u << 0), + + /** + * GIT_PATHSPEC_USE_CASE forces case sensitive match; otherwise + * match will use native case sensitivity of platform filesystem + */ + GIT_PATHSPEC_USE_CASE = (1u << 1), + + /** + * GIT_PATHSPEC_NO_GLOB disables glob patterns and just uses simple + * string comparison for matching + */ + GIT_PATHSPEC_NO_GLOB = (1u << 2), + + /** + * GIT_PATHSPEC_NO_MATCH_ERROR means the match functions return error + * code GIT_ENOTFOUND if no matches are found; otherwise no matches is + * still success (return 0) but `git_pathspec_match_list_entrycount` + * will indicate 0 matches. + */ + GIT_PATHSPEC_NO_MATCH_ERROR = (1u << 3), + + /** + * GIT_PATHSPEC_FIND_FAILURES means that the `git_pathspec_match_list` + * should track which patterns matched which files so that at the end of + * the match we can identify patterns that did not match any files. + */ + GIT_PATHSPEC_FIND_FAILURES = (1u << 4), + + /** + * GIT_PATHSPEC_FAILURES_ONLY means that the `git_pathspec_match_list` + * does not need to keep the actual matching filenames. Use this to + * just test if there were any matches at all or in combination with + * GIT_PATHSPEC_FIND_FAILURES to validate a pathspec. + */ + GIT_PATHSPEC_FAILURES_ONLY = (1u << 5) +} git_pathspec_flag_t; + +/** + * Compile a pathspec + * + * @param out Output of the compiled pathspec + * @param pathspec A git_strarray of the paths to match + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_pathspec_new( + git_pathspec **out, const git_strarray *pathspec); + +/** + * Free a pathspec + * + * @param ps The compiled pathspec + */ +GIT_EXTERN(void) git_pathspec_free(git_pathspec *ps); + +/** + * Try to match a path against a pathspec + * + * Unlike most of the other pathspec matching functions, this will not + * fall back on the native case-sensitivity for your platform. You must + * explicitly pass flags to control case sensitivity or else this will + * fall back on being case sensitive. + * + * @param ps The compiled pathspec + * @param flags Combination of git_pathspec_flag_t options to control match + * @param path The pathname to attempt to match + * @return 1 is path matches spec, 0 if it does not + */ +GIT_EXTERN(int) git_pathspec_matches_path( + const git_pathspec *ps, uint32_t flags, const char *path); + +/** + * Match a pathspec against the working directory of a repository. + * + * This matches the pathspec against the current files in the working + * directory of the repository. It is an error to invoke this on a bare + * repo. This handles git ignores (i.e. ignored files will not be + * considered to match the `pathspec` unless the file is tracked in the + * index). + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param repo The repository in which to match; bare repo is an error + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag was given + */ +GIT_EXTERN(int) git_pathspec_match_workdir( + git_pathspec_match_list **out, + git_repository *repo, + uint32_t flags, + git_pathspec *ps); + +/** + * Match a pathspec against entries in an index. + * + * This matches the pathspec against the files in the repository index. + * + * NOTE: At the moment, the case sensitivity of this match is controlled + * by the current case-sensitivity of the index object itself and the + * USE_CASE and IGNORE_CASE flags will have no effect. This behavior will + * be corrected in a future release. + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param index The index to match against + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag is used + */ +GIT_EXTERN(int) git_pathspec_match_index( + git_pathspec_match_list **out, + git_index *index, + uint32_t flags, + git_pathspec *ps); + +/** + * Match a pathspec against files in a tree. + * + * This matches the pathspec against the files in the given tree. + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param tree The root-level tree to match against + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag is used + */ +GIT_EXTERN(int) git_pathspec_match_tree( + git_pathspec_match_list **out, + git_tree *tree, + uint32_t flags, + git_pathspec *ps); + +/** + * Match a pathspec against files in a diff list. + * + * This matches the pathspec against the files in the given diff list. + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param diff A generated diff list + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag is used + */ +GIT_EXTERN(int) git_pathspec_match_diff( + git_pathspec_match_list **out, + git_diff *diff, + uint32_t flags, + git_pathspec *ps); + +/** + * Free memory associates with a git_pathspec_match_list + * + * @param m The git_pathspec_match_list to be freed + */ +GIT_EXTERN(void) git_pathspec_match_list_free(git_pathspec_match_list *m); + +/** + * Get the number of items in a match list. + * + * @param m The git_pathspec_match_list object + * @return Number of items in match list + */ +GIT_EXTERN(size_t) git_pathspec_match_list_entrycount( + const git_pathspec_match_list *m); + +/** + * Get a matching filename by position. + * + * This routine cannot be used if the match list was generated by + * `git_pathspec_match_diff`. If so, it will always return NULL. + * + * @param m The git_pathspec_match_list object + * @param pos The index into the list + * @return The filename of the match + */ +GIT_EXTERN(const char *) git_pathspec_match_list_entry( + const git_pathspec_match_list *m, size_t pos); + +/** + * Get a matching diff delta by position. + * + * This routine can only be used if the match list was generated by + * `git_pathspec_match_diff`. Otherwise it will always return NULL. + * + * @param m The git_pathspec_match_list object + * @param pos The index into the list + * @return The filename of the match + */ +GIT_EXTERN(const git_diff_delta *) git_pathspec_match_list_diff_entry( + const git_pathspec_match_list *m, size_t pos); + +/** + * Get the number of pathspec items that did not match. + * + * This will be zero unless you passed GIT_PATHSPEC_FIND_FAILURES when + * generating the git_pathspec_match_list. + * + * @param m The git_pathspec_match_list object + * @return Number of items in original pathspec that had no matches + */ +GIT_EXTERN(size_t) git_pathspec_match_list_failed_entrycount( + const git_pathspec_match_list *m); + +/** + * Get an original pathspec string that had no matches. + * + * This will be return NULL for positions out of range. + * + * @param m The git_pathspec_match_list object + * @param pos The index into the failed items + * @return The pathspec pattern that didn't match anything + */ +GIT_EXTERN(const char *) git_pathspec_match_list_failed_entry( + const git_pathspec_match_list *m, size_t pos); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/proxy.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/proxy.h new file mode 100644 index 00000000..195ab75e --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/proxy.h @@ -0,0 +1,108 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_proxy_h__ +#define INCLUDE_git_proxy_h__ + +#include "common.h" + +#include "cert.h" +#include "credential.h" + +/** + * @file git2/proxy.h + * @brief TLS proxies + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The type of proxy to use. + */ +typedef enum { + /** + * Do not attempt to connect through a proxy + * + * If built against libcurl, it itself may attempt to connect + * to a proxy if the environment variables specify it. + */ + GIT_PROXY_NONE, + /** + * Try to auto-detect the proxy from the git configuration. + */ + GIT_PROXY_AUTO, + /** + * Connect via the URL given in the options + */ + GIT_PROXY_SPECIFIED +} git_proxy_t; + +/** + * Options for connecting through a proxy + * + * Note that not all types may be supported, depending on the platform + * and compilation options. + */ +typedef struct { + unsigned int version; + + /** + * The type of proxy to use, by URL, auto-detect. + */ + git_proxy_t type; + + /** + * The URL of the proxy. + */ + const char *url; + + /** + * This will be called if the remote host requires + * authentication in order to connect to it. + * + * Returning GIT_PASSTHROUGH will make libgit2 behave as + * though this field isn't set. + */ + git_credential_acquire_cb credentials; + + /** + * If cert verification fails, this will be called to let the + * user make the final decision of whether to allow the + * connection to proceed. Returns 0 to allow the connection + * or a negative value to indicate an error. + */ + git_transport_certificate_check_cb certificate_check; + + /** + * Payload to be provided to the credentials and certificate + * check callbacks. + */ + void *payload; +} git_proxy_options; + +/** Current version for the `git_proxy_options` structure */ +#define GIT_PROXY_OPTIONS_VERSION 1 + +/** Static constructor for `git_proxy_options` */ +#define GIT_PROXY_OPTIONS_INIT {GIT_PROXY_OPTIONS_VERSION} + +/** + * Initialize git_proxy_options structure + * + * Initializes a `git_proxy_options` with default values. Equivalent to + * creating an instance with `GIT_PROXY_OPTIONS_INIT`. + * + * @param opts The `git_proxy_options` struct to initialize. + * @param version The struct version; pass `GIT_PROXY_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_proxy_options_init(git_proxy_options *opts, unsigned int version); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/rebase.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/rebase.h new file mode 100644 index 00000000..3fb3e573 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/rebase.h @@ -0,0 +1,402 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_rebase_h__ +#define INCLUDE_git_rebase_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "annotated_commit.h" +#include "merge.h" +#include "checkout.h" +#include "commit.h" + +/** + * @file git2/rebase.h + * @brief Rebase manipulates commits, placing them on a new parent + * @defgroup git_rebase Rebase manipulates commits, placing them on a new parent + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Rebase options + * + * Use to tell the rebase machinery how to operate. + */ +typedef struct { + unsigned int version; + + /** + * Used by `git_rebase_init`, this will instruct other clients working + * on this rebase that you want a quiet rebase experience, which they + * may choose to provide in an application-specific manner. This has no + * effect upon libgit2 directly, but is provided for interoperability + * between Git tools. + */ + int quiet; + + /** + * Used by `git_rebase_init`, this will begin an in-memory rebase, + * which will allow callers to step through the rebase operations and + * commit the rebased changes, but will not rewind HEAD or update the + * repository to be in a rebasing state. This will not interfere with + * the working directory (if there is one). + */ + int inmemory; + + /** + * Used by `git_rebase_finish`, this is the name of the notes reference + * used to rewrite notes for rebased commits when finishing the rebase; + * if NULL, the contents of the configuration option `notes.rewriteRef` + * is examined, unless the configuration option `notes.rewrite.rebase` + * is set to false. If `notes.rewriteRef` is also NULL, notes will + * not be rewritten. + */ + const char *rewrite_notes_ref; + + /** + * Options to control how trees are merged during `git_rebase_next`. + */ + git_merge_options merge_options; + + /** + * Options to control how files are written during `git_rebase_init`, + * `git_rebase_next` and `git_rebase_abort`. Note that during + * `abort`, these options will add an implied `GIT_CHECKOUT_FORCE` + * to match git semantics. + */ + git_checkout_options checkout_options; + + /** + * Optional callback that allows users to override commit + * creation in `git_rebase_commit`. If specified, users can + * create their own commit and provide the commit ID, which + * may be useful for signing commits or otherwise customizing + * the commit creation. + * + * If this callback returns `GIT_PASSTHROUGH`, then + * `git_rebase_commit` will continue to create the commit. + */ + git_commit_create_cb commit_create_cb; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + /** + * If provided, this will be called with the commit content, allowing + * a signature to be added to the rebase commit. Can be skipped with + * GIT_PASSTHROUGH. If GIT_PASSTHROUGH is returned, a commit will be made + * without a signature. + * + * This field is only used when performing git_rebase_commit. + * + * This callback is not invoked if a `git_commit_create_cb` is + * specified. + * + * This callback is deprecated; users should provide a + * creation callback as `commit_create_cb` that produces a + * commit buffer, signs it, and commits it. + */ + int (*signing_cb)(git_buf *, git_buf *, const char *, void *); +#endif + + /** + * This will be passed to each of the callbacks in this struct + * as the last parameter. + */ + void *payload; +} git_rebase_options; + +/** + * Type of rebase operation in-progress after calling `git_rebase_next`. + */ +typedef enum { + /** + * The given commit is to be cherry-picked. The client should commit + * the changes and continue if there are no conflicts. + */ + GIT_REBASE_OPERATION_PICK = 0, + + /** + * The given commit is to be cherry-picked, but the client should prompt + * the user to provide an updated commit message. + */ + GIT_REBASE_OPERATION_REWORD, + + /** + * The given commit is to be cherry-picked, but the client should stop + * to allow the user to edit the changes before committing them. + */ + GIT_REBASE_OPERATION_EDIT, + + /** + * The given commit is to be squashed into the previous commit. The + * commit message will be merged with the previous message. + */ + GIT_REBASE_OPERATION_SQUASH, + + /** + * The given commit is to be squashed into the previous commit. The + * commit message from this commit will be discarded. + */ + GIT_REBASE_OPERATION_FIXUP, + + /** + * No commit will be cherry-picked. The client should run the given + * command and (if successful) continue. + */ + GIT_REBASE_OPERATION_EXEC +} git_rebase_operation_t; + +/** Current version for the `git_rebase_options` structure */ +#define GIT_REBASE_OPTIONS_VERSION 1 + +/** Static constructor for `git_rebase_options` */ +#define GIT_REBASE_OPTIONS_INIT \ + { GIT_REBASE_OPTIONS_VERSION, 0, 0, NULL, GIT_MERGE_OPTIONS_INIT, \ + GIT_CHECKOUT_OPTIONS_INIT, NULL, NULL } + +/** Indicates that a rebase operation is not (yet) in progress. */ +#define GIT_REBASE_NO_OPERATION SIZE_MAX + +/** + * A rebase operation + * + * Describes a single instruction/operation to be performed during the + * rebase. + */ +typedef struct { + /** The type of rebase operation. */ + git_rebase_operation_t type; + + /** + * The commit ID being cherry-picked. This will be populated for + * all operations except those of type `GIT_REBASE_OPERATION_EXEC`. + */ + const git_oid id; + + /** + * The executable the user has requested be run. This will only + * be populated for operations of type `GIT_REBASE_OPERATION_EXEC`. + */ + const char *exec; +} git_rebase_operation; + +/** + * Initialize git_rebase_options structure + * + * Initializes a `git_rebase_options` with default values. Equivalent to + * creating an instance with `GIT_REBASE_OPTIONS_INIT`. + * + * @param opts The `git_rebase_options` struct to initialize. + * @param version The struct version; pass `GIT_REBASE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_options_init( + git_rebase_options *opts, + unsigned int version); + +/** + * Initializes a rebase operation to rebase the changes in `branch` + * relative to `upstream` onto another branch. To begin the rebase + * process, call `git_rebase_next`. When you have finished with this + * object, call `git_rebase_free`. + * + * @param out Pointer to store the rebase object + * @param repo The repository to perform the rebase + * @param branch The terminal commit to rebase, or NULL to rebase the + * current branch + * @param upstream The commit to begin rebasing from, or NULL to rebase all + * reachable commits + * @param onto The branch to rebase onto, or NULL to rebase onto the given + * upstream + * @param opts Options to specify how rebase is performed, or NULL + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_init( + git_rebase **out, + git_repository *repo, + const git_annotated_commit *branch, + const git_annotated_commit *upstream, + const git_annotated_commit *onto, + const git_rebase_options *opts); + +/** + * Opens an existing rebase that was previously started by either an + * invocation of `git_rebase_init` or by another client. + * + * @param out Pointer to store the rebase object + * @param repo The repository that has a rebase in-progress + * @param opts Options to specify how rebase is performed + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_open( + git_rebase **out, + git_repository *repo, + const git_rebase_options *opts); + +/** + * Gets the original `HEAD` ref name for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The original `HEAD` ref name + */ +GIT_EXTERN(const char *) git_rebase_orig_head_name(git_rebase *rebase); + +/** + * Gets the original `HEAD` id for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The original `HEAD` id + */ +GIT_EXTERN(const git_oid *) git_rebase_orig_head_id(git_rebase *rebase); + +/** + * Gets the `onto` ref name for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The `onto` ref name + */ +GIT_EXTERN(const char *) git_rebase_onto_name(git_rebase *rebase); + +/** + * Gets the `onto` id for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The `onto` id + */ +GIT_EXTERN(const git_oid *) git_rebase_onto_id(git_rebase *rebase); + +/** + * Gets the count of rebase operations that are to be applied. + * + * @param rebase The in-progress rebase + * @return The number of rebase operations in total + */ +GIT_EXTERN(size_t) git_rebase_operation_entrycount(git_rebase *rebase); + +/** + * Gets the index of the rebase operation that is currently being applied. + * If the first operation has not yet been applied (because you have + * called `init` but not yet `next`) then this returns + * `GIT_REBASE_NO_OPERATION`. + * + * @param rebase The in-progress rebase + * @return The index of the rebase operation currently being applied. + */ +GIT_EXTERN(size_t) git_rebase_operation_current(git_rebase *rebase); + +/** + * Gets the rebase operation specified by the given index. + * + * @param rebase The in-progress rebase + * @param idx The index of the rebase operation to retrieve + * @return The rebase operation or NULL if `idx` was out of bounds + */ +GIT_EXTERN(git_rebase_operation *) git_rebase_operation_byindex( + git_rebase *rebase, + size_t idx); + +/** + * Performs the next rebase operation and returns the information about it. + * If the operation is one that applies a patch (which is any operation except + * GIT_REBASE_OPERATION_EXEC) then the patch will be applied and the index and + * working directory will be updated with the changes. If there are conflicts, + * you will need to address those before committing the changes. + * + * @param operation Pointer to store the rebase operation that is to be performed next + * @param rebase The rebase in progress + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_next( + git_rebase_operation **operation, + git_rebase *rebase); + +/** + * Gets the index produced by the last operation, which is the result + * of `git_rebase_next` and which will be committed by the next + * invocation of `git_rebase_commit`. This is useful for resolving + * conflicts in an in-memory rebase before committing them. You must + * call `git_index_free` when you are finished with this. + * + * This is only applicable for in-memory rebases; for rebases within + * a working directory, the changes were applied to the repository's + * index. + * + * @param index The result index of the last operation. + * @param rebase The in-progress rebase. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_rebase_inmemory_index( + git_index **index, + git_rebase *rebase); + +/** + * Commits the current patch. You must have resolved any conflicts that + * were introduced during the patch application from the `git_rebase_next` + * invocation. + * + * @param id Pointer in which to store the OID of the newly created commit + * @param rebase The rebase that is in-progress + * @param author The author of the updated commit, or NULL to keep the + * author from the original commit + * @param committer The committer of the rebase + * @param message_encoding The encoding for the message in the commit, + * represented with a standard encoding name. If message is NULL, + * this should also be NULL, and the encoding from the original + * commit will be maintained. If message is specified, this may be + * NULL to indicate that "UTF-8" is to be used. + * @param message The message for this commit, or NULL to use the message + * from the original commit. + * @return Zero on success, GIT_EUNMERGED if there are unmerged changes in + * the index, GIT_EAPPLIED if the current commit has already + * been applied to the upstream and there is nothing to commit, + * -1 on failure. + */ +GIT_EXTERN(int) git_rebase_commit( + git_oid *id, + git_rebase *rebase, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message); + +/** + * Aborts a rebase that is currently in progress, resetting the repository + * and working directory to their state before rebase began. + * + * @param rebase The rebase that is in-progress + * @return Zero on success; GIT_ENOTFOUND if a rebase is not in progress, + * -1 on other errors. + */ +GIT_EXTERN(int) git_rebase_abort(git_rebase *rebase); + +/** + * Finishes a rebase that is currently in progress once all patches have + * been applied. + * + * @param rebase The rebase that is in-progress + * @param signature The identity that is finishing the rebase (optional) + * @return Zero on success; -1 on error + */ +GIT_EXTERN(int) git_rebase_finish( + git_rebase *rebase, + const git_signature *signature); + +/** + * Frees the `git_rebase` object. + * + * @param rebase The rebase object + */ +GIT_EXTERN(void) git_rebase_free(git_rebase *rebase); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refdb.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refdb.h new file mode 100644 index 00000000..536ef10d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refdb.h @@ -0,0 +1,71 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refdb_h__ +#define INCLUDE_git_refdb_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "refs.h" + +/** + * @file git2/refdb.h + * @brief A database for references (branches and tags) + * @defgroup git_refdb A database for references (branches and tags) + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new reference database with no backends. + * + * Before the Ref DB can be used for read/writing, a custom database + * backend must be manually set using `git_refdb_set_backend()` + * + * @param out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_refdb_new(git_refdb **out, git_repository *repo); + +/** + * Create a new reference database and automatically add + * the default backends: + * + * - git_refdb_dir: read and write loose and packed refs + * from disk, assuming the repository dir as the folder + * + * @param out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_refdb_open(git_refdb **out, git_repository *repo); + +/** + * Suggests that the given refdb compress or optimize its references. + * This mechanism is implementation specific. For on-disk reference + * databases, for example, this may pack all loose references. + * + * @param refdb The reference database to optimize. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_refdb_compress(git_refdb *refdb); + +/** + * Close an open reference database. + * + * @param refdb reference database pointer or NULL + */ +GIT_EXTERN(void) git_refdb_free(git_refdb *refdb); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/reflog.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/reflog.h new file mode 100644 index 00000000..a0956c63 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/reflog.h @@ -0,0 +1,171 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_reflog_h__ +#define INCLUDE_git_reflog_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/reflog.h + * @brief Reference logs store how references change + * @defgroup git_reflog Reference logs store how references change + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Read the reflog for the given reference + * + * If there is no reflog file for the given + * reference yet, an empty reflog object will + * be returned. + * + * The reflog must be freed manually by using + * git_reflog_free(). + * + * @param out pointer to reflog + * @param repo the repository + * @param name reference to look up + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_read(git_reflog **out, git_repository *repo, const char *name); + +/** + * Write an existing in-memory reflog object back to disk + * using an atomic file lock. + * + * @param reflog an existing reflog object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_write(git_reflog *reflog); + +/** + * Add a new entry to the in-memory reflog. + * + * `msg` is optional and can be NULL. + * + * @param reflog an existing reflog object + * @param id the OID the reference is now pointing to + * @param committer the signature of the committer + * @param msg the reflog message + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_append(git_reflog *reflog, const git_oid *id, const git_signature *committer, const char *msg); + +/** + * Rename a reflog + * + * The reflog to be renamed is expected to already exist + * + * The new name will be checked for validity. + * See `git_reference_create_symbolic()` for rules about valid names. + * + * @param repo the repository + * @param old_name the old name of the reference + * @param name the new name of the reference + * @return 0 on success, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reflog_rename(git_repository *repo, const char *old_name, const char *name); + +/** + * Delete the reflog for the given reference + * + * @param repo the repository + * @param name the reflog to delete + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_delete(git_repository *repo, const char *name); + +/** + * Get the number of log entries in a reflog + * + * @param reflog the previously loaded reflog + * @return the number of log entries + */ +GIT_EXTERN(size_t) git_reflog_entrycount(git_reflog *reflog); + +/** + * Lookup an entry by its index + * + * Requesting the reflog entry with an index of 0 (zero) will + * return the most recently created entry. + * + * @param reflog a previously loaded reflog + * @param idx the position of the entry to lookup. Should be greater than or + * equal to 0 (zero) and less than `git_reflog_entrycount()`. + * @return the entry; NULL if not found + */ +GIT_EXTERN(const git_reflog_entry *) git_reflog_entry_byindex(const git_reflog *reflog, size_t idx); + +/** + * Remove an entry from the reflog by its index + * + * To ensure there's no gap in the log history, set `rewrite_previous_entry` + * param value to 1. When deleting entry `n`, member old_oid of entry `n-1` + * (if any) will be updated with the value of member new_oid of entry `n+1`. + * + * @param reflog a previously loaded reflog. + * + * @param idx the position of the entry to remove. Should be greater than or + * equal to 0 (zero) and less than `git_reflog_entrycount()`. + * + * @param rewrite_previous_entry 1 to rewrite the history; 0 otherwise. + * + * @return 0 on success, GIT_ENOTFOUND if the entry doesn't exist + * or an error code. + */ +GIT_EXTERN(int) git_reflog_drop( + git_reflog *reflog, + size_t idx, + int rewrite_previous_entry); + +/** + * Get the old oid + * + * @param entry a reflog entry + * @return the old oid + */ +GIT_EXTERN(const git_oid *) git_reflog_entry_id_old(const git_reflog_entry *entry); + +/** + * Get the new oid + * + * @param entry a reflog entry + * @return the new oid at this time + */ +GIT_EXTERN(const git_oid *) git_reflog_entry_id_new(const git_reflog_entry *entry); + +/** + * Get the committer of this entry + * + * @param entry a reflog entry + * @return the committer + */ +GIT_EXTERN(const git_signature *) git_reflog_entry_committer(const git_reflog_entry *entry); + +/** + * Get the log message + * + * @param entry a reflog entry + * @return the log msg + */ +GIT_EXTERN(const char *) git_reflog_entry_message(const git_reflog_entry *entry); + +/** + * Free the reflog + * + * @param reflog reflog to free + */ +GIT_EXTERN(void) git_reflog_free(git_reflog *reflog); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refs.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refs.h new file mode 100644 index 00000000..d820f2a1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refs.h @@ -0,0 +1,774 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refs_h__ +#define INCLUDE_git_refs_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "strarray.h" + +/** + * @file git2/refs.h + * @brief References point to a commit; generally these are branches and tags + * @defgroup git_reference References point to a commit; generally these are branches and tags + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a reference by name in a repository. + * + * The returned reference must be freed by the user. + * + * The name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param[out] out pointer to the looked-up reference + * @param repo the repository to look up the reference + * @param name the long name for the reference (e.g. HEAD, refs/heads/master, refs/tags/v0.1.0, ...) + * @return 0 on success, GIT_ENOTFOUND, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_reference_lookup(git_reference **out, git_repository *repo, const char *name); + +/** + * Lookup a reference by name and resolve immediately to OID. + * + * This function provides a quick way to resolve a reference name straight + * through to the object id that it refers to. This avoids having to + * allocate or free any `git_reference` objects for simple situations. + * + * The name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param out Pointer to oid to be filled in + * @param repo The repository in which to look up the reference + * @param name The long name for the reference (e.g. HEAD, refs/heads/master, refs/tags/v0.1.0, ...) + * @return 0 on success, GIT_ENOTFOUND, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_reference_name_to_id( + git_oid *out, git_repository *repo, const char *name); + +/** + * Lookup a reference by DWIMing its short name + * + * Apply the git precedence rules to the given shorthand to determine + * which reference the user is referring to. + * + * @param out pointer in which to store the reference + * @param repo the repository in which to look + * @param shorthand the short name for the reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_dwim(git_reference **out, git_repository *repo, const char *shorthand); + +/** + * Conditionally create a new symbolic reference. + * + * A symbolic reference is a reference name that refers to another + * reference name. If the other name moves, the symbolic name will move, + * too. As a simple example, the "HEAD" reference might refer to + * "refs/heads/master" while on the "master" branch of a repository. + * + * The symbolic reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * It will return GIT_EMODIFIED if the reference's value at the time + * of updating does not match the one passed through `current_value` + * (i.e. if the ref has changed since the user read it). + * + * If `current_value` is all zeros, this function will return GIT_EMODIFIED + * if the ref already exists. + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param target The target of the reference + * @param force Overwrite existing references + * @param current_value The expected value of the reference when updating + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC, GIT_EMODIFIED or an error code + */ +GIT_EXTERN(int) git_reference_symbolic_create_matching(git_reference **out, git_repository *repo, const char *name, const char *target, int force, const char *current_value, const char *log_message); + +/** + * Create a new symbolic reference. + * + * A symbolic reference is a reference name that refers to another + * reference name. If the other name moves, the symbolic name will move, + * too. As a simple example, the "HEAD" reference might refer to + * "refs/heads/master" while on the "master" branch of a repository. + * + * The symbolic reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param target The target of the reference + * @param force Overwrite existing references + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_symbolic_create(git_reference **out, git_repository *repo, const char *name, const char *target, int force, const char *log_message); + +/** + * Create a new direct reference. + * + * 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. + * + * The direct reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param id The object id pointed to by the reference. + * @param force Overwrite existing references + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_create(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const char *log_message); + +/** + * Conditionally create new direct reference + * + * 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. + * + * The direct reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * It will return GIT_EMODIFIED if the reference's value at the time + * of updating does not match the one passed through `current_id` + * (i.e. if the ref has changed since the user read it). + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param id The object id pointed to by the reference. + * @param force Overwrite existing references + * @param current_id The expected value of the reference at the time of update + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EMODIFIED if the value of the reference + * has changed, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_create_matching(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const git_oid *current_id, const char *log_message); + +/** + * Get the OID pointed to by a direct reference. + * + * Only available if the reference is direct (i.e. an object id reference, + * not a symbolic one). + * + * 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). + * + * @param ref The reference + * @return a pointer to the oid if available, NULL otherwise + */ +GIT_EXTERN(const git_oid *) git_reference_target(const git_reference *ref); + +/** + * Return the peeled OID target of this reference. + * + * This peeled OID only applies to direct references that point to + * a hard Tag object: it is the result of peeling such Tag. + * + * @param ref The reference + * @return a pointer to the oid if available, NULL otherwise + */ +GIT_EXTERN(const git_oid *) git_reference_target_peel(const git_reference *ref); + +/** + * Get full name to the reference pointed to by a symbolic reference. + * + * Only available if the reference is symbolic. + * + * @param ref The reference + * @return a pointer to the name if available, NULL otherwise + */ +GIT_EXTERN(const char *) git_reference_symbolic_target(const git_reference *ref); + +/** + * Get the type of a reference. + * + * Either direct (GIT_REFERENCE_DIRECT) or symbolic (GIT_REFERENCE_SYMBOLIC) + * + * @param ref The reference + * @return the type + */ +GIT_EXTERN(git_reference_t) git_reference_type(const git_reference *ref); + +/** + * Get the full name of a reference. + * + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param ref The reference + * @return the full name for the ref + */ +GIT_EXTERN(const char *) git_reference_name(const git_reference *ref); + +/** + * Resolve a symbolic reference to a direct reference. + * + * This method iteratively peels a symbolic reference until it resolves to + * a direct reference to an OID. + * + * The peeled reference is returned in the `resolved_ref` argument, and + * must be freed manually once it's no longer needed. + * + * If a direct reference is passed as an argument, a copy of that + * reference is returned. This copy must be manually freed too. + * + * @param out Pointer to the peeled reference + * @param ref The reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_resolve(git_reference **out, const git_reference *ref); + +/** + * Get the repository where a reference resides. + * + * @param ref The reference + * @return a pointer to the repo + */ +GIT_EXTERN(git_repository *) git_reference_owner(const git_reference *ref); + +/** + * Create a new reference with the same name as the given reference but a + * different symbolic target. The reference must be a symbolic reference, + * otherwise this will fail. + * + * The new reference will be written to disk, overwriting the given reference. + * + * The target name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * 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. + * + * @param out Pointer to the newly created reference + * @param ref The reference + * @param target The new target for the reference + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_symbolic_set_target( + git_reference **out, + git_reference *ref, + const char *target, + const char *log_message); + +/** + * Conditionally create a new reference with the same name as the given reference but a + * different OID target. The reference must be a direct reference, otherwise + * this will fail. + * + * The new reference will be written to disk, overwriting the given reference. + * + * @param out Pointer to the newly created reference + * @param ref The reference + * @param id The new target OID for the reference + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EMODIFIED if the value of the reference + * has changed since it was read, or an error code + */ +GIT_EXTERN(int) git_reference_set_target( + git_reference **out, + git_reference *ref, + const git_oid *id, + const char *log_message); + +/** + * Rename an existing reference. + * + * This method works for both direct and symbolic references. + * + * The new name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * If the `force` flag is not enabled, and there's already + * a reference with the given name, the renaming will fail. + * + * IMPORTANT: + * The user needs to write a proper reflog entry if the + * reflog is enabled for the repository. We only rename + * the reflog if it exists. + * + * @param[out] new_ref The new reference + * @param ref The reference to rename + * @param new_name The new name for the reference + * @param force Overwrite an existing reference + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + * + */ +GIT_EXTERN(int) git_reference_rename( + git_reference **new_ref, + git_reference *ref, + const char *new_name, + int force, + const char *log_message); + +/** + * Delete an existing reference. + * + * This method works for both direct and symbolic references. The reference + * will be immediately removed on disk but the memory will not be freed. + * Callers must call `git_reference_free`. + * + * This function will return an error if the reference has changed + * from the time it was looked up. + * + * @param ref The reference to remove + * @return 0, GIT_EMODIFIED or an error code + */ +GIT_EXTERN(int) git_reference_delete(git_reference *ref); + +/** + * Delete an existing reference by name + * + * This method removes the named reference from the repository without + * looking at its old value. + * + * @param repo The repository to remove the reference from + * @param name The reference to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_remove(git_repository *repo, const char *name); + +/** + * Fill a list with all the references that can be found in a repository. + * + * 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()`. + * + * @param array Pointer to a git_strarray structure where + * the reference names will be stored + * @param repo Repository where to find the refs + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_list(git_strarray *array, git_repository *repo); + +/** + * Callback used to iterate over references + * + * @see git_reference_foreach + * + * @param reference The reference object + * @param payload Payload passed to git_reference_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_reference_foreach_cb)(git_reference *reference, void *payload); + +/** + * Callback used to iterate over reference names + * + * @see git_reference_foreach_name + * + * @param name The reference name + * @param payload Payload passed to git_reference_foreach_name + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_reference_foreach_name_cb)(const char *name, void *payload); + +/** + * Perform a callback on each reference in the repository. + * + * The `callback` function will be called for each reference in the + * repository, receiving the reference object and the `payload` value + * passed to this method. Returning a non-zero value from the callback + * will terminate the iteration. + * + * Note that the callback function is responsible to call `git_reference_free` + * on each reference passed to it. + * + * @param repo Repository where to find the refs + * @param callback Function which will be called for every listed ref + * @param payload Additional data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_reference_foreach( + git_repository *repo, + git_reference_foreach_cb callback, + void *payload); + +/** + * Perform a callback on the fully-qualified name of each reference. + * + * The `callback` function will be called for each reference in the + * repository, receiving the name of the reference and the `payload` value + * passed to this method. Returning a non-zero value from the callback + * will terminate the iteration. + * + * @param repo Repository where to find the refs + * @param callback Function which will be called for every listed ref name + * @param payload Additional data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_reference_foreach_name( + git_repository *repo, + git_reference_foreach_name_cb callback, + void *payload); + +/** + * Create a copy of an existing reference. + * + * Call `git_reference_free` to free the data. + * + * @param dest pointer where to store the copy + * @param source object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_dup(git_reference **dest, git_reference *source); + +/** + * Free the given reference. + * + * @param ref git_reference + */ +GIT_EXTERN(void) git_reference_free(git_reference *ref); + +/** + * Compare two references. + * + * @param ref1 The first git_reference + * @param ref2 The second git_reference + * @return 0 if the same, else a stable but meaningless ordering. + */ +GIT_EXTERN(int) git_reference_cmp( + const git_reference *ref1, + const git_reference *ref2); + +/** + * Create an iterator for the repo's references + * + * @param[out] out pointer in which to store the iterator + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_iterator_new( + git_reference_iterator **out, + git_repository *repo); + +/** + * Create an iterator for the repo's references that match the + * specified glob + * + * @param out pointer in which to store the iterator + * @param repo the repository + * @param glob the glob to match against the reference names + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_iterator_glob_new( + git_reference_iterator **out, + git_repository *repo, + const char *glob); + +/** + * Get the next reference + * + * @param[out] out pointer in which to store the reference + * @param iter the iterator + * @return 0, GIT_ITEROVER if there are no more; or an error code + */ +GIT_EXTERN(int) git_reference_next(git_reference **out, git_reference_iterator *iter); + +/** + * Get the next reference's name + * + * This function is provided for convenience in case only the names + * are interesting as it avoids the allocation of the `git_reference` + * object which `git_reference_next()` needs. + * + * @param out pointer in which to store the string + * @param iter the iterator + * @return 0, GIT_ITEROVER if there are no more; or an error code + */ +GIT_EXTERN(int) git_reference_next_name(const char **out, git_reference_iterator *iter); + +/** + * Free the iterator and its associated resources + * + * @param iter the iterator to free + */ +GIT_EXTERN(void) git_reference_iterator_free(git_reference_iterator *iter); + +/** + * Perform a callback on each reference in the repository whose name + * matches the given pattern. + * + * This function acts like `git_reference_foreach()` with an additional + * pattern match being applied to the reference name before issuing the + * callback function. See that function for more information. + * + * The pattern is matched using fnmatch or "glob" style where a '*' matches + * any sequence of letters, a '?' matches any letter, and square brackets + * can be used to define character ranges (such as "[0-9]" for digits). + * + * @param repo Repository where to find the refs + * @param glob Pattern to match (fnmatch-style) against reference name. + * @param callback Function which will be called for every listed ref + * @param payload Additional data to pass to the callback + * @return 0 on success, GIT_EUSER on non-zero callback, or error code + */ +GIT_EXTERN(int) git_reference_foreach_glob( + git_repository *repo, + const char *glob, + git_reference_foreach_name_cb callback, + void *payload); + +/** + * Check if a reflog exists for the specified reference. + * + * @param repo the repository + * @param refname the reference's name + * @return 0 when no reflog can be found, 1 when it exists; + * otherwise an error code. + */ +GIT_EXTERN(int) git_reference_has_log(git_repository *repo, const char *refname); + +/** + * Ensure there is a reflog for a particular reference. + * + * Make sure that successive updates to the reference will append to + * its log. + * + * @param repo the repository + * @param refname the reference's name + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_reference_ensure_log(git_repository *repo, const char *refname); + +/** + * Check if a reference is a local branch. + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/heads + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_branch(const git_reference *ref); + +/** + * Check if a reference is a remote tracking branch + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/remotes + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_remote(const git_reference *ref); + +/** + * Check if a reference is a tag + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/tags + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_tag(const git_reference *ref); + +/** + * Check if a reference is a note + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/notes + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_note(const git_reference *ref); + +/** + * Normalization options for reference lookup + */ +typedef enum { + /** + * No particular normalization. + */ + GIT_REFERENCE_FORMAT_NORMAL = 0u, + + /** + * Control whether one-level refnames are accepted + * (i.e., refnames that do not contain multiple /-separated + * components). Those are expected to be written only using + * uppercase letters and underscore (FETCH_HEAD, ...) + */ + GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL = (1u << 0), + + /** + * Interpret the provided name as a reference pattern for a + * refspec (as used with remote repositories). If this option + * is enabled, the name is allowed to contain a single * () + * in place of a one full pathname component + * (e.g., foo//bar but not foo/bar). + */ + GIT_REFERENCE_FORMAT_REFSPEC_PATTERN = (1u << 1), + + /** + * Interpret the name as part of a refspec in shorthand form + * so the `ONELEVEL` naming rules aren't enforced and 'master' + * becomes a valid name. + */ + GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND = (1u << 2) +} git_reference_format_t; + +/** + * Normalize reference name and check validity. + * + * This will normalize the reference name by removing any leading slash + * '/' characters and collapsing runs of adjacent slashes between name + * components into a single slash. + * + * Once normalized, if the reference name is valid, it will be returned in + * the user allocated buffer. + * + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param buffer_out User allocated buffer to store normalized name + * @param buffer_size Size of buffer_out + * @param name Reference name to be checked. + * @param flags Flags to constrain name validation rules - see the + * GIT_REFERENCE_FORMAT constants above. + * @return 0 on success, GIT_EBUFS if buffer is too small, GIT_EINVALIDSPEC + * or an error code. + */ +GIT_EXTERN(int) git_reference_normalize_name( + char *buffer_out, + size_t buffer_size, + const char *name, + unsigned int flags); + +/** + * Recursively peel reference until object of the specified type is found. + * + * The retrieved `peeled` object is owned by the repository + * and should be closed with the `git_object_free` method. + * + * If you pass `GIT_OBJECT_ANY` as the target type, then the object + * will be peeled until a non-tag object is met. + * + * @param[out] out Pointer to the peeled git_object + * @param ref The reference to be processed + * @param type The type of the requested object (GIT_OBJECT_COMMIT, + * GIT_OBJECT_TAG, GIT_OBJECT_TREE, GIT_OBJECT_BLOB or GIT_OBJECT_ANY). + * @return 0 on success, GIT_EAMBIGUOUS, GIT_ENOTFOUND or an error code + */ +GIT_EXTERN(int) git_reference_peel( + git_object **out, + const git_reference *ref, + git_object_t type); + +/** + * Ensure the reference name is well-formed. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * @param valid output pointer to set with validity of given reference name + * @param refname name to be checked. + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_reference_name_is_valid(int *valid, const char *refname); + +/** + * Get the reference's short name + * + * This will transform the reference name into a name "human-readable" + * version. If no shortname is appropriate, it will return the full + * name. + * + * The memory is owned by the reference and must not be freed. + * + * @param ref a reference + * @return the human-readable version of the name + */ +GIT_EXTERN(const char *) git_reference_shorthand(const git_reference *ref); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refspec.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refspec.h new file mode 100644 index 00000000..49d5f89f --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/refspec.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refspec_h__ +#define INCLUDE_git_refspec_h__ + +#include "common.h" +#include "types.h" +#include "net.h" +#include "buffer.h" + +/** + * @file git2/refspec.h + * @brief Refspecs map local references to remote references + * @defgroup git_refspec Refspecs map local references to remote references + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Parse a given refspec string + * + * @param refspec a pointer to hold the refspec handle + * @param input the refspec string + * @param is_fetch is this a refspec for a fetch + * @return 0 if the refspec string could be parsed, -1 otherwise + */ +GIT_EXTERN(int) git_refspec_parse(git_refspec **refspec, const char *input, int is_fetch); + +/** + * Free a refspec object which has been created by git_refspec_parse + * + * @param refspec the refspec object + */ +GIT_EXTERN(void) git_refspec_free(git_refspec *refspec); + +/** + * Get the source specifier + * + * @param refspec the refspec + * @return the refspec's source specifier + */ +GIT_EXTERN(const char *) git_refspec_src(const git_refspec *refspec); + +/** + * Get the destination specifier + * + * @param refspec the refspec + * @return the refspec's destination specifier + */ +GIT_EXTERN(const char *) git_refspec_dst(const git_refspec *refspec); + +/** + * Get the refspec's string + * + * @param refspec the refspec + * @return the refspec's original string + */ +GIT_EXTERN(const char *) git_refspec_string(const git_refspec *refspec); + +/** + * Get the force update setting + * + * @param refspec the refspec + * @return 1 if force update has been set, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_force(const git_refspec *refspec); + +/** + * Get the refspec's direction. + * + * @param spec refspec + * @return GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH + */ +GIT_EXTERN(git_direction) git_refspec_direction(const git_refspec *spec); + +/** + * Check if a refspec's source descriptor matches a negative reference + * + * @param refspec the refspec + * @param refname the name of the reference to check + * @return 1 if the refspec matches, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_src_matches_negative(const git_refspec *refspec, const char *refname); + +/** + * Check if a refspec's source descriptor matches a reference + * + * @param refspec the refspec + * @param refname the name of the reference to check + * @return 1 if the refspec matches, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_src_matches(const git_refspec *refspec, const char *refname); + +/** + * Check if a refspec's destination descriptor matches a reference + * + * @param refspec the refspec + * @param refname the name of the reference to check + * @return 1 if the refspec matches, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_dst_matches(const git_refspec *refspec, const char *refname); + +/** + * Transform a reference to its target following the refspec's rules + * + * @param out where to store the target name + * @param spec the refspec + * @param name the name of the reference to transform + * @return 0, GIT_EBUFS or another error + */ +GIT_EXTERN(int) git_refspec_transform(git_buf *out, const git_refspec *spec, const char *name); + +/** + * Transform a target reference to its source reference following the refspec's rules + * + * @param out where to store the source reference name + * @param spec the refspec + * @param name the name of the reference to transform + * @return 0, GIT_EBUFS or another error + */ +GIT_EXTERN(int) git_refspec_rtransform(git_buf *out, const git_refspec *spec, const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/remote.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/remote.h new file mode 100644 index 00000000..149e3d1c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/remote.h @@ -0,0 +1,1251 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_remote_h__ +#define INCLUDE_git_remote_h__ + +#include "common.h" +#include "repository.h" +#include "refspec.h" +#include "net.h" +#include "indexer.h" +#include "strarray.h" +#include "transport.h" +#include "pack.h" +#include "proxy.h" + +/** + * @file git2/remote.h + * @brief Remotes are where local repositories fetch from and push to + * @defgroup git_remote Remotes are where local repositories fetch from and push to + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Add a remote with the default fetch refspec to the repository's configuration. + * + * @param out the resulting remote + * @param repo the repository in which to create the remote + * @param name the remote's name + * @param url the remote's url + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_create( + git_remote **out, + git_repository *repo, + const char *name, + const char *url); + +/** + * Remote redirection settings; whether redirects to another host + * are permitted. By default, git will follow a redirect on the + * initial request (`/info/refs`), but not subsequent requests. + */ +typedef enum { + /** + * Do not follow any off-site redirects at any stage of + * the fetch or push. + */ + GIT_REMOTE_REDIRECT_NONE = (1 << 0), + + /** + * Allow off-site redirects only upon the initial request. + * This is the default. + */ + GIT_REMOTE_REDIRECT_INITIAL = (1 << 1), + + /** + * Allow redirects at any stage in the fetch or push. + */ + GIT_REMOTE_REDIRECT_ALL = (1 << 2) +} git_remote_redirect_t; + +/** + * Remote creation options flags + */ +typedef enum { + /** Ignore the repository apply.insteadOf configuration */ + GIT_REMOTE_CREATE_SKIP_INSTEADOF = (1 << 0), + + /** Don't build a fetchspec from the name if none is set */ + GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC = (1 << 1) +} git_remote_create_flags; + +/** + * How to handle reference updates. + */ +typedef enum { + /* Write the fetch results to FETCH_HEAD. */ + GIT_REMOTE_UPDATE_FETCHHEAD = (1 << 0), + + /* Report unchanged tips in the update_refs callback. */ + GIT_REMOTE_UPDATE_REPORT_UNCHANGED = (1 << 1) +} git_remote_update_flags; + +/** + * Remote creation options structure + * + * Initialize with `GIT_REMOTE_CREATE_OPTIONS_INIT`. Alternatively, you can + * use `git_remote_create_options_init`. + * + */ +typedef struct git_remote_create_options { + unsigned int version; + + /** + * The repository that should own the remote. + * Setting this to NULL results in a detached remote. + */ + git_repository *repository; + + /** + * The remote's name. + * Setting this to NULL results in an in-memory/anonymous remote. + */ + const char *name; + + /** The fetchspec the remote should use. */ + const char *fetchspec; + + /** Additional flags for the remote. See git_remote_create_flags. */ + unsigned int flags; +} git_remote_create_options; + +/** Current version for the `git_remote_create_options` structure */ +#define GIT_REMOTE_CREATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_remote_create_options` */ +#define GIT_REMOTE_CREATE_OPTIONS_INIT {GIT_REMOTE_CREATE_OPTIONS_VERSION} + +/** + * Initialize git_remote_create_options structure + * + * Initializes a `git_remote_create_options` with default values. Equivalent to + * creating an instance with `GIT_REMOTE_CREATE_OPTIONS_INIT`. + * + * @param opts The `git_remote_create_options` struct to initialize. + * @param version The struct version; pass `GIT_REMOTE_CREATE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_remote_create_options_init( + git_remote_create_options *opts, + unsigned int version); + +/** + * Create a remote, with options. + * + * This function allows more fine-grained control over the remote creation. + * + * Passing NULL as the opts argument will result in a detached remote. + * + * @param out the resulting remote + * @param url the remote's url + * @param opts the remote creation options + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_create_with_opts( + git_remote **out, + const char *url, + const git_remote_create_options *opts); + +/** + * Add a remote with the provided fetch refspec (or default if NULL) to the repository's + * configuration. + * + * @param out the resulting remote + * @param repo the repository in which to create the remote + * @param name the remote's name + * @param url the remote's url + * @param fetch the remote fetch value + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_create_with_fetchspec( + git_remote **out, + git_repository *repo, + const char *name, + const char *url, + const char *fetch); + +/** + * Create an anonymous remote + * + * Create a remote with the given url in-memory. You can use this when + * you have a URL instead of a remote's name. + * + * @param out pointer to the new remote objects + * @param repo the associated repository + * @param url the remote repository's URL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_create_anonymous( + git_remote **out, + git_repository *repo, + const char *url); + +/** + * Create a remote without a connected local repo + * + * Create a remote with the given url in-memory. You can use this when + * you have a URL instead of a remote's name. + * + * Contrasted with git_remote_create_anonymous, a detached remote + * will not consider any repo configuration values (such as insteadof url + * substitutions). + * + * @param out pointer to the new remote objects + * @param url the remote repository's URL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_create_detached( + git_remote **out, + const char *url); + +/** + * Get the information for a particular remote + * + * The name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param out pointer to the new remote object + * @param repo the associated repository + * @param name the remote's name + * @return 0, GIT_ENOTFOUND, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_remote_lookup(git_remote **out, git_repository *repo, const char *name); + +/** + * Create a copy of an existing remote. All internal strings are also + * duplicated. Callbacks are not duplicated. + * + * Call `git_remote_free` to free the data. + * + * @param dest pointer where to store the copy + * @param source object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_dup(git_remote **dest, git_remote *source); + +/** + * Get the remote's repository + * + * @param remote the remote + * @return a pointer to the repository + */ +GIT_EXTERN(git_repository *) git_remote_owner(const git_remote *remote); + +/** + * Get the remote's name + * + * @param remote the remote + * @return a pointer to the name or NULL for in-memory remotes + */ +GIT_EXTERN(const char *) git_remote_name(const git_remote *remote); + +/** + * Get the remote's url + * + * 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. + * + * @param remote the remote + * @return a pointer to the url + */ +GIT_EXTERN(const char *) git_remote_url(const git_remote *remote); + +/** + * Get the remote's url for pushing. + * + * 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. + * + * @param remote the remote + * @return a pointer to the url or NULL if no special url for pushing is set + */ +GIT_EXTERN(const char *) git_remote_pushurl(const git_remote *remote); + +/** + * Set the remote's url in the configuration + * + * 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. + * + * @param repo the repository in which to perform the change + * @param remote the remote's name + * @param url the url to set + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_url(git_repository *repo, const char *remote, const char *url); + +/** + * Set the remote's url for pushing in the configuration. + * + * 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. + * + * + * @param repo the repository in which to perform the change + * @param remote the remote's name + * @param url the url to set + * @return 0, or an error code + */ +GIT_EXTERN(int) git_remote_set_pushurl(git_repository *repo, const char *remote, const char *url); + +/** + * Set the url for this particular url instance. The URL in the + * configuration will be ignored, and will not be changed. + * + * @param remote the remote's name + * @param url the url to set + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_instance_url(git_remote *remote, const char *url); + +/** + * Set the push url for this particular url instance. The URL in the + * configuration will be ignored, and will not be changed. + * + * @param remote the remote's name + * @param url the url to set + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_instance_pushurl(git_remote *remote, const char *url); + +/** + * Add a fetch refspec to the remote's configuration + * + * Add the given refspec to the fetch list in the configuration. No + * loaded remote instances will be affected. + * + * @param repo the repository in which to change the configuration + * @param remote the name of the remote to change + * @param refspec the new fetch refspec + * @return 0, GIT_EINVALIDSPEC if refspec is invalid or an error value + */ +GIT_EXTERN(int) git_remote_add_fetch(git_repository *repo, const char *remote, const char *refspec); + +/** + * Get the remote's list of fetch refspecs + * + * The memory is owned by the user and should be freed with + * `git_strarray_free`. + * + * @param array pointer to the array in which to store the strings + * @param remote the remote to query + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_remote_get_fetch_refspecs(git_strarray *array, const git_remote *remote); + +/** + * Add a push refspec to the remote's configuration + * + * Add the given refspec to the push list in the configuration. No + * loaded remote instances will be affected. + * + * @param repo the repository in which to change the configuration + * @param remote the name of the remote to change + * @param refspec the new push refspec + * @return 0, GIT_EINVALIDSPEC if refspec is invalid or an error value + */ +GIT_EXTERN(int) git_remote_add_push(git_repository *repo, const char *remote, const char *refspec); + +/** + * Get the remote's list of push refspecs + * + * The memory is owned by the user and should be freed with + * `git_strarray_free`. + * + * @param array pointer to the array in which to store the strings + * @param remote the remote to query + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_remote_get_push_refspecs(git_strarray *array, const git_remote *remote); + +/** + * Get the number of refspecs for a remote + * + * @param remote the remote + * @return the amount of refspecs configured in this remote + */ +GIT_EXTERN(size_t) git_remote_refspec_count(const git_remote *remote); + +/** + * Get a refspec from the remote + * + * @param remote the remote to query + * @param n the refspec to get + * @return the nth refspec + */ +GIT_EXTERN(const git_refspec *)git_remote_get_refspec(const git_remote *remote, size_t n); + +/** + * Get the remote repository's reference advertisement list + * + * Get the list of references with which the server responds to a new + * connection. + * + * 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. + * + * 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. + * + * @param out pointer to the array + * @param size the number of remote heads + * @param remote the remote + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_remote_ls(const git_remote_head ***out, size_t *size, git_remote *remote); + +/** + * Check whether the remote is connected + * + * Check whether the remote's underlying transport is connected to the + * remote host. + * + * @param remote the remote + * @return 1 if it's connected, 0 otherwise. + */ +GIT_EXTERN(int) git_remote_connected(const git_remote *remote); + +/** + * Cancel the operation + * + * At certain points in its operation, the network code checks whether + * the operation has been cancelled and if so stops the operation. + * + * @param remote the remote + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_remote_stop(git_remote *remote); + +/** + * Disconnect from the remote + * + * Close the connection to the remote. + * + * @param remote the remote to disconnect from + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_remote_disconnect(git_remote *remote); + +/** + * Free the memory associated with a remote + * + * This also disconnects from the remote, if the connection + * has not been closed yet (using git_remote_disconnect). + * + * @param remote the remote to free + */ +GIT_EXTERN(void) git_remote_free(git_remote *remote); + +/** + * Get a list of the configured remotes for a repo + * + * The string array must be freed by the user. + * + * @param out a string array which receives the names of the remotes + * @param repo the repository to query + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_list(git_strarray *out, git_repository *repo); + +/** + * Argument to the completion callback which tells it which operation + * finished. + */ +typedef enum git_remote_completion_t { + GIT_REMOTE_COMPLETION_DOWNLOAD, + GIT_REMOTE_COMPLETION_INDEXING, + GIT_REMOTE_COMPLETION_ERROR +} git_remote_completion_t; + +/** + * Push network progress notification callback. + * + * @param current The number of objects pushed so far + * @param total The total number of objects to push + * @param bytes The number of bytes pushed + * @param payload The user-specified payload callback + * @return 0 or an error code to stop the transfer + */ +typedef int GIT_CALLBACK(git_push_transfer_progress_cb)( + unsigned int current, + unsigned int total, + size_t bytes, + void *payload); + +/** + * Represents an update which will be performed on the remote during push + */ +typedef struct { + /** + * The source name of the reference + */ + char *src_refname; + /** + * The name of the reference to update on the server + */ + char *dst_refname; + /** + * The current target of the reference + */ + git_oid src; + /** + * The new target for the reference + */ + git_oid dst; +} git_push_update; + +/** + * Callback used to inform of upcoming updates. + * + * @param updates an array containing the updates which will be sent + * as commands to the destination. + * @param the remote being pushed /// PATCH + * @param len number of elements in `updates` + * @param payload Payload provided by the caller + * @return 0 or an error code to stop the push + */ +typedef int GIT_CALLBACK(git_push_negotiation)( + git_remote *remote, + const git_push_update **updates, + size_t len, + void *payload); + +/** + * Callback used to inform of the update status from the remote. + * + * Called for each updated reference on push. If `status` is + * not `NULL`, the update was rejected by the remote server + * and `status` contains the reason given. + * + * @param refname refname specifying to the remote ref + * @param status status message sent from the remote + * @param data data provided by the caller + * @return 0 on success, otherwise an error + */ +typedef int GIT_CALLBACK(git_push_update_reference_cb)(const char *refname, const char *status, void *data); + +#ifndef GIT_DEPRECATE_HARD +/** + * Callback to resolve URLs before connecting to remote + * + * If you return GIT_PASSTHROUGH, you don't need to write anything to + * url_resolved. + * + * @param url_resolved The buffer to write the resolved URL to + * @param url The URL to resolve + * @param direction GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH + * @param payload Payload provided by the caller + * @return 0 on success, GIT_PASSTHROUGH or an error + * @deprecated Use `git_remote_set_instance_url` + */ +typedef int GIT_CALLBACK(git_url_resolve_cb)(git_buf *url_resolved, const char *url, int direction, void *payload); +#endif + +/** + * Callback invoked immediately before we attempt to connect to the + * given url. Callers may change the URL before the connection by + * calling `git_remote_set_instance_url` in the callback. + * + * @param remote The remote to be connected + * @param direction GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH + * @param payload Payload provided by the caller + * @return 0 on success, or an error + */ +typedef int GIT_CALLBACK(git_remote_ready_cb)(git_remote *remote, int direction, void *payload); + +/** + * The callback settings structure + * + * Set the callbacks to be called by the remote when informing the user + * about the progress of the network operations. + */ +struct git_remote_callbacks { + unsigned int version; /**< The version */ + + /** + * Textual progress from the remote. Text send over the + * progress side-band will be passed to this function (this is + * the 'counting objects' output). + */ + git_transport_message_cb sideband_progress; + + /** + * Completion is called when different parts of the download + * process are done (currently unused). + */ + int GIT_CALLBACK(completion)(git_remote_completion_t type, + void *data); + + /** + * This will be called if the remote host requires + * authentication in order to connect to it. + * + * Returning GIT_PASSTHROUGH will make libgit2 behave as + * though this field isn't set. + */ + git_credential_acquire_cb credentials; + + /** + * If cert verification fails, this will be called to let the + * user make the final decision of whether to allow the + * connection to proceed. Returns 0 to allow the connection + * or a negative value to indicate an error. + */ + git_transport_certificate_check_cb certificate_check; + + /** + * During the download of new data, this will be regularly + * called with the current count of progress done by the + * indexer. + */ + git_indexer_progress_cb transfer_progress; + +#ifdef GIT_DEPRECATE_HARD + void *reserved_update_tips; +#else + /** + * Deprecated callback for reference updates, callers should + * set `update_refs` instead. This is retained for backward + * compatibility; if you specify both `update_refs` and + * `update_tips`, then only the `update_refs` function will + * be called. + * + * @deprecated the `update_refs` callback in this structure + * should be preferred + */ + int GIT_CALLBACK(update_tips)(const char *refname, + const git_oid *a, const git_oid *b, void *data); +#endif + + /** + * Function to call with progress information during pack + * building. Be aware that this is called inline with pack + * building operations, so performance may be affected. + */ + git_packbuilder_progress pack_progress; + + /** + * Function to call with progress information during the + * upload portion of a push. Be aware that this is called + * inline with pack building operations, so performance may be + * affected. + */ + git_push_transfer_progress_cb push_transfer_progress; + + /** + * See documentation of git_push_update_reference_cb + */ + git_push_update_reference_cb push_update_reference; + + /** + * Called once between the negotiation step and the upload. It + * provides information about what updates will be performed. + */ + git_push_negotiation push_negotiation; + + /** + * Create the transport to use for this operation. Leave NULL + * to auto-detect. + */ + git_transport_cb transport; + + /** + * Callback when the remote is ready to connect. + */ + git_remote_ready_cb remote_ready; + + /** + * This will be passed to each of the callbacks in this struct + * as the last parameter. + */ + void *payload; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + /** + * Resolve URL before connecting to remote. + * The returned URL will be used to connect to the remote instead. + * + * This callback is deprecated; users should use + * git_remote_ready_cb and configure the instance URL instead. + */ + git_url_resolve_cb resolve_url; +#endif + + /** + * Each time a reference is updated locally, this function + * will be called with information about it. This should be + * preferred over the `update_tips` callback in this + * structure. + */ + int GIT_CALLBACK(update_refs)( + const char *refname, + const git_oid *a, + const git_oid *b, + git_refspec *spec, + void *data); +}; + +/** Current version for the `git_remote_callbacks_options` structure */ +#define GIT_REMOTE_CALLBACKS_VERSION 1 + +/** Static constructor for `git_remote_callbacks_options` */ +#define GIT_REMOTE_CALLBACKS_INIT {GIT_REMOTE_CALLBACKS_VERSION} + +/** + * Initializes a `git_remote_callbacks` with default values. Equivalent to + * creating an instance with GIT_REMOTE_CALLBACKS_INIT. + * + * @param opts the `git_remote_callbacks` struct to initialize + * @param version Version of struct; pass `GIT_REMOTE_CALLBACKS_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_remote_init_callbacks( + git_remote_callbacks *opts, + unsigned int version); + +/** Acceptable prune settings when fetching */ +typedef enum { + /** + * Use the setting from the configuration + */ + GIT_FETCH_PRUNE_UNSPECIFIED, + /** + * Force pruning on + */ + GIT_FETCH_PRUNE, + /** + * Force pruning off + */ + GIT_FETCH_NO_PRUNE +} git_fetch_prune_t; + +/** + * Automatic tag following option + * + * Lets us select the --tags option to use. + */ +typedef enum { + /** + * Use the setting from the configuration. + */ + GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED = 0, + /** + * Ask the server for tags pointing to objects we're already + * downloading. + */ + GIT_REMOTE_DOWNLOAD_TAGS_AUTO, + /** + * Don't ask for any tags beyond the refspecs. + */ + GIT_REMOTE_DOWNLOAD_TAGS_NONE, + /** + * Ask for the all the tags. + */ + GIT_REMOTE_DOWNLOAD_TAGS_ALL +} git_remote_autotag_option_t; + +/** Constants for fetch depth (shallowness of fetch). */ +typedef enum { + /** The fetch is "full" (not shallow). This is the default. */ + GIT_FETCH_DEPTH_FULL = 0, + + /** The fetch should "unshallow" and fetch missing data. */ + GIT_FETCH_DEPTH_UNSHALLOW = 2147483647 +} git_fetch_depth_t; + +/** + * Fetch options structure. + * + * Zero out for defaults. Initialize with `GIT_FETCH_OPTIONS_INIT` macro to + * correctly set the `version` field. E.g. + * + * git_fetch_options opts = GIT_FETCH_OPTIONS_INIT; + */ +typedef struct { + int version; + + /** + * Callbacks to use for this fetch operation + */ + git_remote_callbacks callbacks; + + /** + * Whether to perform a prune after the fetch + */ + git_fetch_prune_t prune; + + /** + * How to handle reference updates; see `git_remote_update_flags`. + */ + unsigned int update_fetchhead; + + /** + * Determines how to behave regarding tags on the remote, such + * as auto-downloading tags for objects we're downloading or + * downloading all of them. + * + * The default is to auto-follow tags. + */ + git_remote_autotag_option_t download_tags; + + /** + * Proxy options to use, by default no proxy is used. + */ + git_proxy_options proxy_opts; + + /** + * Depth of the fetch to perform, or `GIT_FETCH_DEPTH_FULL` + * (or `0`) for full history, or `GIT_FETCH_DEPTH_UNSHALLOW` + * to "unshallow" a shallow repository. + * + * The default is full (`GIT_FETCH_DEPTH_FULL` or `0`). + */ + int depth; + + /** + * Whether to allow off-site redirects. If this is not + * specified, the `http.followRedirects` configuration setting + * will be consulted. + */ + git_remote_redirect_t follow_redirects; + + /** + * Extra headers for this fetch operation + */ + git_strarray custom_headers; +} git_fetch_options; + +/** Current version for the `git_fetch_options` structure */ +#define GIT_FETCH_OPTIONS_VERSION 1 + +/** Static constructor for `git_fetch_options` */ +#define GIT_FETCH_OPTIONS_INIT { \ + GIT_FETCH_OPTIONS_VERSION, \ + GIT_REMOTE_CALLBACKS_INIT, \ + GIT_FETCH_PRUNE_UNSPECIFIED, \ + GIT_REMOTE_UPDATE_FETCHHEAD, \ + GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED, \ + GIT_PROXY_OPTIONS_INIT } + +/** + * Initialize git_fetch_options structure + * + * Initializes a `git_fetch_options` with default values. Equivalent to + * creating an instance with `GIT_FETCH_OPTIONS_INIT`. + * + * @param opts The `git_fetch_options` struct to initialize. + * @param version The struct version; pass `GIT_FETCH_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_fetch_options_init( + git_fetch_options *opts, + unsigned int version); + + +/** + * Controls the behavior of a git_push object. + */ +typedef struct { + unsigned int version; + + /** + * If the transport being used to push to the remote requires the creation + * of a pack file, this controls the number of worker threads used by + * the packbuilder when creating that pack file to be sent to the remote. + * + * If set to 0, the packbuilder will auto-detect the number of threads + * to create. The default value is 1. + */ + unsigned int pb_parallelism; + + /** + * Callbacks to use for this push operation + */ + git_remote_callbacks callbacks; + + /** + * Proxy options to use, by default no proxy is used. + */ + git_proxy_options proxy_opts; + + /** + * Whether to allow off-site redirects. If this is not + * specified, the `http.followRedirects` configuration setting + * will be consulted. + */ + git_remote_redirect_t follow_redirects; + + /** + * Extra headers for this push operation + */ + git_strarray custom_headers; + + /** + * "Push options" to deliver to the remote. + */ + git_strarray remote_push_options; +} git_push_options; + +/** Current version for the `git_push_options` structure */ +#define GIT_PUSH_OPTIONS_VERSION 1 + +/** Static constructor for `git_push_options` */ +#define GIT_PUSH_OPTIONS_INIT { GIT_PUSH_OPTIONS_VERSION, 1, GIT_REMOTE_CALLBACKS_INIT, GIT_PROXY_OPTIONS_INIT } + +/** + * Initialize git_push_options structure + * + * Initializes a `git_push_options` with default values. Equivalent to + * creating an instance with `GIT_PUSH_OPTIONS_INIT`. + * + * @param opts The `git_push_options` struct to initialize. + * @param version The struct version; pass `GIT_PUSH_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_push_options_init( + git_push_options *opts, + unsigned int version); + +/** + * Remote creation options structure + * + * Initialize with `GIT_REMOTE_CREATE_OPTIONS_INIT`. Alternatively, you can + * use `git_remote_create_options_init`. + * + */ +typedef struct { + unsigned int version; + + /** Callbacks to use for this connection */ + git_remote_callbacks callbacks; + + /** HTTP Proxy settings */ + git_proxy_options proxy_opts; + + /** + * Whether to allow off-site redirects. If this is not + * specified, the `http.followRedirects` configuration setting + * will be consulted. + */ + git_remote_redirect_t follow_redirects; + + /** Extra HTTP headers to use in this connection */ + git_strarray custom_headers; +} git_remote_connect_options; + +/** Current version for the `git_remote_connect_options` structure */ +#define GIT_REMOTE_CONNECT_OPTIONS_VERSION 1 + +/** Static constructor for `git_remote_connect_options` */ +#define GIT_REMOTE_CONNECT_OPTIONS_INIT { \ + GIT_REMOTE_CONNECT_OPTIONS_VERSION, \ + GIT_REMOTE_CALLBACKS_INIT, \ + GIT_PROXY_OPTIONS_INIT } + +/** + * Initialize git_remote_connect_options structure. + * + * Initializes a `git_remote_connect_options` with default values. + * Equivalent to creating an instance with + * `GIT_REMOTE_CONNECT_OPTIONS_INIT`. + * + * @param opts The `git_remote_connect_options` struct to initialize. + * @param version The struct version; pass `GIT_REMOTE_CONNECT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_remote_connect_options_init( + git_remote_connect_options *opts, + unsigned int version); + +/** + * Open a connection to a remote. + * + * 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. + * + * @param remote the remote to connect to + * @param direction GIT_DIRECTION_FETCH if you want to fetch or + * GIT_DIRECTION_PUSH if you want to push + * @param callbacks the callbacks to use for this connection + * @param proxy_opts proxy settings + * @param custom_headers extra HTTP headers to use in this connection + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_connect( + git_remote *remote, + git_direction direction, + const git_remote_callbacks *callbacks, + const git_proxy_options *proxy_opts, + const git_strarray *custom_headers); + +/** + * Open a connection to a remote with extended options. + * + * 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. + * + * The given options structure will form the defaults for connection + * options and callback setup. Callers may override these defaults + * by specifying `git_fetch_options` or `git_push_options` in + * subsequent calls. + * + * @param remote the remote to connect to + * @param direction GIT_DIRECTION_FETCH if you want to fetch or + * GIT_DIRECTION_PUSH if you want to push + * @param opts the remote connection options + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_connect_ext( + git_remote *remote, + git_direction direction, + const git_remote_connect_options *opts); + +/** + * Download and index the packfile. + * + * Connect to the remote if it hasn't been done yet, negotiate with + * the remote git which objects are missing, download and index the + * packfile. + * + * The .idx file will be created and both it and the packfile with be + * renamed to their final name. + * + * 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. + * + * @param remote the remote + * @param refspecs the refspecs to use for this negotiation and + * download. Use NULL or an empty array to use the base refspecs + * @param opts the options to use for this fetch or NULL + * @return 0 or an error code + */ + GIT_EXTERN(int) git_remote_download( + git_remote *remote, + const git_strarray *refspecs, + const git_fetch_options *opts); + +/** + * Create a packfile and send it to the server + * + * Connect to the remote if it hasn't been done yet, negotiate with + * the remote git which objects are missing, create a packfile with + * the missing objects and send it. + * + * 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. + * + * @param remote the remote + * @param refspecs the refspecs to use for this negotiation and + * upload. Use NULL or an empty array to use the base refspecs + * @param opts the options to use for this push + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_upload( + git_remote *remote, + const git_strarray *refspecs, + const git_push_options *opts); + +/** + * Update the tips to the new state. + * + * If callbacks are not specified then the callbacks specified to + * `git_remote_connect` will be used (if it was called). + * + * @param remote the remote to update + * @param callbacks pointer to the callback structure to use or NULL + * @param update_flags the git_remote_update_flags for these tips. + * @param download_tags what the behaviour for downloading tags is for this fetch. This is + * ignored for push. This must be the same value passed to `git_remote_download()`. + * @param reflog_message The message to insert into the reflogs. If + * NULL and fetching, the default is "fetch ", where is + * the name of the remote (or its url, for in-memory remotes). This + * parameter is ignored when pushing. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_update_tips( + git_remote *remote, + const git_remote_callbacks *callbacks, + unsigned int update_flags, + git_remote_autotag_option_t download_tags, + const char *reflog_message); + +/** + * Download new data and update tips. + * + * Convenience function to connect to a remote, download the data, + * disconnect and update the remote-tracking branches. + * + * 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. + * + * @param remote the remote to fetch from + * @param refspecs the refspecs to use for this fetch. Pass NULL or an + * empty array to use the base refspecs. + * @param opts options to use for this fetch or NULL + * @param reflog_message The message to insert into the reflogs. If NULL, the + * default is "fetch" + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_fetch( + git_remote *remote, + const git_strarray *refspecs, + const git_fetch_options *opts, + const char *reflog_message); + +/** + * Prune tracking refs that are no longer present on remote. + * + * If callbacks are not specified then the callbacks specified to + * `git_remote_connect` will be used (if it was called). + * + * @param remote the remote to prune + * @param callbacks callbacks to use for this prune + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_prune( + git_remote *remote, + const git_remote_callbacks *callbacks); + +/** + * Perform a push. + * + * 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. + * + * @param remote the remote to push to + * @param refspecs the refspecs to use for pushing. If NULL or an empty + * array, the configured refspecs will be used + * @param opts options to use for this push + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_remote_push( + git_remote *remote, + const git_strarray *refspecs, + const git_push_options *opts); + +/** + * Get the statistics structure that is filled in by the fetch operation. + * + * @param remote the remote to get statistics for + * @return the git_indexer_progress for the remote + */ +GIT_EXTERN(const git_indexer_progress *) git_remote_stats(git_remote *remote); + +/** + * Retrieve the tag auto-follow setting + * + * @param remote the remote to query + * @return the auto-follow setting + */ +GIT_EXTERN(git_remote_autotag_option_t) git_remote_autotag(const git_remote *remote); + +/** + * Set the remote's tag following setting. + * + * The change will be made in the configuration. No loaded remotes + * will be affected. + * + * @param repo the repository in which to make the change + * @param remote the name of the remote + * @param value the new value to take. + * @return 0, or an error code. + */ +GIT_EXTERN(int) git_remote_set_autotag(git_repository *repo, const char *remote, git_remote_autotag_option_t value); + +/** + * Retrieve the ref-prune setting + * + * @param remote the remote to query + * @return the ref-prune setting + */ +GIT_EXTERN(int) git_remote_prune_refs(const git_remote *remote); + +/** + * Give the remote a new name + * + * All remote-tracking branches and configuration settings + * for the remote are updated. + * + * The new name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * No loaded instances of a the remote with the old name will change + * their name or their list of refspecs. + * + * @param problems non-default refspecs cannot be renamed and will be + * stored here for further processing by the caller. Always free this + * strarray on successful return. + * @param repo the repository in which to rename + * @param name the current name of the remote + * @param new_name the new name the remote should bear + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_rename( + git_strarray *problems, + git_repository *repo, + const char *name, + const char *new_name); + +/** + * Ensure the remote name is well-formed. + * + * @param valid output pointer to set with validity of given remote name + * @param remote_name name to be checked. + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_remote_name_is_valid(int *valid, const char *remote_name); + +/** +* Delete an existing persisted remote. +* +* All remote-tracking branches and configuration settings +* for the remote will be removed. +* +* @param repo the repository in which to act +* @param name the name of the remote to delete +* @return 0 on success, or an error code. +*/ +GIT_EXTERN(int) git_remote_delete(git_repository *repo, const char *name); + +/** + * Retrieve the name of the remote's default branch + * + * The default branch of a repository is the branch which HEAD points + * to. If the remote does not support reporting this information + * directly, it performs the guess as git does; that is, if there are + * multiple branches which point to the same commit, the first one is + * chosen. If the master branch is a candidate, it wins. + * + * This function must only be called after connecting. + * + * @param out the buffer in which to store the reference name + * @param remote the remote + * @return 0, GIT_ENOTFOUND if the remote does not have any references + * or none of them point to HEAD's commit, or an error message. + */ +GIT_EXTERN(int) git_remote_default_branch(git_buf *out, git_remote *remote); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/repository.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/repository.h new file mode 100644 index 00000000..b203576a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/repository.h @@ -0,0 +1,1019 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_repository_h__ +#define INCLUDE_git_repository_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "odb.h" +#include "buffer.h" +#include "commit.h" + +/** + * @file git2/repository.h + * @brief The repository stores revisions for a source tree + * @defgroup git_repository The repository stores revisions for a source tree + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Open a git repository. + * + * The 'path' argument must point to either a git repository + * folder, or an existing work dir. + * + * The method will automatically detect if 'path' is a normal + * or bare repository or fail is 'path' is neither. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out pointer to the repo which will be opened + * @param path the path to the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_open(git_repository **out, const char *path); +/** + * Open working tree as a repository + * + * Open the working directory of the working tree as a normal + * repository that can then be worked on. + * + * @param out Output pointer containing opened repository + * @param wt Working tree to open + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_open_from_worktree(git_repository **out, git_worktree *wt); + +/** + * Create a "fake" repository to wrap an object database + * + * 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. + * + * @param out pointer to the repo + * @param odb the object database to wrap + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_wrap_odb( + git_repository **out, + git_odb *odb); + +/** + * Look for a git repository and copy its path in the given buffer. + * The lookup start from base_path and walk across parent directories + * if nothing has been found. The lookup ends when the first repository + * is found, or when reaching a directory referenced in ceiling_dirs + * or when the filesystem changes (in case across_fs is true). + * + * The method will automatically detect if the repository is bare + * (if there is a repository). + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param out A pointer to a user-allocated git_buf which will contain + * the found path. + * + * @param start_path The base path where the lookup starts. + * + * @param across_fs If true, then the lookup will not stop when a + * filesystem device change is detected while exploring parent directories. + * + * @param ceiling_dirs A GIT_PATH_LIST_SEPARATOR separated list of + * absolute symbolic link free paths. The lookup will stop when any + * of this paths is reached. Note that the lookup always performs on + * start_path no matter start_path appears in ceiling_dirs ceiling_dirs + * might be NULL (which is equivalent to an empty string) + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_discover( + git_buf *out, + const char *start_path, + int across_fs, + const char *ceiling_dirs); + +/** + * Option flags for `git_repository_open_ext`. + */ +typedef enum { + /** + * Only open the repository if it can be immediately found in the + * start_path. Do not walk up from the start_path looking at parent + * directories. + */ + GIT_REPOSITORY_OPEN_NO_SEARCH = (1 << 0), + + /** + * Unless this flag is set, open will not continue searching across + * filesystem boundaries (i.e. when `st_dev` changes from the `stat` + * system call). For example, searching in a user's home directory at + * "/home/user/source/" will not return "/.git/" as the found repo if + * "/" is a different filesystem than "/home". + */ + GIT_REPOSITORY_OPEN_CROSS_FS = (1 << 1), + + /** + * Open repository as a bare repo regardless of core.bare config, and + * defer loading config file for faster setup. + * Unlike `git_repository_open_bare`, this can follow gitlinks. + */ + GIT_REPOSITORY_OPEN_BARE = (1 << 2), + + /** + * Do not check for a repository by appending /.git to the start_path; + * only open the repository if start_path itself points to the git + * directory. + */ + GIT_REPOSITORY_OPEN_NO_DOTGIT = (1 << 3), + + /** + * Find and open a git repository, respecting the environment variables + * used by the git command-line tools. + * If set, `git_repository_open_ext` will ignore the other flags and + * the `ceiling_dirs` argument, and will allow a NULL `path` to use + * `GIT_DIR` or search from the current directory. + * The search for a repository will respect $GIT_CEILING_DIRECTORIES and + * $GIT_DISCOVERY_ACROSS_FILESYSTEM. The opened repository will + * respect $GIT_INDEX_FILE, $GIT_NAMESPACE, $GIT_OBJECT_DIRECTORY, and + * $GIT_ALTERNATE_OBJECT_DIRECTORIES. + * In the future, this flag will also cause `git_repository_open_ext` + * to respect $GIT_WORK_TREE and $GIT_COMMON_DIR; currently, + * `git_repository_open_ext` with this flag will error out if either + * $GIT_WORK_TREE or $GIT_COMMON_DIR is set. + */ + GIT_REPOSITORY_OPEN_FROM_ENV = (1 << 4) +} git_repository_open_flag_t; + +/** + * Find and open a repository with extended controls. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out Pointer to the repo which will be opened. This can + * actually be NULL if you only want to use the error code to + * see if a repo at this path could be opened. + * @param path Path to open as git repository. If the flags + * permit "searching", then this can be a path to a subdirectory + * inside the working directory of the repository. May be NULL if + * flags is GIT_REPOSITORY_OPEN_FROM_ENV. + * @param flags A combination of the GIT_REPOSITORY_OPEN flags above. + * @param ceiling_dirs A GIT_PATH_LIST_SEPARATOR delimited list of path + * prefixes at which the search for a containing repository should + * terminate. + * @return 0 on success, GIT_ENOTFOUND if no repository could be found, + * or -1 if there was a repository but open failed for some reason + * (such as repo corruption or system errors). + */ +GIT_EXTERN(int) git_repository_open_ext( + git_repository **out, + const char *path, + unsigned int flags, + const char *ceiling_dirs); + +/** + * Open a bare repository on the serverside. + * + * 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 + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out Pointer to the repo which will be opened. + * @param bare_path Direct path to the bare repository + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_open_bare(git_repository **out, const char *bare_path); + +/** + * Free a previously allocated repository + * + * 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 + * + * @param repo repository handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_repository_free(git_repository *repo); + +/** + * Creates a new Git repository in the given folder. + * + * TODO: + * - Reinit the repository + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out pointer to the repo which will be created or reinitialized + * @param path the path to the repository + * @param is_bare if true, a Git repository without a working directory is + * created at the pointed path. If false, provided path will be + * considered as the working directory into which the .git directory + * will be created. + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_init( + git_repository **out, + const char *path, + unsigned is_bare); + +/** + * Option flags for `git_repository_init_ext`. + * + * These flags configure extra behaviors to `git_repository_init_ext`. + * In every case, the default behavior is the zero value (i.e. flag is + * not set). Just OR the flag values together for the `flags` parameter + * when initializing a new repo. + */ +typedef enum { + /** + * Create a bare repository with no working directory. + */ + GIT_REPOSITORY_INIT_BARE = (1u << 0), + + /** + * Return an GIT_EEXISTS error if the repo_path appears to already be + * an git repository. + */ + GIT_REPOSITORY_INIT_NO_REINIT = (1u << 1), + + /** + * Normally a "/.git/" will be appended to the repo path for + * non-bare repos (if it is not already there), but passing this flag + * prevents that behavior. + */ + GIT_REPOSITORY_INIT_NO_DOTGIT_DIR = (1u << 2), + + /** + * Make the repo_path (and workdir_path) as needed. Init is always willing + * to create the ".git" directory even without this flag. This flag tells + * init to create the trailing component of the repo and workdir paths + * as needed. + */ + GIT_REPOSITORY_INIT_MKDIR = (1u << 3), + + /** + * Recursively make all components of the repo and workdir paths as + * necessary. + */ + GIT_REPOSITORY_INIT_MKPATH = (1u << 4), + + /** + * libgit2 normally uses internal templates to initialize a new repo. + * This flags enables external templates, looking the "template_path" from + * the options if set, or the `init.templatedir` global config if not, + * or falling back on "/usr/share/git-core/templates" if it exists. + */ + GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE = (1u << 5), + + /** + * If an alternate workdir is specified, use relative paths for the gitdir + * and core.worktree. + */ + GIT_REPOSITORY_INIT_RELATIVE_GITLINK = (1u << 6) +} git_repository_init_flag_t; + +/** + * Mode options for `git_repository_init_ext`. + * + * Set the mode field of the `git_repository_init_options` structure + * either to the custom mode that you would like, or to one of the + * defined modes. + */ +typedef enum { + /** + * Use permissions configured by umask - the default. + */ + GIT_REPOSITORY_INIT_SHARED_UMASK = 0, + + /** + * Use "--shared=group" behavior, chmod'ing the new repo to be group + * writable and "g+sx" for sticky group assignment. + */ + GIT_REPOSITORY_INIT_SHARED_GROUP = 0002775, + + /** + * Use "--shared=all" behavior, adding world readability. + */ + GIT_REPOSITORY_INIT_SHARED_ALL = 0002777 +} git_repository_init_mode_t; + +/** + * Extended options structure for `git_repository_init_ext`. + * + * This contains extra options for `git_repository_init_ext` that enable + * additional initialization features. + */ +typedef struct { + unsigned int version; + + /** + * Combination of GIT_REPOSITORY_INIT flags above. + */ + uint32_t flags; + + /** + * Set to one of the standard GIT_REPOSITORY_INIT_SHARED_... constants + * above, or to a custom value that you would like. + */ + uint32_t mode; + + /** + * The path to the working dir or NULL for default (i.e. repo_path parent + * on non-bare repos). IF THIS IS RELATIVE PATH, IT WILL BE EVALUATED + * RELATIVE TO THE REPO_PATH. If this is not the "natural" working + * directory, a .git gitlink file will be created here linking to the + * repo_path. + */ + const char *workdir_path; + + /** + * If set, this will be used to initialize the "description" file in the + * repository, instead of using the template content. + */ + const char *description; + + /** + * When GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE is set, this contains + * the path to use for the template directory. If this is NULL, the config + * or default directory options will be used instead. + */ + const char *template_path; + + /** + * The name of the head to point HEAD at. If NULL, then this will be + * treated as "master" and the HEAD ref will be set to "refs/heads/master". + * If this begins with "refs/" it will be used verbatim; + * otherwise "refs/heads/" will be prefixed. + */ + const char *initial_head; + + /** + * If this is non-NULL, then after the rest of the repository + * initialization is completed, an "origin" remote will be added + * pointing to this URL. + */ + const char *origin_url; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** + * + * Type of object IDs to use for this repository, or 0 for + * default (currently SHA1). + */ + git_oid_t oid_type; +#endif +} git_repository_init_options; + +/** Current version for the `git_repository_init_options` structure */ +#define GIT_REPOSITORY_INIT_OPTIONS_VERSION 1 + +/** Static constructor for `git_repository_init_options` */ +#define GIT_REPOSITORY_INIT_OPTIONS_INIT {GIT_REPOSITORY_INIT_OPTIONS_VERSION} + +/** + * Initialize git_repository_init_options structure + * + * Initializes a `git_repository_init_options` with default values. Equivalent to + * creating an instance with `GIT_REPOSITORY_INIT_OPTIONS_INIT`. + * + * @param opts The `git_repository_init_options` struct to initialize. + * @param version The struct version; pass `GIT_REPOSITORY_INIT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_repository_init_options_init( + git_repository_init_options *opts, + unsigned int version); + +/** + * Create a new Git repository in the given folder with extended controls. + * + * 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. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param out Pointer to the repo which will be created or reinitialized. + * @param repo_path The path to the repository. + * @param opts Pointer to git_repository_init_options struct. + * @return 0 or an error code on failure. + */ +GIT_EXTERN(int) git_repository_init_ext( + git_repository **out, + const char *repo_path, + git_repository_init_options *opts); + +/** + * Retrieve and resolve the reference pointed at by HEAD. + * + * The returned `git_reference` will be owned by caller and + * `git_reference_free()` must be called when done with it to release the + * allocated memory and prevent a leak. + * + * @param[out] out pointer to the reference which will be retrieved + * @param repo a repository object + * + * @return 0 on success, GIT_EUNBORNBRANCH when HEAD points to a non existing + * branch, GIT_ENOTFOUND when HEAD is missing; an error code otherwise + */ +GIT_EXTERN(int) git_repository_head(git_reference **out, git_repository *repo); + +/** + * Retrieve the referenced HEAD for the worktree + * + * @param out pointer to the reference which will be retrieved + * @param repo a repository object + * @param name name of the worktree to retrieve HEAD for + * @return 0 when successful, error-code otherwise + */ +GIT_EXTERN(int) git_repository_head_for_worktree(git_reference **out, git_repository *repo, + const char *name); + +/** + * Check if a repository's HEAD is detached + * + * A repository's HEAD is detached when it points directly to a commit + * instead of a branch. + * + * @param repo Repo to test + * @return 1 if HEAD is detached, 0 if it's not; error code if there + * was an error. + */ +GIT_EXTERN(int) git_repository_head_detached(git_repository *repo); + +/** + * Check if a worktree's HEAD is detached + * + * A worktree's HEAD is detached when it points directly to a + * commit instead of a branch. + * + * @param repo a repository object + * @param name name of the worktree to retrieve HEAD for + * @return 1 if HEAD is detached, 0 if its not; error code if + * there was an error + */ +GIT_EXTERN(int) git_repository_head_detached_for_worktree(git_repository *repo, + const char *name); + +/** + * Check if the current branch is unborn + * + * An unborn branch is one named from HEAD but which doesn't exist in + * the refs namespace, because it doesn't have any commit to point to. + * + * @param repo Repo to test + * @return 1 if the current branch is unborn, 0 if it's not; error + * code if there was an error + */ +GIT_EXTERN(int) git_repository_head_unborn(git_repository *repo); + +/** + * Check if a repository is empty + * + * An empty repository has just been initialized and contains no references + * apart from HEAD, which must be pointing to the unborn master branch, + * or the branch specified for the repository in the `init.defaultBranch` + * configuration variable. + * + * @param repo Repo to test + * @return 1 if the repository is empty, 0 if it isn't, error code + * if the repository is corrupted + */ +GIT_EXTERN(int) git_repository_is_empty(git_repository *repo); + +/** + * List of items which belong to the git repository layout + */ +typedef enum { + GIT_REPOSITORY_ITEM_GITDIR, + GIT_REPOSITORY_ITEM_WORKDIR, + GIT_REPOSITORY_ITEM_COMMONDIR, + GIT_REPOSITORY_ITEM_INDEX, + GIT_REPOSITORY_ITEM_OBJECTS, + GIT_REPOSITORY_ITEM_REFS, + GIT_REPOSITORY_ITEM_PACKED_REFS, + GIT_REPOSITORY_ITEM_REMOTES, + GIT_REPOSITORY_ITEM_CONFIG, + GIT_REPOSITORY_ITEM_INFO, + GIT_REPOSITORY_ITEM_HOOKS, + GIT_REPOSITORY_ITEM_LOGS, + GIT_REPOSITORY_ITEM_MODULES, + GIT_REPOSITORY_ITEM_WORKTREES, + GIT_REPOSITORY_ITEM_WORKTREE_CONFIG, + GIT_REPOSITORY_ITEM__LAST +} git_repository_item_t; + +/** + * Get the location of a specific repository file or directory + * + * This function will retrieve the path of a specific repository + * item. It will thereby honor things like the repository's + * common directory, gitdir, etc. In case a file path cannot + * exist for a given item (e.g. the working directory of a bare + * repository), GIT_ENOTFOUND is returned. + * + * @param out Buffer to store the path at + * @param repo Repository to get path for + * @param item The repository item for which to retrieve the path + * @return 0, GIT_ENOTFOUND if the path cannot exist or an error code + */ +GIT_EXTERN(int) git_repository_item_path(git_buf *out, const git_repository *repo, git_repository_item_t item); + +/** + * Get the path of this repository + * + * This is the path of the `.git` folder for normal repositories, + * or of the repository itself for bare repositories. + * + * @param repo A repository object + * @return the path to the repository + */ +GIT_EXTERN(const char *) git_repository_path(const git_repository *repo); + +/** + * Get the path of the working directory for this repository + * + * If the repository is bare, this function will always return + * NULL. + * + * @param repo A repository object + * @return the path to the working dir, if it exists + */ +GIT_EXTERN(const char *) git_repository_workdir(const git_repository *repo); + +/** + * Get the path of the shared common directory for this repository. + * + * If the repository is bare, it is the root directory for the repository. + * If the repository is a worktree, it is the parent repo's gitdir. + * Otherwise, it is the gitdir. + * + * @param repo A repository object + * @return the path to the common dir + */ +GIT_EXTERN(const char *) git_repository_commondir(const git_repository *repo); + +/** + * Set the path to the working directory for this repository + * + * The working directory doesn't need to be the same one + * that contains the `.git` folder for this repository. + * + * If this repository is bare, setting its working directory + * will turn it into a normal repository, capable of performing + * all the common workdir operations (checkout, status, index + * manipulation, etc). + * + * @param repo A repository object + * @param workdir The path to a working directory + * @param update_gitlink Create/update gitlink in workdir and set config + * "core.worktree" (if workdir is not the parent of the .git directory) + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_set_workdir( + git_repository *repo, const char *workdir, int update_gitlink); + +/** + * Check if a repository is bare + * + * @param repo Repo to test + * @return 1 if the repository is bare, 0 otherwise. + */ +GIT_EXTERN(int) git_repository_is_bare(const git_repository *repo); + +/** + * Check if a repository is a linked work tree + * + * @param repo Repo to test + * @return 1 if the repository is a linked work tree, 0 otherwise. + */ +GIT_EXTERN(int) git_repository_is_worktree(const git_repository *repo); + +/** + * Get the configuration file for this repository. + * + * 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). + * + * The configuration file must be freed once it's no longer + * being used by the user. + * + * @param out Pointer to store the loaded configuration + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_config(git_config **out, git_repository *repo); + +/** + * Get a snapshot of the repository's configuration + * + * Convenience function to take a snapshot from the repository's + * configuration. The contents of this snapshot will not change, + * even if the underlying config files are modified. + * + * The configuration file must be freed once it's no longer + * being used by the user. + * + * @param out Pointer to store the loaded configuration + * @param repo the repository + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_config_snapshot(git_config **out, git_repository *repo); + +/** + * Get the Object Database for this repository. + * + * If a custom ODB has not been set, the default + * database for the repository will be returned (the one + * located in `.git/objects`). + * + * The ODB must be freed once it's no longer being used by + * the user. + * + * @param[out] out Pointer to store the loaded ODB + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_odb(git_odb **out, git_repository *repo); + +/** + * Get the Reference Database Backend for this repository. + * + * If a custom refsdb has not been set, the default database for + * the repository will be returned (the one that manipulates loose + * and packed references in the `.git` directory). + * + * The refdb must be freed once it's no longer being used by + * the user. + * + * @param[out] out Pointer to store the loaded refdb + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_refdb(git_refdb **out, git_repository *repo); + +/** + * Get the Index file for this repository. + * + * If a custom index has not been set, the default + * index for the repository will be returned (the one + * located in `.git/index`). + * + * The index must be freed once it's no longer being used by + * the user. + * + * @param[out] out Pointer to store the loaded index + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_index(git_index **out, git_repository *repo); + +/** + * Retrieve git's prepared message + * + * Operations such as git revert/cherry-pick/merge with the -n option + * stop just short of creating a commit with the changes and save + * their prepared message in .git/MERGE_MSG so the next git-commit + * execution can present it to the user for them to amend if they + * wish. + * + * Use this function to get the contents of this file. Don't forget to + * remove the file after you create the commit. + * + * @param out git_buf to write data into + * @param repo Repository to read prepared message from + * @return 0, GIT_ENOTFOUND if no message exists or an error code + */ +GIT_EXTERN(int) git_repository_message(git_buf *out, git_repository *repo); + +/** + * Remove git's prepared message. + * + * Remove the message that `git_repository_message` retrieves. + * + * @param repo Repository to remove prepared message from. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_repository_message_remove(git_repository *repo); + +/** + * Remove all the metadata associated with an ongoing command like merge, + * revert, cherry-pick, etc. For example: MERGE_HEAD, MERGE_MSG, etc. + * + * @param repo A repository object + * @return 0 on success, or error + */ +GIT_EXTERN(int) git_repository_state_cleanup(git_repository *repo); + +/** + * Callback used to iterate over each FETCH_HEAD entry + * + * @see git_repository_fetchhead_foreach + * + * @param ref_name The reference name + * @param remote_url The remote URL + * @param oid The reference target OID + * @param is_merge Was the reference the result of a merge + * @param payload Payload passed to git_repository_fetchhead_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_repository_fetchhead_foreach_cb)(const char *ref_name, + const char *remote_url, + const git_oid *oid, + unsigned int is_merge, + void *payload); + +/** + * Invoke 'callback' for each entry in the given FETCH_HEAD file. + * + * Return a non-zero value from the callback to stop the loop. + * + * @param repo A repository object + * @param callback Callback function + * @param payload Pointer to callback data (optional) + * @return 0 on success, non-zero callback return value, GIT_ENOTFOUND if + * there is no FETCH_HEAD file, or other error code. + */ +GIT_EXTERN(int) git_repository_fetchhead_foreach( + git_repository *repo, + git_repository_fetchhead_foreach_cb callback, + void *payload); + +/** + * Callback used to iterate over each MERGE_HEAD entry + * + * @see git_repository_mergehead_foreach + * + * @param oid The merge OID + * @param payload Payload passed to git_repository_mergehead_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_repository_mergehead_foreach_cb)(const git_oid *oid, + void *payload); + +/** + * If a merge is in progress, invoke 'callback' for each commit ID in the + * MERGE_HEAD file. + * + * Return a non-zero value from the callback to stop the loop. + * + * @param repo A repository object + * @param callback Callback function + * @param payload Pointer to callback data (optional) + * @return 0 on success, non-zero callback return value, GIT_ENOTFOUND if + * there is no MERGE_HEAD file, or other error code. + */ +GIT_EXTERN(int) git_repository_mergehead_foreach( + git_repository *repo, + git_repository_mergehead_foreach_cb callback, + void *payload); + +/** + * Calculate hash of file using repository filtering rules. + * + * If you simply want to calculate the hash of a file on disk with no filters, + * you can just use the `git_odb_hashfile()` API. However, if you want to + * hash a file in the repository and you want to apply filtering rules (e.g. + * crlf filters) before generating the SHA, then use this function. + * + * Note: if the repository has `core.safecrlf` set to fail and the + * filtering triggers that failure, then this function will return an + * error and not calculate the hash of the file. + * + * @param out Output value of calculated SHA + * @param repo Repository pointer + * @param path Path to file on disk whose contents should be hashed. This + * may be an absolute path or a relative path, in which case it + * will be treated as a path within the working directory. + * @param type The object type to hash as (e.g. GIT_OBJECT_BLOB) + * @param as_path The path to use to look up filtering rules. If this is + * an empty string then no filters will be applied when + * calculating the hash. If this is `NULL` and the `path` + * parameter is a file within the repository's working + * directory, then the `path` will be used. + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_hashfile( + git_oid *out, + git_repository *repo, + const char *path, + git_object_t type, + const char *as_path); + +/** + * Make the repository HEAD point to the specified reference. + * + * If the provided reference points to a Tree or a Blob, the HEAD is + * unaltered and -1 is returned. + * + * 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. + * + * Otherwise, the HEAD will be detached and will directly point to + * the Commit. + * + * @param repo Repository pointer + * @param refname Canonical name of the reference the HEAD should point at + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_head( + git_repository *repo, + const char *refname); + +/** + * Make the repository HEAD directly point to the Commit. + * + * If the provided committish cannot be found in the repository, the HEAD + * is unaltered and GIT_ENOTFOUND is returned. + * + * If the provided committish cannot be peeled into a commit, the HEAD + * is unaltered and -1 is returned. + * + * Otherwise, the HEAD will eventually be detached and will directly point to + * the peeled Commit. + * + * @param repo Repository pointer + * @param committish Object id of the Commit the HEAD should point to + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_head_detached( + git_repository *repo, + const git_oid *committish); + +/** + * Make the repository HEAD directly point to the Commit. + * + * 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. + * + * See the documentation for `git_repository_set_head_detached()`. + * + * @param repo Repository pointer + * @param committish annotated commit to point HEAD to + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_head_detached_from_annotated( + git_repository *repo, + const git_annotated_commit *committish); + +/** + * Detach the HEAD. + * + * If the HEAD is already detached and points to a Commit, 0 is returned. + * + * If the HEAD is already detached and points to a Tag, the HEAD is + * updated into making it point to the peeled Commit, and 0 is returned. + * + * If the HEAD is already detached and points to a non committish, the HEAD is + * unaltered, and -1 is returned. + * + * Otherwise, the HEAD will be detached and point to the peeled Commit. + * + * @param repo Repository pointer + * @return 0 on success, GIT_EUNBORNBRANCH when HEAD points to a non existing + * branch or an error code + */ +GIT_EXTERN(int) git_repository_detach_head( + git_repository *repo); + +/** + * Repository state + * + * These values represent possible states for the repository to be in, + * based on the current operation which is ongoing. + */ +typedef enum { + GIT_REPOSITORY_STATE_NONE, + GIT_REPOSITORY_STATE_MERGE, + GIT_REPOSITORY_STATE_REVERT, + GIT_REPOSITORY_STATE_REVERT_SEQUENCE, + GIT_REPOSITORY_STATE_CHERRYPICK, + GIT_REPOSITORY_STATE_CHERRYPICK_SEQUENCE, + GIT_REPOSITORY_STATE_BISECT, + GIT_REPOSITORY_STATE_REBASE, + GIT_REPOSITORY_STATE_REBASE_INTERACTIVE, + GIT_REPOSITORY_STATE_REBASE_MERGE, + GIT_REPOSITORY_STATE_APPLY_MAILBOX, + GIT_REPOSITORY_STATE_APPLY_MAILBOX_OR_REBASE +} git_repository_state_t; + +/** + * Determines the status of a git repository - ie, whether an operation + * (merge, cherry-pick, etc) is in progress. + * + * @param repo Repository pointer + * @return The state of the repository + */ +GIT_EXTERN(int) git_repository_state(git_repository *repo); + +/** + * Sets the active namespace for this Git Repository + * + * This namespace affects all reference operations for the repo. + * See `man gitnamespaces` + * + * @param repo The repo + * @param nmspace The namespace. This should not include the refs + * folder, e.g. to namespace all references under `refs/namespaces/foo/`, + * use `foo` as the namespace. + * @return 0 on success, -1 on error + */ +GIT_EXTERN(int) git_repository_set_namespace(git_repository *repo, const char *nmspace); + +/** + * Get the currently active namespace for this repository + * + * @param repo The repo + * @return the active namespace, or NULL if there isn't one + */ +GIT_EXTERN(const char *) git_repository_get_namespace(git_repository *repo); + + +/** + * Determine if the repository was a shallow clone + * + * @param repo The repository + * @return 1 if shallow, zero if not + */ +GIT_EXTERN(int) git_repository_is_shallow(git_repository *repo); + +/** + * Retrieve the configured identity to use for reflogs + * + * The memory is owned by the repository and must not be freed by the + * user. + * + * @param[out] name where to store the pointer to the name + * @param[out] email where to store the pointer to the email + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_ident(const char **name, const char **email, const git_repository *repo); + +/** + * Set the identity to be used for writing reflogs + * + * If both are set, this name and email will be used to write to the + * reflog. Pass NULL to unset. When unset, the identity will be taken + * from the repository's configuration. + * + * @param repo the repository to configure + * @param name the name to use for the reflog entries + * @param email the email to use for the reflog entries + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_repository_set_ident(git_repository *repo, const char *name, const char *email); + +/** + * Gets the object type used by this repository. + * + * @param repo the repository + * @return the object id type + */ +GIT_EXTERN(git_oid_t) git_repository_oid_type(git_repository *repo); + +/** + * Gets the parents of the next commit, given the current repository state. + * Generally, this is the HEAD commit, except when performing a merge, in + * which case it is two or more commits. + * + * @param commits a `git_commitarray` that will contain the commit parents + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_commit_parents(git_commitarray *commits, git_repository *repo); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/reset.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/reset.h new file mode 100644 index 00000000..0123f7c7 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/reset.h @@ -0,0 +1,124 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_reset_h__ +#define INCLUDE_git_reset_h__ + +#include "common.h" +#include "types.h" +#include "strarray.h" +#include "checkout.h" + +/** + * @file git2/reset.h + * @brief Reset will update the local repository to a prior state + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Kinds of reset operation + */ +typedef enum { + GIT_RESET_SOFT = 1, /**< Move the head to the given commit */ + GIT_RESET_MIXED = 2, /**< SOFT plus reset index to the commit */ + GIT_RESET_HARD = 3 /**< MIXED plus changes in working tree discarded */ +} git_reset_t; + +/** + * Sets the current head to the specified commit oid and optionally + * resets the index and working tree to match. + * + * SOFT reset means the Head will be moved to the commit. + * + * MIXED reset will trigger a SOFT reset, plus the index will be replaced + * with the content of the commit tree. + * + * HARD reset will trigger a MIXED reset and the working directory will be + * replaced with the content of the index. (Untracked and ignored files + * will be left alone, however.) + * + * TODO: Implement remaining kinds of resets. + * + * @param repo Repository where to perform the reset operation. + * + * @param target Committish to which the Head should be moved to. This object + * must belong to the given `repo` and can either be a git_commit or a + * git_tag. When a git_tag is being passed, it should be dereferenceable + * to a git_commit which oid will be used as the target of the branch. + * + * @param reset_type Kind of reset operation to perform. + * + * @param checkout_opts Optional checkout options to be used for a HARD reset. + * The checkout_strategy field will be overridden (based on reset_type). + * This parameter can be used to propagate notify and progress callbacks. + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_reset( + git_repository *repo, + const git_object *target, + git_reset_t reset_type, + const git_checkout_options *checkout_opts); + +/** + * Sets the current head to the specified commit oid and optionally + * resets the index and working tree to match. + * + * 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. + * + * See the documentation for `git_reset()`. + * + * @param repo Repository where to perform the reset operation. + * + * @param target Annotated commit to which the Head should be moved to. + * This object must belong to the given `repo`, it will be dereferenced + * to a git_commit which oid will be used as the target of the branch. + * + * @param reset_type Kind of reset operation to perform. + * + * @param checkout_opts Optional checkout options to be used for a HARD reset. + * The checkout_strategy field will be overridden (based on reset_type). + * This parameter can be used to propagate notify and progress callbacks. + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_reset_from_annotated( + git_repository *repo, + const git_annotated_commit *target, + git_reset_t reset_type, + const git_checkout_options *checkout_opts); + +/** + * Updates some entries in the index from the target commit tree. + * + * The scope of the updated entries is determined by the paths + * being passed in the `pathspec` parameters. + * + * Passing a NULL `target` will result in removing + * entries in the index matching the provided pathspecs. + * + * @param repo Repository where to perform the reset operation. + * + * @param target The committish which content will be used to reset the content + * of the index. + * + * @param pathspecs List of pathspecs to operate on. + * + * @return 0 on success or an error code < 0 + */ +GIT_EXTERN(int) git_reset_default( + git_repository *repo, + const git_object *target, + const git_strarray* pathspecs); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revert.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revert.h new file mode 100644 index 00000000..ec51eca2 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revert.h @@ -0,0 +1,96 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revert_h__ +#define INCLUDE_git_revert_h__ + +#include "common.h" +#include "types.h" +#include "merge.h" + +/** + * @file git2/revert.h + * @brief Cherry-pick the inverse of a change to "undo" its effects + * @defgroup git_revert Cherry-pick the inverse of a change to "undo" its effects + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options for revert + */ +typedef struct { + unsigned int version; + + /** For merge commits, the "mainline" is treated as the parent. */ + unsigned int mainline; + + git_merge_options merge_opts; /**< Options for the merging */ + git_checkout_options checkout_opts; /**< Options for the checkout */ +} git_revert_options; + +/** Current version for the `git_revert_options` structure */ +#define GIT_REVERT_OPTIONS_VERSION 1 + +/** Static constructor for `git_revert_options` */ +#define GIT_REVERT_OPTIONS_INIT { \ + GIT_REVERT_OPTIONS_VERSION, 0, \ + GIT_MERGE_OPTIONS_INIT, GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_revert_options structure + * + * Initializes a `git_revert_options` with default values. Equivalent to + * creating an instance with `GIT_REVERT_OPTIONS_INIT`. + * + * @param opts The `git_revert_options` struct to initialize. + * @param version The struct version; pass `GIT_REVERT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_revert_options_init( + git_revert_options *opts, + unsigned int version); + +/** + * Reverts the given commit against the given "our" commit, producing an + * index that reflects the result of the revert. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo the repository that contains the given commits + * @param revert_commit the commit to revert + * @param our_commit the commit to revert against (eg, HEAD) + * @param mainline the parent of the revert commit, if it is a merge + * @param merge_options the merge options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_revert_commit( + git_index **out, + git_repository *repo, + git_commit *revert_commit, + git_commit *our_commit, + unsigned int mainline, + const git_merge_options *merge_options); + +/** + * Reverts the given commit, producing changes in the index and working directory. + * + * @param repo the repository to revert + * @param commit the commit to revert + * @param given_opts the revert options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_revert( + git_repository *repo, + git_commit *commit, + const git_revert_options *given_opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revparse.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revparse.h new file mode 100644 index 00000000..c14fe3dc --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revparse.h @@ -0,0 +1,113 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revparse_h__ +#define INCLUDE_git_revparse_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/revparse.h + * @brief Parse the textual revision information + * @defgroup git_revparse Parse the textual revision information + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Find a single object, as specified by a revision string. + * + * See `man gitrevisions`, or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * The returned object should be released with `git_object_free` when no + * longer needed. + * + * @param out pointer to output object + * @param repo the repository to search in + * @param spec the textual specification for an object + * @return 0 on success, GIT_ENOTFOUND, GIT_EAMBIGUOUS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_revparse_single( + git_object **out, git_repository *repo, const char *spec); + +/** + * Find a single object and intermediate reference by a revision string. + * + * See `man gitrevisions`, or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * In some cases (`@{<-n>}` or `@{upstream}`), the expression may + * point to an intermediate reference. When such expressions are being passed + * in, `reference_out` will be valued as well. + * + * The returned object should be released with `git_object_free` and the + * returned reference with `git_reference_free` when no longer needed. + * + * @param object_out pointer to output object + * @param reference_out pointer to output reference or NULL + * @param repo the repository to search in + * @param spec the textual specification for an object + * @return 0 on success, GIT_ENOTFOUND, GIT_EAMBIGUOUS, GIT_EINVALIDSPEC + * or an error code + */ +GIT_EXTERN(int) git_revparse_ext( + git_object **object_out, + git_reference **reference_out, + git_repository *repo, + const char *spec); + +/** + * Revparse flags. These indicate the intended behavior of the spec passed to + * git_revparse. + */ +typedef enum { + /** The spec targeted a single object. */ + GIT_REVSPEC_SINGLE = 1 << 0, + /** The spec targeted a range of commits. */ + GIT_REVSPEC_RANGE = 1 << 1, + /** The spec used the '...' operator, which invokes special semantics. */ + GIT_REVSPEC_MERGE_BASE = 1 << 2 +} git_revspec_t; + +/** + * Git Revision Spec: output of a `git_revparse` operation + */ +typedef struct { + /** The left element of the revspec; must be freed by the user */ + git_object *from; + /** The right element of the revspec; must be freed by the user */ + git_object *to; + /** The intent of the revspec (i.e. `git_revspec_mode_t` flags) */ + unsigned int flags; +} git_revspec; + +/** + * Parse a revision string for `from`, `to`, and intent. + * + * See `man gitrevisions` or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * @param revspec Pointer to an user-allocated git_revspec struct where + * the result of the rev-parse will be stored + * @param repo the repository to search in + * @param spec the rev-parse spec to parse + * @return 0 on success, GIT_INVALIDSPEC, GIT_ENOTFOUND, GIT_EAMBIGUOUS or an error code + */ +GIT_EXTERN(int) git_revparse( + git_revspec *revspec, + git_repository *repo, + const char *spec); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revwalk.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revwalk.h new file mode 100644 index 00000000..7c4ac546 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/revwalk.h @@ -0,0 +1,303 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revwalk_h__ +#define INCLUDE_git_revwalk_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/revwalk.h + * @brief Traverse (walk) the commit graph (revision history) + * @defgroup git_revwalk Traverse (walk) the commit graph (revision history) + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Flags to specify the sorting which a revwalk should perform. + */ +typedef enum { + /** + * Sort the output with the same default method from `git`: reverse + * chronological order. This is the default sorting for new walkers. + */ + GIT_SORT_NONE = 0, + + /** + * Sort the repository contents in topological order (no parents before + * all of its children are shown); this sorting mode can be combined + * with time sorting to produce `git`'s `--date-order``. + */ + GIT_SORT_TOPOLOGICAL = 1 << 0, + + /** + * Sort the repository contents by commit time; + * this sorting mode can be combined with + * topological sorting. + */ + GIT_SORT_TIME = 1 << 1, + + /** + * Iterate through the repository contents in reverse + * order; this sorting mode can be combined with + * any of the above. + */ + GIT_SORT_REVERSE = 1 << 2 +} git_sort_t; + +/** + * Allocate a new revision walker to iterate through a repo. + * + * This revision walker uses a custom memory pool and an internal + * commit cache, so it is relatively expensive to allocate. + * + * For maximum performance, this revision walker should be + * reused for different walks. + * + * 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. + * + * @param out pointer to the new revision walker + * @param repo the repo to walk through + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_new(git_revwalk **out, git_repository *repo); + +/** + * Reset the revision walker for reuse. + * + * This will clear all the pushed and hidden commits, and + * leave the walker in a blank state (just like at + * creation) ready to receive new commit pushes and + * start a new walk. + * + * The revision walk is automatically reset when a walk + * is over. + * + * @param walker handle to reset. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_reset(git_revwalk *walker); + +/** + * Add a new root for the traversal + * + * 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. + * + * At least one commit must be pushed onto the walker before a walk + * can be started. + * + * The given id must belong to a committish on the walked + * repository. + * + * @param walk the walker being used for the traversal. + * @param id the oid of the commit to start from. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push(git_revwalk *walk, const git_oid *id); + +/** + * Push matching references + * + * The OIDs pointed to by the references that match the given glob + * pattern will be pushed to the revision walker. + * + * A leading 'refs/' is implied if not present as well as a trailing + * '/\*' if the glob lacks '?', '\*' or '['. + * + * Any references matching this glob which do not point to a + * committish will be ignored. + * + * @param walk the walker being used for the traversal + * @param glob the glob pattern references should match + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_glob(git_revwalk *walk, const char *glob); + +/** + * Push the repository's HEAD + * + * @param walk the walker being used for the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_head(git_revwalk *walk); + +/** + * Mark a commit (and its ancestors) uninteresting for the output. + * + * The given id must belong to a committish on the walked + * repository. + * + * The resolved commit and all its parents will be hidden from the + * output on the revision walk. + * + * @param walk the walker being used for the traversal. + * @param commit_id the oid of commit that will be ignored during the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide(git_revwalk *walk, const git_oid *commit_id); + +/** + * Hide matching references. + * + * The OIDs pointed to by the references that match the given glob + * pattern and their ancestors will be hidden from the output on the + * revision walk. + * + * A leading 'refs/' is implied if not present as well as a trailing + * '/\*' if the glob lacks '?', '\*' or '['. + * + * Any references matching this glob which do not point to a + * committish will be ignored. + * + * @param walk the walker being used for the traversal + * @param glob the glob pattern references should match + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_glob(git_revwalk *walk, const char *glob); + +/** + * Hide the repository's HEAD + * + * @param walk the walker being used for the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_head(git_revwalk *walk); + +/** + * Push the OID pointed to by a reference + * + * The reference must point to a committish. + * + * @param walk the walker being used for the traversal + * @param refname the reference to push + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_ref(git_revwalk *walk, const char *refname); + +/** + * Hide the OID pointed to by a reference + * + * The reference must point to a committish. + * + * @param walk the walker being used for the traversal + * @param refname the reference to hide + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_ref(git_revwalk *walk, const char *refname); + +/** + * Get the next commit from the revision walk. + * + * The initial call to this method is *not* blocking when + * iterating through a repo with a time-sorting mode. + * + * 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). + * + * The revision walker is reset when the walk is over. + * + * @param out Pointer where to store the oid of the next commit + * @param walk the walker to pop the commit from. + * @return 0 if the next commit was found; + * GIT_ITEROVER if there are no commits left to iterate + */ +GIT_EXTERN(int) git_revwalk_next(git_oid *out, git_revwalk *walk); + +/** + * Change the sorting mode when iterating through the + * repository's contents. + * + * Changing the sorting mode resets the walker. + * + * @param walk the walker being used for the traversal. + * @param sort_mode combination of GIT_SORT_XXX flags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_sorting(git_revwalk *walk, unsigned int sort_mode); + +/** + * Push and hide the respective endpoints of the given range. + * + * The range should be of the form + * .. + * where each is in the form accepted by 'git_revparse_single'. + * The left-hand commit will be hidden and the right-hand commit pushed. + * + * @param walk the walker being used for the traversal + * @param range the range + * @return 0 or an error code + * + */ +GIT_EXTERN(int) git_revwalk_push_range(git_revwalk *walk, const char *range); + +/** + * Simplify the history by first-parent + * + * No parents other than the first for each commit will be enqueued. + * + * @param walk The revision walker. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_simplify_first_parent(git_revwalk *walk); + + +/** + * Free a revision walker previously allocated. + * + * @param walk traversal handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_revwalk_free(git_revwalk *walk); + +/** + * Return the repository on which this walker + * is operating. + * + * @param walk the revision walker + * @return the repository being walked + */ +GIT_EXTERN(git_repository *) git_revwalk_repository(git_revwalk *walk); + +/** + * This is a callback function that user can provide to hide a + * commit and its parents. If the callback function returns non-zero value, + * then this commit and its parents will be hidden. + * + * @param commit_id oid of Commit + * @param payload User-specified pointer to data to be passed as data payload + * @return non-zero to hide the commmit and it parent. + */ +typedef int GIT_CALLBACK(git_revwalk_hide_cb)( + const git_oid *commit_id, + void *payload); + +/** + * Adds, changes or removes a callback function to hide a commit and its parents + * + * @param walk the revision walker + * @param hide_cb callback function to hide a commit and its parents + * @param payload data payload to be passed to callback function + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_revwalk_add_hide_cb( + git_revwalk *walk, + git_revwalk_hide_cb hide_cb, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/signature.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/signature.h new file mode 100644 index 00000000..20ec24b3 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/signature.h @@ -0,0 +1,148 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_signature_h__ +#define INCLUDE_git_signature_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/signature.h + * @brief Signatures are the actor in a repository and when they acted + * @defgroup git_signature Git signature creation + * @ingroup Git + * + * Signatures contain the information about the actor (committer or + * author) in a repository, and the time that they performed the + * commit, or authoring. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new action signature. + * + * Call `git_signature_free()` to free the data. + * + * Note: angle brackets ('<' and '>') characters are not allowed + * to be used in either the `name` or the `email` parameter. + * + * @param out new signature, in case of error NULL + * @param name name of the person + * @param email email of the person + * @param time time (in seconds from epoch) when the action happened + * @param offset timezone offset (in minutes) for the time + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_new(git_signature **out, const char *name, const char *email, git_time_t time, int offset); + +/** + * Create a new action signature with a timestamp of 'now'. + * + * Call `git_signature_free()` to free the data. + * + * @param out new signature, in case of error NULL + * @param name name of the person + * @param email email of the person + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_now(git_signature **out, const char *name, const char *email); + +/** + * Create a new author and/or committer signatures with default + * information based on the configuration and environment variables. + * + * 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. + * + * 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. + * + * If neither `GIT_AUTHOR_DATE` nor `GIT_COMMITTER_DATE` are set, + * both timestamps will be set to the same time. + * + * 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. + * + * @param author_out pointer to set the author signature, or NULL + * @param committer_out pointer to set the committer signature, or NULL + * @param repo repository pointer + * @return 0 on success, GIT_ENOTFOUND if config is missing, or error code + */ +GIT_EXTERN(int) git_signature_default_from_env( + git_signature **author_out, + git_signature **committer_out, + git_repository *repo); + +/** + * Create a new action signature with default user and now timestamp. + * + * 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. + * + * Note that these do not examine environment variables, only the + * configuration files. Use `git_signature_default_from_env` to + * consider the environment variables. + * + * @param out new signature + * @param repo repository pointer + * @return 0 on success, GIT_ENOTFOUND if config is missing, or error code + */ +GIT_EXTERN(int) git_signature_default(git_signature **out, git_repository *repo); + +/** + * Create a new signature by parsing the given buffer, which is + * expected to be in the format "Real Name timestamp tzoffset", + * where `timestamp` is the number of seconds since the Unix epoch and + * `tzoffset` is the timezone offset in `hhmm` format (note the lack + * of a colon separator). + * + * @param out new signature + * @param buf signature string + * @return 0 on success, GIT_EINVALID if the signature is not parseable, or an error code + */ +GIT_EXTERN(int) git_signature_from_buffer(git_signature **out, const char *buf); + +/** + * Create a copy of an existing signature. All internal strings are also + * duplicated. + * + * Call `git_signature_free()` to free the data. + * + * @param dest pointer where to store the copy + * @param sig signature to duplicate + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_dup(git_signature **dest, const git_signature *sig); + +/** + * Free an existing signature. + * + * 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. + * + * @param sig signature to free + */ +GIT_EXTERN(void) git_signature_free(git_signature *sig); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/stash.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/stash.h new file mode 100644 index 00000000..ad28c326 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/stash.h @@ -0,0 +1,328 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_stash_h__ +#define INCLUDE_git_stash_h__ + +#include "common.h" +#include "types.h" +#include "checkout.h" + +/** + * @file git2/stash.h + * @brief Stashes stores some uncommitted state in the repository + * @ingroup Git + * + * Stashes stores some uncommitted state in the repository; generally + * this allows a user to stash some changes so that they can restore + * the working directory to an unmodified state. This can allow a + * developer to work on two different changes in parallel. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Stash flags + */ +typedef enum { + /** + * No option, default + */ + GIT_STASH_DEFAULT = 0, + + /** + * All changes already added to the index are left intact in + * the working directory + */ + GIT_STASH_KEEP_INDEX = (1 << 0), + + /** + * All untracked files are also stashed and then cleaned up + * from the working directory + */ + GIT_STASH_INCLUDE_UNTRACKED = (1 << 1), + + /** + * All ignored files are also stashed and then cleaned up from + * the working directory + */ + GIT_STASH_INCLUDE_IGNORED = (1 << 2), + + /** + * All changes in the index and working directory are left intact + */ + GIT_STASH_KEEP_ALL = (1 << 3) +} git_stash_flags; + +/** + * Save the local modifications to a new stash. + * + * @param out Object id of the commit containing the stashed state. + * This commit is also the target of the direct reference refs/stash. + * @param repo The owning repository. + * @param stasher The identity of the person performing the stashing. + * @param message Optional description along with the stashed state. + * @param flags Flags to control the stashing process. (see GIT_STASH_* above) + * @return 0 on success, GIT_ENOTFOUND where there's nothing to stash, + * or error code. + */ +GIT_EXTERN(int) git_stash_save( + git_oid *out, + git_repository *repo, + const git_signature *stasher, + const char *message, + uint32_t flags); + +/** + * Stash save options structure + * + * Initialize with `GIT_STASH_SAVE_OPTIONS_INIT`. Alternatively, you can + * use `git_stash_save_options_init`. + * + */ +typedef struct git_stash_save_options { + unsigned int version; + + /** Flags to control the stashing process. (see GIT_STASH_* above) */ + uint32_t flags; + + /** The identity of the person performing the stashing. */ + const git_signature *stasher; + + /** Optional description along with the stashed state. */ + const char *message; + + /** Optional paths that control which files are stashed. */ + git_strarray paths; +} git_stash_save_options; + +/** Current version for the `git_stash_save_options` structure */ +#define GIT_STASH_SAVE_OPTIONS_VERSION 1 + +/** Static constructor for `git_stash_save_options` */ +#define GIT_STASH_SAVE_OPTIONS_INIT { GIT_STASH_SAVE_OPTIONS_VERSION } + +/** + * Initialize git_stash_save_options structure + * + * Initializes a `git_stash_save_options` with default values. Equivalent to + * creating an instance with `GIT_STASH_SAVE_OPTIONS_INIT`. + * + * @param opts The `git_stash_save_options` struct to initialize. + * @param version The struct version; pass `GIT_STASH_SAVE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_stash_save_options_init( + git_stash_save_options *opts, unsigned int version); + +/** + * Save the local modifications to a new stash, with options. + * + * @param out Object id of the commit containing the stashed state. + * This commit is also the target of the direct reference refs/stash. + * @param repo The owning repository. + * @param opts The stash options. + * @return 0 on success, GIT_ENOTFOUND where there's nothing to stash, + * or error code. + */ +GIT_EXTERN(int) git_stash_save_with_opts( + git_oid *out, + git_repository *repo, + const git_stash_save_options *opts); + +/** Stash application flags. */ +typedef enum { + GIT_STASH_APPLY_DEFAULT = 0, + + /* Try to reinstate not only the working tree's changes, + * but also the index's changes. + */ + GIT_STASH_APPLY_REINSTATE_INDEX = (1 << 0) +} git_stash_apply_flags; + +/** Stash apply progression states */ +typedef enum { + GIT_STASH_APPLY_PROGRESS_NONE = 0, + + /** Loading the stashed data from the object database. */ + GIT_STASH_APPLY_PROGRESS_LOADING_STASH, + + /** The stored index is being analyzed. */ + GIT_STASH_APPLY_PROGRESS_ANALYZE_INDEX, + + /** The modified files are being analyzed. */ + GIT_STASH_APPLY_PROGRESS_ANALYZE_MODIFIED, + + /** The untracked and ignored files are being analyzed. */ + GIT_STASH_APPLY_PROGRESS_ANALYZE_UNTRACKED, + + /** The untracked files are being written to disk. */ + GIT_STASH_APPLY_PROGRESS_CHECKOUT_UNTRACKED, + + /** The modified files are being written to disk. */ + GIT_STASH_APPLY_PROGRESS_CHECKOUT_MODIFIED, + + /** The stash was applied successfully. */ + GIT_STASH_APPLY_PROGRESS_DONE +} git_stash_apply_progress_t; + +/** + * Stash application progress notification function. + * Return 0 to continue processing, or a negative value to + * abort the stash application. + * + * @param progress the progress information + * @param payload the user-specified payload to the apply function + * @return 0 on success, -1 on error + */ +typedef int GIT_CALLBACK(git_stash_apply_progress_cb)( + git_stash_apply_progress_t progress, + void *payload); + +/** + * Stash application options structure + * + * Initialize with `GIT_STASH_APPLY_OPTIONS_INIT`. Alternatively, you can + * use `git_stash_apply_options_init`. + * + */ +typedef struct git_stash_apply_options { + unsigned int version; + + /** See `git_stash_apply_flags`, above. */ + uint32_t flags; + + /** Options to use when writing files to the working directory. */ + git_checkout_options checkout_options; + + /** Optional callback to notify the consumer of application progress. */ + git_stash_apply_progress_cb progress_cb; + void *progress_payload; +} git_stash_apply_options; + +/** Current version for the `git_stash_apply_options` structure */ +#define GIT_STASH_APPLY_OPTIONS_VERSION 1 + +/** Static constructor for `git_stash_apply_options` */ +#define GIT_STASH_APPLY_OPTIONS_INIT { \ + GIT_STASH_APPLY_OPTIONS_VERSION, \ + GIT_STASH_APPLY_DEFAULT, \ + GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_stash_apply_options structure + * + * Initializes a `git_stash_apply_options` with default values. Equivalent to + * creating an instance with `GIT_STASH_APPLY_OPTIONS_INIT`. + * + * @param opts The `git_stash_apply_options` struct to initialize. + * @param version The struct version; pass `GIT_STASH_APPLY_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_stash_apply_options_init( + git_stash_apply_options *opts, unsigned int version); + +/** + * Apply a single stashed state from the stash list. + * + * 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. + * + * 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. + * + * @param repo The owning repository. + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * @param options Optional options to control how stashes are applied. + * + * @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the + * given index, GIT_EMERGECONFLICT if changes exist in the working + * directory, or an error code + */ +GIT_EXTERN(int) git_stash_apply( + git_repository *repo, + size_t index, + const git_stash_apply_options *options); + +/** + * This is a callback function you can provide to iterate over all the + * stashed states that will be invoked per entry. + * + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * @param message The stash message. + * @param stash_id The commit oid of the stashed state. + * @param payload Extra parameter to callback function. + * @return 0 to continue iterating or non-zero to stop. + */ +typedef int GIT_CALLBACK(git_stash_cb)( + size_t index, + const char *message, + const git_oid *stash_id, + void *payload); + +/** + * Loop over all the stashed states and issue a callback for each one. + * + * If the callback returns a non-zero value, this will stop looping. + * + * @param repo Repository where to find the stash. + * + * @param callback Callback to invoke per found stashed state. The most + * recent stash state will be enumerated first. + * + * @param payload Extra parameter to callback function. + * + * @return 0 on success, non-zero callback return value, or error code. + */ +GIT_EXTERN(int) git_stash_foreach( + git_repository *repo, + git_stash_cb callback, + void *payload); + +/** + * Remove a single stashed state from the stash list. + * + * @param repo The owning repository. + * + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * + * @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the given + * index, or error code. + */ +GIT_EXTERN(int) git_stash_drop( + git_repository *repo, + size_t index); + +/** + * Apply a single stashed state from the stash list and remove it from the list + * if successful. + * + * @param repo The owning repository. + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * @param options Optional options to control how stashes are applied. + * + * @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the given + * index, or error code. (see git_stash_apply() above for details) +*/ +GIT_EXTERN(int) git_stash_pop( + git_repository *repo, + size_t index, + const git_stash_apply_options *options); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/status.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/status.h new file mode 100644 index 00000000..e13783b6 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/status.h @@ -0,0 +1,456 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_status_h__ +#define INCLUDE_git_status_h__ + +#include "common.h" +#include "types.h" +#include "strarray.h" +#include "diff.h" + +/** + * @file git2/status.h + * @brief Status indicates how a user has changed the working directory and index + * @defgroup git_status Git file status routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Status flags for a single file. + * + * A combination of these values will be returned to indicate the status of + * a file. Status compares the working directory, the index, and the + * current HEAD of the repository. The `GIT_STATUS_INDEX` set of flags + * represents the status of file in the index relative to the HEAD, and the + * `GIT_STATUS_WT` set of flags represent the status of the file in the + * working directory relative to the index. + */ +typedef enum { + GIT_STATUS_CURRENT = 0, + + GIT_STATUS_INDEX_NEW = (1u << 0), + GIT_STATUS_INDEX_MODIFIED = (1u << 1), + GIT_STATUS_INDEX_DELETED = (1u << 2), + GIT_STATUS_INDEX_RENAMED = (1u << 3), + GIT_STATUS_INDEX_TYPECHANGE = (1u << 4), + + GIT_STATUS_WT_NEW = (1u << 7), + GIT_STATUS_WT_MODIFIED = (1u << 8), + GIT_STATUS_WT_DELETED = (1u << 9), + GIT_STATUS_WT_TYPECHANGE = (1u << 10), + GIT_STATUS_WT_RENAMED = (1u << 11), + GIT_STATUS_WT_UNREADABLE = (1u << 12), + + GIT_STATUS_IGNORED = (1u << 14), + GIT_STATUS_CONFLICTED = (1u << 15) +} git_status_t; + +/** + * Function pointer to receive status on individual files + * + * @param path is the path to the file + * @param status_flags the `git_status_t` values for file's status + * @param payload the user-specified payload to the foreach function + * @return 0 on success, or a negative number on failure + */ +typedef int GIT_CALLBACK(git_status_cb)( + const char *path, unsigned int status_flags, void *payload); + +/** + * Select the files on which to report status. + * + * With `git_status_foreach_ext`, this will control which changes get + * callbacks. With `git_status_list_new`, these will control which + * changes are included in the list. + */ +typedef enum { + /** + * The default. This roughly matches `git status --porcelain` regarding + * which files are included and in what order. + */ + GIT_STATUS_SHOW_INDEX_AND_WORKDIR = 0, + + /** + * Only gives status based on HEAD to index comparison, not looking at + * working directory changes. + */ + GIT_STATUS_SHOW_INDEX_ONLY = 1, + + /** + * Only gives status based on index to working directory comparison, + * not comparing the index to the HEAD. + */ + GIT_STATUS_SHOW_WORKDIR_ONLY = 2 +} git_status_show_t; + +/** + * Flags to control status callbacks + * + * Calling `git_status_foreach()` is like calling the extended version + * with: GIT_STATUS_OPT_INCLUDE_IGNORED, GIT_STATUS_OPT_INCLUDE_UNTRACKED, + * and GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS. Those options are bundled + * together as `GIT_STATUS_OPT_DEFAULTS` if you want them as a baseline. + */ +typedef enum { + /** + * Says that callbacks should be made on untracked files. + * These will only be made if the workdir files are included in the status + * "show" option. + */ + GIT_STATUS_OPT_INCLUDE_UNTRACKED = (1u << 0), + + /** + * Says that ignored files get callbacks. + * Again, these callbacks will only be made if the workdir files are + * included in the status "show" option. + */ + GIT_STATUS_OPT_INCLUDE_IGNORED = (1u << 1), + + /** + * Indicates that callback should be made even on unmodified files. + */ + GIT_STATUS_OPT_INCLUDE_UNMODIFIED = (1u << 2), + + /** + * Indicates that submodules should be skipped. + * This only applies if there are no pending typechanges to the submodule + * (either from or to another type). + */ + GIT_STATUS_OPT_EXCLUDE_SUBMODULES = (1u << 3), + + /** + * Indicates that all files in untracked directories should be included. + * Normally if an entire directory is new, then just the top-level + * directory is included (with a trailing slash on the entry name). + * This flag says to include all of the individual files in the directory + * instead. + */ + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS = (1u << 4), + + /** + * Indicates that the given path should be treated as a literal path, + * and not as a pathspec pattern. + */ + GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH = (1u << 5), + + /** + * Indicates that the contents of ignored directories should be included + * in the status. This is like doing `git ls-files -o -i --exclude-standard` + * with core git. + */ + GIT_STATUS_OPT_RECURSE_IGNORED_DIRS = (1u << 6), + + /** + * Indicates that rename detection should be processed between the head and + * the index and enables the GIT_STATUS_INDEX_RENAMED as a possible status + * flag. + */ + GIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX = (1u << 7), + + /** + * Indicates that rename detection should be run between the index and the + * working directory and enabled GIT_STATUS_WT_RENAMED as a possible status + * flag. + */ + GIT_STATUS_OPT_RENAMES_INDEX_TO_WORKDIR = (1u << 8), + + /** + * Overrides the native case sensitivity for the file system and forces + * the output to be in case-sensitive order. + */ + GIT_STATUS_OPT_SORT_CASE_SENSITIVELY = (1u << 9), + + /** + * Overrides the native case sensitivity for the file system and forces + * the output to be in case-insensitive order. + */ + GIT_STATUS_OPT_SORT_CASE_INSENSITIVELY = (1u << 10), + + /** + * Iindicates that rename detection should include rewritten files. + */ + GIT_STATUS_OPT_RENAMES_FROM_REWRITES = (1u << 11), + + /** + * Bypasses the default status behavior of doing a "soft" index reload + * (i.e. reloading the index data if the file on disk has been modified + * outside libgit2). + */ + GIT_STATUS_OPT_NO_REFRESH = (1u << 12), + + /** + * Tells libgit2 to refresh the stat cache in the index for files that are + * unchanged but have out of date stat einformation in the index. + * It will result in less work being done on subsequent calls to get status. + * This is mutually exclusive with the NO_REFRESH option. + */ + GIT_STATUS_OPT_UPDATE_INDEX = (1u << 13), + + /** + * Normally files that cannot be opened or read are ignored as + * these are often transient files; this option will return + * unreadable files as `GIT_STATUS_WT_UNREADABLE`. + */ + GIT_STATUS_OPT_INCLUDE_UNREADABLE = (1u << 14), + + /** + * Unreadable files will be detected and given the status + * untracked instead of unreadable. + */ + GIT_STATUS_OPT_INCLUDE_UNREADABLE_AS_UNTRACKED = (1u << 15) +} git_status_opt_t; + +/** Default `git_status_opt_t` values */ +#define GIT_STATUS_OPT_DEFAULTS \ + (GIT_STATUS_OPT_INCLUDE_IGNORED | \ + GIT_STATUS_OPT_INCLUDE_UNTRACKED | \ + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS) + +/** + * Options to control how `git_status_foreach_ext()` will issue callbacks. + * + * Initialize with `GIT_STATUS_OPTIONS_INIT`. Alternatively, you can + * use `git_status_options_init`. + * + */ +typedef struct { + /** + * The struct version; pass `GIT_STATUS_OPTIONS_VERSION`. + */ + unsigned int version; + + /** + * The `show` value is one of the `git_status_show_t` constants that + * control which files to scan and in what order. The default is + * `GIT_STATUS_SHOW_INDEX_AND_WORKDIR`. + */ + git_status_show_t show; + + /** + * The `flags` value is an OR'ed combination of the + * `git_status_opt_t` values above. The default is + * `GIT_STATUS_OPT_DEFAULTS`, which matches git's default + * behavior. + */ + unsigned int flags; + + /** + * The `pathspec` is an array of path patterns to match (using + * fnmatch-style matching), or just an array of paths to match + * exactly if `GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH` is specified + * in the flags. + */ + git_strarray pathspec; + + /** + * The `baseline` is the tree to be used for comparison to the + * working directory and index; defaults to HEAD. + */ + git_tree *baseline; + + /** + * Threshold above which similar files will be considered renames. + * This is equivalent to the -M option. Defaults to 50. + */ + uint16_t rename_threshold; +} git_status_options; + +/** Current version for the `git_status_options` structure */ +#define GIT_STATUS_OPTIONS_VERSION 1 + +/** Static constructor for `git_status_options` */ +#define GIT_STATUS_OPTIONS_INIT {GIT_STATUS_OPTIONS_VERSION} + +/** + * Initialize git_status_options structure + * + * Initializes a `git_status_options` with default values. Equivalent to + * creating an instance with `GIT_STATUS_OPTIONS_INIT`. + * + * @param opts The `git_status_options` struct to initialize. + * @param version The struct version; pass `GIT_STATUS_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_status_options_init( + git_status_options *opts, + unsigned int version); + +/** + * A status entry, providing the differences between the file as it exists + * in HEAD and the index, and providing the differences between the index + * and the working directory. + * + * The `status` value provides the status flags for this file. + * + * The `head_to_index` value provides detailed information about the + * differences between the file in HEAD and the file in the index. + * + * The `index_to_workdir` value provides detailed information about the + * differences between the file in the index and the file in the + * working directory. + */ +typedef struct { + git_status_t status; + git_diff_delta *head_to_index; + git_diff_delta *index_to_workdir; +} git_status_entry; + + +/** + * Gather file statuses and run a callback for each one. + * + * 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. + * + * If the callback returns a non-zero value, this function will stop looping + * and return that value to caller. + * + * @param repo A repository object + * @param callback The function to call on each file + * @param payload Pointer to pass through to callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_status_foreach( + git_repository *repo, + git_status_cb callback, + void *payload); + +/** + * Gather file status information and run callbacks as requested. + * + * 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. + * + * 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. + * + * @param repo Repository object + * @param opts Status options structure + * @param callback The function to call on each file + * @param payload Pointer to pass through to callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_status_foreach_ext( + git_repository *repo, + const git_status_options *opts, + git_status_cb callback, + void *payload); + +/** + * Get file status for a single file. + * + * 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. + * + * 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. + * + * 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. + * + * @param status_flags Output combination of git_status_t values for file + * @param repo A repository object + * @param path The exact path to retrieve status for relative to the + * repository working directory + * @return 0 on success, GIT_ENOTFOUND if the file is not found in the HEAD, + * index, and work tree, GIT_EAMBIGUOUS if `path` matches multiple files + * or if it refers to a folder, and -1 on other errors. + */ +GIT_EXTERN(int) git_status_file( + unsigned int *status_flags, + git_repository *repo, + const char *path); + +/** + * Gather file status information and populate the `git_status_list`. + * + * 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. + * + * @param out Pointer to store the status results in + * @param repo Repository object + * @param opts Status options structure + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_status_list_new( + git_status_list **out, + git_repository *repo, + const git_status_options *opts); + +/** + * Gets the count of status entries in this list. + * + * If there are no changes in status (at least according the options given + * when the status list was created), this can return 0. + * + * @param statuslist Existing status list object + * @return the number of status entries + */ +GIT_EXTERN(size_t) git_status_list_entrycount( + git_status_list *statuslist); + +/** + * Get a pointer to one of the entries in the status list. + * + * The entry is not modifiable and should not be freed. + * + * @param statuslist Existing status list object + * @param idx Position of the entry + * @return Pointer to the entry; NULL if out of bounds + */ +GIT_EXTERN(const git_status_entry *) git_status_byindex( + git_status_list *statuslist, + size_t idx); + +/** + * Free an existing status list + * + * @param statuslist Existing status list object + */ +GIT_EXTERN(void) git_status_list_free( + git_status_list *statuslist); + +/** + * Test if the ignore rules apply to a given file. + * + * 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. + * + * One way to think of this is if you were to do "git add ." on the + * directory containing the file, would it be added or not? + * + * @param ignored Boolean returning 0 if the file is not ignored, 1 if it is + * @param repo A repository object + * @param path The file to check ignores for, rooted at the repo's workdir. + * @return 0 if ignore rules could be processed for the file (regardless + * of whether it exists or not), or an error < 0 if they could not. + */ +GIT_EXTERN(int) git_status_should_ignore( + int *ignored, + git_repository *repo, + const char *path); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/stdint.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/stdint.h new file mode 100644 index 00000000..4f532e13 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/stdint.h @@ -0,0 +1,249 @@ +/* ISO C9x compliant stdint.h for Microsoft Visual Studio + * Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 + * + * Copyright (c) 2006-2008 Alexander Chemeris + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. The name of the author may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + *******************************************************************************/ + +#ifdef _MSC_VER /* [ */ + +#ifndef _MSC_STDINT_H_ /* [ */ +#define _MSC_STDINT_H_ + +#if _MSC_VER > 1000 +#pragma once +#endif + +#include + +/* For Visual Studio 6 in C++ mode and for many Visual Studio versions when + * compiling for ARM we should wrap include with 'extern "C++" {}' + * or compiler give many errors like this: + * error C2733: second C linkage of overloaded function 'wmemchr' not allowed +*/ +#ifdef __cplusplus +extern "C" { +#endif +# include +#ifdef __cplusplus +} +#endif + +/* Define _W64 macros to mark types changing their size, like intptr_t. */ +#ifndef _W64 +# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 +# define _W64 __w64 +# else +# define _W64 +# endif +#endif + + +/* 7.18.1 Integer types + * + * 7.18.1.1 Exact-width integer types + * + * Visual Studio 6 and Embedded Visual C++ 4 doesn't + * realize that, e.g. char has the same size as __int8 + * so we give up on __intX for them. + */ +#if (_MSC_VER < 1300) + typedef signed char int8_t; + typedef signed short int16_t; + typedef signed int int32_t; + typedef unsigned char uint8_t; + typedef unsigned short uint16_t; + typedef unsigned int uint32_t; +#else + typedef signed __int8 int8_t; + typedef signed __int16 int16_t; + typedef signed __int32 int32_t; + typedef unsigned __int8 uint8_t; + typedef unsigned __int16 uint16_t; + typedef unsigned __int32 uint32_t; +#endif +typedef signed __int64 int64_t; +typedef unsigned __int64 uint64_t; + + +/* 7.18.1.2 Minimum-width integer types */ +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +typedef int64_t int_least64_t; +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +typedef uint64_t uint_least64_t; + +/* 7.18.1.3 Fastest minimum-width integer types */ +typedef int8_t int_fast8_t; +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef int64_t int_fast64_t; +typedef uint8_t uint_fast8_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +typedef uint64_t uint_fast64_t; + +/* 7.18.1.4 Integer types capable of holding object pointers */ +#ifdef _WIN64 /* [ */ + typedef signed __int64 intptr_t; + typedef unsigned __int64 uintptr_t; +#else /* _WIN64 ][ */ + typedef _W64 signed int intptr_t; + typedef _W64 unsigned int uintptr_t; +#endif /* _WIN64 ] */ + +/* 7.18.1.5 Greatest-width integer types */ +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; + + +/* 7.18.2 Limits of specified-width integer types */ + +#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) /* [ See footnote 220 at page 257 and footnote 221 at page 259 */ + +/* 7.18.2.1 Limits of exact-width integer types */ +#define INT8_MIN ((int8_t)_I8_MIN) +#define INT8_MAX _I8_MAX +#define INT16_MIN ((int16_t)_I16_MIN) +#define INT16_MAX _I16_MAX +#define INT32_MIN ((int32_t)_I32_MIN) +#define INT32_MAX _I32_MAX +#define INT64_MIN ((int64_t)_I64_MIN) +#define INT64_MAX _I64_MAX +#define UINT8_MAX _UI8_MAX +#define UINT16_MAX _UI16_MAX +#define UINT32_MAX _UI32_MAX +#define UINT64_MAX _UI64_MAX + +/* 7.18.2.2 Limits of minimum-width integer types */ +#define INT_LEAST8_MIN INT8_MIN +#define INT_LEAST8_MAX INT8_MAX +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST16_MAX INT16_MAX +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST32_MAX INT32_MAX +#define INT_LEAST64_MIN INT64_MIN +#define INT_LEAST64_MAX INT64_MAX +#define UINT_LEAST8_MAX UINT8_MAX +#define UINT_LEAST16_MAX UINT16_MAX +#define UINT_LEAST32_MAX UINT32_MAX +#define UINT_LEAST64_MAX UINT64_MAX + +/* 7.18.2.3 Limits of fastest minimum-width integer types */ +#define INT_FAST8_MIN INT8_MIN +#define INT_FAST8_MAX INT8_MAX +#define INT_FAST16_MIN INT16_MIN +#define INT_FAST16_MAX INT16_MAX +#define INT_FAST32_MIN INT32_MIN +#define INT_FAST32_MAX INT32_MAX +#define INT_FAST64_MIN INT64_MIN +#define INT_FAST64_MAX INT64_MAX +#define UINT_FAST8_MAX UINT8_MAX +#define UINT_FAST16_MAX UINT16_MAX +#define UINT_FAST32_MAX UINT32_MAX +#define UINT_FAST64_MAX UINT64_MAX + +/* 7.18.2.4 Limits of integer types capable of holding object pointers */ +#ifdef _WIN64 /* [ */ +# define INTPTR_MIN INT64_MIN +# define INTPTR_MAX INT64_MAX +# define UINTPTR_MAX UINT64_MAX +#else /* _WIN64 ][ */ +# define INTPTR_MIN INT32_MIN +# define INTPTR_MAX INT32_MAX +# define UINTPTR_MAX UINT32_MAX +#endif /* _WIN64 ] */ + +/* 7.18.2.5 Limits of greatest-width integer types */ +#define INTMAX_MIN INT64_MIN +#define INTMAX_MAX INT64_MAX +#define UINTMAX_MAX UINT64_MAX + +/* 7.18.3 Limits of other integer types */ + +#ifdef _WIN64 /* [ */ +# define PTRDIFF_MIN _I64_MIN +# define PTRDIFF_MAX _I64_MAX +#else /* _WIN64 ][ */ +# define PTRDIFF_MIN _I32_MIN +# define PTRDIFF_MAX _I32_MAX +#endif /* _WIN64 ] */ + +#define SIG_ATOMIC_MIN INT_MIN +#define SIG_ATOMIC_MAX INT_MAX + +#ifndef SIZE_MAX /* [ */ +# ifdef _WIN64 /* [ */ +# define SIZE_MAX _UI64_MAX +# else /* _WIN64 ][ */ +# define SIZE_MAX _UI32_MAX +# endif /* _WIN64 ] */ +#endif /* SIZE_MAX ] */ + +/* WCHAR_MIN and WCHAR_MAX are also defined in */ +#ifndef WCHAR_MIN /* [ */ +# define WCHAR_MIN 0 +#endif /* WCHAR_MIN ] */ +#ifndef WCHAR_MAX /* [ */ +# define WCHAR_MAX _UI16_MAX +#endif /* WCHAR_MAX ] */ + +#define WINT_MIN 0 +#define WINT_MAX _UI16_MAX + +#endif /* __STDC_LIMIT_MACROS ] */ + + +/* 7.18.4 Limits of other integer types */ + +#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) /* [ See footnote 224 at page 260 */ + +/* 7.18.4.1 Macros for minimum-width integer constants */ + +#define INT8_C(val) val##i8 +#define INT16_C(val) val##i16 +#define INT32_C(val) val##i32 +#define INT64_C(val) val##i64 + +#define UINT8_C(val) val##ui8 +#define UINT16_C(val) val##ui16 +#define UINT32_C(val) val##ui32 +#define UINT64_C(val) val##ui64 + +/* 7.18.4.2 Macros for greatest-width integer constants */ +#define INTMAX_C INT64_C +#define UINTMAX_C UINT64_C + +#endif /* __STDC_CONSTANT_MACROS ] */ + + +#endif /* _MSC_STDINT_H_ ] */ + +#endif /* _MSC_VER ] */ diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/strarray.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/strarray.h new file mode 100644 index 00000000..dcb628a1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/strarray.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_strarray_h__ +#define INCLUDE_git_strarray_h__ + +#include "common.h" + +/** + * @file git2/strarray.h + * @brief An array of strings for the user to free + * @defgroup git_strarray An array of strings for the user to free + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Array of strings */ +typedef struct git_strarray { + char **strings; + size_t count; +} git_strarray; + +/** + * Free the strings contained in a string array. This method should + * be called on `git_strarray` objects that were provided by the + * library. Not doing so, will result in a memory leak. + * + * This does not free the `git_strarray` itself, since the library will + * never allocate that object directly itself. + * + * @param array The git_strarray that contains strings to free + */ +GIT_EXTERN(void) git_strarray_dispose(git_strarray *array); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/submodule.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/submodule.h new file mode 100644 index 00000000..911b3cee --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/submodule.h @@ -0,0 +1,679 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_submodule_h__ +#define INCLUDE_git_submodule_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "remote.h" +#include "checkout.h" + +/** + * @file git2/submodule.h + * @brief Submodules place another repository's contents within this one + * + * Submodule support in libgit2 builds a list of known submodules and keeps + * it in the repository. The list is built from the .gitmodules file, the + * .git/config file, the index, and the HEAD tree. Items in the working + * directory that look like submodules (i.e. a git repo) but are not + * mentioned in those places won't be tracked. + * + * @defgroup git_submodule Git submodule management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Return codes for submodule status. + * + * A combination of these flags will be returned to describe the status of a + * submodule. Depending on the "ignore" property of the submodule, some of + * the flags may never be returned because they indicate changes that are + * supposed to be ignored. + * + * Submodule info is contained in 4 places: the HEAD tree, the index, config + * files (both .git/config and .gitmodules), and the working directory. Any + * or all of those places might be missing information about the submodule + * depending on what state the repo is in. We consider all four places to + * build the combination of status flags. + * + * There are four values that are not really status, but give basic info + * about what sources of submodule data are available. These will be + * returned even if ignore is set to "ALL". + * + * * IN_HEAD - superproject head contains submodule + * * IN_INDEX - superproject index contains submodule + * * IN_CONFIG - superproject gitmodules has submodule + * * IN_WD - superproject workdir has submodule + * + * The following values will be returned so long as ignore is not "ALL". + * + * * INDEX_ADDED - in index, not in head + * * INDEX_DELETED - in head, not in index + * * INDEX_MODIFIED - index and head don't match + * * WD_UNINITIALIZED - workdir contains empty directory + * * WD_ADDED - in workdir, not index + * * WD_DELETED - in index, not workdir + * * WD_MODIFIED - index and workdir head don't match + * + * The following can only be returned if ignore is "NONE" or "UNTRACKED". + * + * * WD_INDEX_MODIFIED - submodule workdir index is dirty + * * WD_WD_MODIFIED - submodule workdir has modified files + * + * Lastly, the following will only be returned for ignore "NONE". + * + * * WD_UNTRACKED - wd contains untracked files + */ +typedef enum { + GIT_SUBMODULE_STATUS_IN_HEAD = (1u << 0), + GIT_SUBMODULE_STATUS_IN_INDEX = (1u << 1), + GIT_SUBMODULE_STATUS_IN_CONFIG = (1u << 2), + GIT_SUBMODULE_STATUS_IN_WD = (1u << 3), + GIT_SUBMODULE_STATUS_INDEX_ADDED = (1u << 4), + GIT_SUBMODULE_STATUS_INDEX_DELETED = (1u << 5), + GIT_SUBMODULE_STATUS_INDEX_MODIFIED = (1u << 6), + GIT_SUBMODULE_STATUS_WD_UNINITIALIZED = (1u << 7), + GIT_SUBMODULE_STATUS_WD_ADDED = (1u << 8), + GIT_SUBMODULE_STATUS_WD_DELETED = (1u << 9), + GIT_SUBMODULE_STATUS_WD_MODIFIED = (1u << 10), + GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED = (1u << 11), + GIT_SUBMODULE_STATUS_WD_WD_MODIFIED = (1u << 12), + GIT_SUBMODULE_STATUS_WD_UNTRACKED = (1u << 13) +} git_submodule_status_t; + +/** Submodule source bits */ +#define GIT_SUBMODULE_STATUS__IN_FLAGS 0x000Fu +/** Submodule index status */ +#define GIT_SUBMODULE_STATUS__INDEX_FLAGS 0x0070u +/** Submodule working directory status */ +#define GIT_SUBMODULE_STATUS__WD_FLAGS 0x3F80u + +/** Whether the submodule is modified */ +#define GIT_SUBMODULE_STATUS_IS_UNMODIFIED(S) \ + (((S) & ~GIT_SUBMODULE_STATUS__IN_FLAGS) == 0) + +/** Whether the submodule is modified (in the index) */ +#define GIT_SUBMODULE_STATUS_IS_INDEX_UNMODIFIED(S) \ + (((S) & GIT_SUBMODULE_STATUS__INDEX_FLAGS) == 0) + +/** Whether the submodule is modified (in the working directory) */ +#define GIT_SUBMODULE_STATUS_IS_WD_UNMODIFIED(S) \ + (((S) & (GIT_SUBMODULE_STATUS__WD_FLAGS & \ + ~GIT_SUBMODULE_STATUS_WD_UNINITIALIZED)) == 0) + +/** Whether the submodule working directory is dirty */ +#define GIT_SUBMODULE_STATUS_IS_WD_DIRTY(S) \ + (((S) & (GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED | \ + GIT_SUBMODULE_STATUS_WD_WD_MODIFIED | \ + GIT_SUBMODULE_STATUS_WD_UNTRACKED)) != 0) + +/** + * Function pointer to receive each submodule + * + * @param sm git_submodule currently being visited + * @param name name of the submodule + * @param payload value you passed to the foreach function as payload + * @return 0 on success or error code + */ +typedef int GIT_CALLBACK(git_submodule_cb)( + git_submodule *sm, const char *name, void *payload); + +/** + * Submodule update options structure + * + * Initialize with `GIT_SUBMODULE_UPDATE_OPTIONS_INIT`. Alternatively, you can + * use `git_submodule_update_options_init`. + * + */ +typedef struct git_submodule_update_options { + unsigned int version; + + /** + * These options are passed to the checkout step. To disable + * checkout, set the `checkout_strategy` to `GIT_CHECKOUT_NONE` + * or `GIT_CHECKOUT_DRY_RUN`. + */ + git_checkout_options checkout_opts; + + /** + * Options which control the fetch, including callbacks. + * + * The callbacks to use for reporting fetch progress, and for acquiring + * credentials in the event they are needed. + */ + git_fetch_options fetch_opts; + + /** + * Allow fetching from the submodule's default remote if the target + * commit isn't found. Enabled by default. + */ + int allow_fetch; +} git_submodule_update_options; + +/** Current version for the `git_submodule_update_options` structure */ +#define GIT_SUBMODULE_UPDATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_submodule_update_options` */ +#define GIT_SUBMODULE_UPDATE_OPTIONS_INIT \ + { GIT_SUBMODULE_UPDATE_OPTIONS_VERSION, \ + GIT_CHECKOUT_OPTIONS_INIT, \ + GIT_FETCH_OPTIONS_INIT, \ + 1 } + +/** + * Initialize git_submodule_update_options structure + * + * Initializes a `git_submodule_update_options` with default values. Equivalent to + * creating an instance with `GIT_SUBMODULE_UPDATE_OPTIONS_INIT`. + * + * @param opts The `git_submodule_update_options` struct to initialize. + * @param version The struct version; pass `GIT_SUBMODULE_UPDATE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_submodule_update_options_init( + git_submodule_update_options *opts, unsigned int version); + +/** + * Update a submodule. This will clone a missing submodule and + * checkout the subrepository to the commit specified in the index of + * the containing repository. If the submodule repository doesn't contain + * the target commit (e.g. because fetchRecurseSubmodules isn't set), then + * the submodule is fetched using the fetch options supplied in options. + * + * @param submodule Submodule object + * @param init If the submodule is not initialized, setting this flag to true + * will initialize the submodule before updating. Otherwise, this will + * return an error if attempting to update an uninitialized repository. + * but setting this to true forces them to be updated. + * @param options configuration options for the update. If NULL, the + * function works as though GIT_SUBMODULE_UPDATE_OPTIONS_INIT was passed. + * @return 0 on success, any non-zero return value from a callback + * function, or a negative value to indicate an error (use + * `git_error_last` for a detailed error message). + */ +GIT_EXTERN(int) git_submodule_update(git_submodule *submodule, int init, git_submodule_update_options *options); + +/** + * Lookup submodule information by name or path. + * + * Given either the submodule name or path (they are usually the same), this + * returns a structure describing the submodule. + * + * There are two expected error scenarios: + * + * - The submodule is not mentioned in the HEAD, the index, and the config, + * but does "exist" in the working directory (i.e. there is a subdirectory + * that appears to be a Git repository). In this case, this function + * returns GIT_EEXISTS to indicate a sub-repository exists but not in a + * state where a git_submodule can be instantiated. + * - The submodule is not mentioned in the HEAD, index, or config and the + * working directory doesn't contain a value git repo at that path. + * There may or may not be anything else at that path, but nothing that + * looks like a submodule. In this case, this returns GIT_ENOTFOUND. + * + * You must call `git_submodule_free` when done with the submodule. + * + * @param out Output ptr to submodule; pass NULL to just get return code + * @param repo The parent repository + * @param name The name of or path to the submodule; trailing slashes okay + * @return 0 on success, GIT_ENOTFOUND if submodule does not exist, + * GIT_EEXISTS if a repository is found in working directory only, + * -1 on other errors. + */ +GIT_EXTERN(int) git_submodule_lookup( + git_submodule **out, + git_repository *repo, + const char *name); + +/** + * Create an in-memory copy of a submodule. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the submodule. + * @param source Original submodule to copy. + * @return 0 + */ +GIT_EXTERN(int) git_submodule_dup(git_submodule **out, git_submodule *source); + +/** + * Release a submodule + * + * @param submodule Submodule object + */ +GIT_EXTERN(void) git_submodule_free(git_submodule *submodule); + +/** + * Iterate over all tracked submodules of a repository. + * + * See the note on `git_submodule` above. This iterates over the tracked + * submodules as described therein. + * + * 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. + * + * @param repo The repository + * @param callback Function to be called with the name of each submodule. + * Return a non-zero value to terminate the iteration. + * @param payload Extra data to pass to callback + * @return 0 on success, -1 on error, or non-zero return value of callback + */ +GIT_EXTERN(int) git_submodule_foreach( + git_repository *repo, + git_submodule_cb callback, + void *payload); + +/** + * Set up a new git submodule for checkout. + * + * This does "git submodule add" up to the fetch and checkout of the + * submodule contents. It preps a new submodule, creates an entry in + * .gitmodules and creates an empty initialized repository either at the + * given path in the working directory or in .git/modules with a gitlink + * from the working directory to the new repo. + * + * To fully emulate "git submodule add" call this function, then open the + * submodule repo and perform the clone step as needed (if you don't need + * anything custom see `git_submodule_add_clone()`). Lastly, call + * `git_submodule_add_finalize()` to wrap up adding the new submodule and + * .gitmodules to the index to be ready to commit. + * + * You must call `git_submodule_free` on the submodule object when done. + * + * @param out The newly created submodule ready to open for clone + * @param repo The repository in which you want to create the submodule + * @param url URL for the submodule's remote + * @param path Path at which the submodule should be created + * @param use_gitlink Should workdir contain a gitlink to the repo in + * .git/modules vs. repo directly in workdir. + * @return 0 on success, GIT_EEXISTS if submodule already exists, + * -1 on other errors. + */ +GIT_EXTERN(int) git_submodule_add_setup( + git_submodule **out, + git_repository *repo, + const char *url, + const char *path, + int use_gitlink); + +/** + * Perform the clone step for a newly created submodule. + * + * This performs the necessary `git_clone` to setup a newly-created submodule. + * + * @param out The newly created repository object. Optional. + * @param submodule The submodule currently waiting for its clone. + * @param opts The options to use. + * + * @return 0 on success, -1 on other errors (see git_clone). + */ +GIT_EXTERN(int) git_submodule_clone( + git_repository **out, + git_submodule *submodule, + const git_submodule_update_options *opts); + +/** + * Resolve the setup of a new git submodule. + * + * This should be called on a submodule once you have called add setup + * and done the clone of the submodule. This adds the .gitmodules file + * and the newly cloned submodule to the index to be ready to be committed + * (but doesn't actually do the commit). + * + * @param submodule The submodule to finish adding. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_submodule_add_finalize(git_submodule *submodule); + +/** + * Add current submodule HEAD commit to index of superproject. + * + * @param submodule The submodule to add to the index + * @param write_index Boolean if this should immediately write the index + * file. If you pass this as false, you will have to get the + * git_index and explicitly call `git_index_write()` on it to + * save the change. + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_submodule_add_to_index( + git_submodule *submodule, + int write_index); + +/** + * Get the containing repository for a submodule. + * + * This returns a pointer to the repository that contains the submodule. + * This is a just a reference to the repository that was passed to the + * original `git_submodule_lookup()` call, so if that repository has been + * freed, then this may be a dangling reference. + * + * @param submodule Pointer to submodule object + * @return Pointer to `git_repository` + */ +GIT_EXTERN(git_repository *) git_submodule_owner(git_submodule *submodule); + +/** + * Get the name of submodule. + * + * @param submodule Pointer to submodule object + * @return Pointer to the submodule name + */ +GIT_EXTERN(const char *) git_submodule_name(git_submodule *submodule); + +/** + * Get the path to the submodule. + * + * The path is almost always the same as the submodule name, but the + * two are actually not required to match. + * + * @param submodule Pointer to submodule object + * @return Pointer to the submodule path + */ +GIT_EXTERN(const char *) git_submodule_path(git_submodule *submodule); + +/** + * Get the URL for the submodule. + * + * @param submodule Pointer to submodule object + * @return Pointer to the submodule url + */ +GIT_EXTERN(const char *) git_submodule_url(git_submodule *submodule); + +/** + * Resolve a submodule url relative to the given repository. + * + * @param out buffer to store the absolute submodule url in + * @param repo Pointer to repository object + * @param url Relative url + * @return 0 or an error code + */ +GIT_EXTERN(int) git_submodule_resolve_url(git_buf *out, git_repository *repo, const char *url); + +/** +* Get the branch for the submodule. +* +* @param submodule Pointer to submodule object +* @return Pointer to the submodule branch +*/ +GIT_EXTERN(const char *) git_submodule_branch(git_submodule *submodule); + +/** + * Set the branch for the submodule in the configuration + * + * After calling this, you may wish to call `git_submodule_sync()` to + * write the changes to the checked out submodule repository. + * + * @param repo the repository to affect + * @param name the name of the submodule to configure + * @param branch Branch that should be used for the submodule + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_submodule_set_branch(git_repository *repo, const char *name, const char *branch); + +/** + * Set the URL for the submodule in the configuration + * + * + * After calling this, you may wish to call `git_submodule_sync()` to + * write the changes to the checked out submodule repository. + * + * @param repo the repository to affect + * @param name the name of the submodule to configure + * @param url URL that should be used for the submodule + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_submodule_set_url(git_repository *repo, const char *name, const char *url); + +/** + * Get the OID for the submodule in the index. + * + * @param submodule Pointer to submodule object + * @return Pointer to git_oid or NULL if submodule is not in index. + */ +GIT_EXTERN(const git_oid *) git_submodule_index_id(git_submodule *submodule); + +/** + * Get the OID for the submodule in the current HEAD tree. + * + * @param submodule Pointer to submodule object + * @return Pointer to git_oid or NULL if submodule is not in the HEAD. + */ +GIT_EXTERN(const git_oid *) git_submodule_head_id(git_submodule *submodule); + +/** + * Get the OID for the submodule in the current working directory. + * + * This returns the OID that corresponds to looking up 'HEAD' in the checked + * out submodule. If there are pending changes in the index or anything + * else, this won't notice that. You should call `git_submodule_status()` + * for a more complete picture about the state of the working directory. + * + * @param submodule Pointer to submodule object + * @return Pointer to git_oid or NULL if submodule is not checked out. + */ +GIT_EXTERN(const git_oid *) git_submodule_wd_id(git_submodule *submodule); + +/** + * Get the ignore rule that will be used for the submodule. + * + * These values control the behavior of `git_submodule_status()` for this + * submodule. There are four ignore values: + * + * - **GIT_SUBMODULE_IGNORE_NONE** will consider any change to the contents + * of the submodule from a clean checkout to be dirty, including the + * addition of untracked files. This is the default if unspecified. + * - **GIT_SUBMODULE_IGNORE_UNTRACKED** examines the contents of the + * working tree (i.e. call `git_status_foreach()` on the submodule) but + * UNTRACKED files will not count as making the submodule dirty. + * - **GIT_SUBMODULE_IGNORE_DIRTY** means to only check if the HEAD of the + * submodule has moved for status. This is fast since it does not need to + * scan the working tree of the submodule at all. + * - **GIT_SUBMODULE_IGNORE_ALL** means not to open the submodule repo. + * The working directory will be consider clean so long as there is a + * checked out version present. + * + * @param submodule The submodule to check + * @return The current git_submodule_ignore_t valyue what will be used for + * this submodule. + */ +GIT_EXTERN(git_submodule_ignore_t) git_submodule_ignore( + git_submodule *submodule); + +/** + * Set the ignore rule for the submodule in the configuration + * + * This does not affect any currently-loaded instances. + * + * @param repo the repository to affect + * @param name the name of the submdule + * @param ignore The new value for the ignore rule + * @return 0 or an error code + */ +GIT_EXTERN(int) git_submodule_set_ignore( + git_repository *repo, + const char *name, + git_submodule_ignore_t ignore); + +/** + * Get the update rule that will be used for the submodule. + * + * This value controls the behavior of the `git submodule update` command. + * There are four useful values documented with `git_submodule_update_t`. + * + * @param submodule The submodule to check + * @return The current git_submodule_update_t value that will be used + * for this submodule. + */ +GIT_EXTERN(git_submodule_update_t) git_submodule_update_strategy( + git_submodule *submodule); + +/** + * Set the update rule for the submodule in the configuration + * + * This setting won't affect any existing instances. + * + * @param repo the repository to affect + * @param name the name of the submodule to configure + * @param update The new value to use + * @return 0 or an error code + */ +GIT_EXTERN(int) git_submodule_set_update( + git_repository *repo, + const char *name, + git_submodule_update_t update); + +/** + * Read the fetchRecurseSubmodules rule for a submodule. + * + * This accesses the submodule..fetchRecurseSubmodules value for + * the submodule that controls fetching behavior for the submodule. + * + * Note that at this time, libgit2 does not honor this setting and the + * fetch functionality current ignores submodules. + * + * @param submodule the submodule to examine + * @return the submodule recursion configuration + */ +GIT_EXTERN(git_submodule_recurse_t) git_submodule_fetch_recurse_submodules( + git_submodule *submodule); + +/** + * Set the fetchRecurseSubmodules rule for a submodule in the configuration + * + * This setting won't affect any existing instances. + * + * @param repo the repository to affect + * @param name the submodule to configure + * @param fetch_recurse_submodules the submodule recursion configuration + * @return old value for fetchRecurseSubmodules + */ +GIT_EXTERN(int) git_submodule_set_fetch_recurse_submodules( + git_repository *repo, + const char *name, + git_submodule_recurse_t fetch_recurse_submodules); + +/** + * Copy submodule info into ".git/config" file. + * + * Just like "git submodule init", this copies information about the + * submodule into ".git/config". You can use the accessor functions + * above to alter the in-memory git_submodule object and control what + * is written to the config, overriding what is in .gitmodules. + * + * @param submodule The submodule to write into the superproject config + * @param overwrite By default, existing entries will not be overwritten, + * but setting this to true forces them to be updated. + * @return 0 on success, <0 on failure. + */ +GIT_EXTERN(int) git_submodule_init(git_submodule *submodule, int overwrite); + +/** + * Set up the subrepository for a submodule in preparation for clone. + * + * This function can be called to init and set up a submodule + * repository from a submodule in preparation to clone it from + * its remote. + * + * @param out Output pointer to the created git repository. + * @param sm The submodule to create a new subrepository from. + * @param use_gitlink Should the workdir contain a gitlink to + * the repo in .git/modules vs. repo directly in workdir. + * @return 0 on success, <0 on failure. + */ +GIT_EXTERN(int) git_submodule_repo_init( + git_repository **out, + const git_submodule *sm, + int use_gitlink); + +/** + * Copy submodule remote info into submodule repo. + * + * This copies the information about the submodules URL into the checked out + * submodule config, acting like "git submodule sync". This is useful if + * you have altered the URL for the submodule (or it has been altered by a + * fetch of upstream changes) and you need to update your local repo. + * + * @param submodule The submodule to copy. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_submodule_sync(git_submodule *submodule); + +/** + * Open the repository for a submodule. + * + * This is a newly opened repository object. The caller is responsible for + * calling `git_repository_free()` on it when done. Multiple calls to this + * function will return distinct `git_repository` objects. This will only + * work if the submodule is checked out into the working directory. + * + * @param repo Pointer to the submodule repo which was opened + * @param submodule Submodule to be opened + * @return 0 on success, <0 if submodule repo could not be opened. + */ +GIT_EXTERN(int) git_submodule_open( + git_repository **repo, + git_submodule *submodule); + +/** + * Reread submodule info from config, index, and HEAD. + * + * Call this to reread cached submodule information for this submodule if + * you have reason to believe that it has changed. + * + * @param submodule The submodule to reload + * @param force Force reload even if the data doesn't seem out of date + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_submodule_reload(git_submodule *submodule, int force); + +/** + * Get the status for a submodule. + * + * 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. + * + * @param status Combination of `GIT_SUBMODULE_STATUS` flags + * @param repo the repository in which to look + * @param name name of the submodule + * @param ignore the ignore rules to follow + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_submodule_status( + unsigned int *status, + git_repository *repo, + const char *name, + git_submodule_ignore_t ignore); + +/** + * Get the locations of submodule information. + * + * This is a bit like a very lightweight version of `git_submodule_status`. + * It just returns a made of the first four submodule status values (i.e. + * the ones like GIT_SUBMODULE_STATUS_IN_HEAD, etc) that tell you where the + * submodule data comes from (i.e. the HEAD commit, gitmodules file, etc.). + * This can be useful if you want to know if the submodule is present in the + * working directory at this point in time, etc. + * + * @param location_status Combination of first four `GIT_SUBMODULE_STATUS` flags + * @param submodule Submodule for which to get status + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_submodule_location( + unsigned int *location_status, + git_submodule *submodule); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/alloc.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/alloc.h new file mode 100644 index 00000000..67506f2b --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/alloc.h @@ -0,0 +1,79 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_alloc_h__ +#define INCLUDE_sys_git_alloc_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/alloc.h + * @brief Custom memory allocators + * @defgroup git_merge Git merge routines + * @ingroup Git + * + * Users can configure custom allocators; this is particularly + * interesting when running in constrained environments, when calling + * from another language, or during testing. + * @{ + */ +GIT_BEGIN_DECL + +/** + * An instance for a custom memory allocator + * + * Setting the pointers of this structure allows the developer to implement + * custom memory allocators. The global memory allocator can be set by using + * "GIT_OPT_SET_ALLOCATOR" with the `git_libgit2_opts` function. Keep in mind + * that all fields need to be set to a proper function. + */ +typedef struct { + /** Allocate `n` bytes of memory */ + void * GIT_CALLBACK(gmalloc)(size_t n, const char *file, int line); + + /** + * This function shall deallocate the old object `ptr` and return a + * pointer to a new object that has the size specified by `size`. In + * case `ptr` is `NULL`, a new array shall be allocated. + */ + void * GIT_CALLBACK(grealloc)(void *ptr, size_t size, const char *file, int line); + + /** + * This function shall free the memory pointed to by `ptr`. In case + * `ptr` is `NULL`, this shall be a no-op. + */ + void GIT_CALLBACK(gfree)(void *ptr); +} git_allocator; + +/** + * Initialize the allocator structure to use the `stdalloc` pointer. + * + * Set up the structure so that all of its members are using the standard + * "stdalloc" allocator functions. The structure can then be used with + * `git_allocator_setup`. + * + * @param allocator The allocator that is to be initialized. + * @return An error code or 0. + */ +int git_stdalloc_init_allocator(git_allocator *allocator); + +/** + * Initialize the allocator structure to use the `crtdbg` pointer. + * + * Set up the structure so that all of its members are using the "crtdbg" + * allocator functions. Note that this allocator is only available on Windows + * platforms and only if libgit2 is being compiled with "-DMSVC_CRTDBG". + * + * @param allocator The allocator that is to be initialized. + * @return An error code or 0. + */ +int git_win32_crtdbg_init_allocator(git_allocator *allocator); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/commit.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/commit.h new file mode 100644 index 00000000..a8253c06 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/commit.h @@ -0,0 +1,154 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_commit_h__ +#define INCLUDE_sys_git_commit_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/commit.h + * @brief Low-level Git commit creation + * @defgroup git_commit Low-level Git commit creation + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create new commit in the repository from a list of `git_oid` values. + * + * See documentation for `git_commit_create()` for information about the + * parameters, as the meaning is identical excepting that `tree` and + * `parents` now take `git_oid`. This is a dangerous API in that nor + * the `tree`, neither the `parents` list of `git_oid`s are checked for + * validity. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @param parents Array of `parent_count` pointers to `git_commit` + * objects that will be used as the parents for this commit. This + * array may be NULL if `parent_count` is 0 (root commit). All the + * given commits must be owned by the `repo`. + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create_from_ids( + 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_oid *tree, + size_t parent_count, + const git_oid *parents[]); + +/** + * Callback function to return parents for commit. + * + * This is invoked with the count of the number of parents processed so far + * along with the user supplied payload. This should return a git_oid of + * the next parent or NULL if all parents have been provided. + * + * @param idx the index of the parent + * @param payload the user-specified payload + * @return the object id of the parent, or NULL if there are no further parents + */ +typedef const git_oid * GIT_CALLBACK(git_commit_parent_callback)(size_t idx, void *payload); + +/** + * Create a new commit in the repository with an callback to supply parents. + * + * See documentation for `git_commit_create()` for information about the + * parameters, as the meaning is identical excepting that `tree` takes a + * `git_oid` and doesn't check for validity, and `parent_cb` is invoked + * with `parent_payload` and should return `git_oid` values or NULL to + * indicate that all parents are accounted for. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_cb Callback to invoke to obtain parent information + * + * @param parent_payload User-specified payload to provide to the callback + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create_from_callback( + 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_oid *tree, + git_commit_parent_callback parent_cb, + void *parent_payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/commit_graph.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/commit_graph.h new file mode 100644 index 00000000..ff547ef0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/commit_graph.h @@ -0,0 +1,225 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_commit_graph_h__ +#define INCLUDE_sys_git_commit_graph_h__ + +#include "git2/common.h" +#include "git2/types.h" + +/** + * @file git2/sys/commit_graph.h + * @brief Commit graphs store information about commit relationships + * @defgroup git_commit_graph Commit graphs + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options structure for `git_commit_graph_open_new`. + * + * Initialize with `GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT`. Alternatively, + * you can use `git_commit_graph_open_options_init`. + */ +typedef struct { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** The object ID type that this commit graph contains. */ + git_oid_t oid_type; +#endif +} git_commit_graph_open_options; + +/** Current version for the `git_commit_graph_open_options` structure */ +#define GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION 1 + +/** Static constructor for `git_commit_graph_open_options` */ +#define GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT { \ + GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION \ + } + +/** + * Initialize git_commit_graph_open_options structure + * + * Initializes a `git_commit_graph_open_options` with default values. + * Equivalent to creating an instance with + * `GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT`. + * + * @param opts The `git_commit_graph_open_options` struct to initialize. + * @param version The struct version; pass `GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_commit_graph_open_options_init( + git_commit_graph_open_options *opts, + unsigned int version); + + +/** + * Opens a `git_commit_graph` from a path to an objects directory. + * + * This finds, opens, and validates the `commit-graph` file. + * + * @param cgraph_out the `git_commit_graph` struct to initialize. + * @param objects_dir the path to a git objects directory. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_commit_graph_open( + git_commit_graph **cgraph_out, + const char *objects_dir +#ifdef GIT_EXPERIMENTAL_SHA256 + , const git_commit_graph_open_options *options +#endif + ); + +/** + * Frees commit-graph data. This should only be called when memory allocated + * using `git_commit_graph_open` is not returned to libgit2 because it was not + * associated with the ODB through a successful call to + * `git_odb_set_commit_graph`. + * + * @param cgraph the commit-graph object to free. If NULL, no action is taken. + */ +GIT_EXTERN(void) git_commit_graph_free(git_commit_graph *cgraph); + + +/** + * The strategy to use when adding a new set of commits to a pre-existing + * commit-graph chain. + */ +typedef enum { + /** + * Do not split commit-graph files. The other split strategy-related option + * fields are ignored. + */ + GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0 +} git_commit_graph_split_strategy_t; + +/** + * Options structure for `git_commit_graph_writer_new`. + * + * Initialize with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. Alternatively, + * you can use `git_commit_graph_writer_options_init`. + */ +typedef struct { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** The object ID type that this commit graph contains. */ + git_oid_t oid_type; +#endif + + /** + * The strategy to use when adding new commits to a pre-existing commit-graph + * chain. + */ + git_commit_graph_split_strategy_t split_strategy; + + /** + * The number of commits in level N is less than X times the number of + * commits in level N + 1. Default is 2. + */ + float size_multiple; + + /** + * The number of commits in level N + 1 is more than C commits. + * Default is 64000. + */ + size_t max_commits; +} git_commit_graph_writer_options; + +/** Current version for the `git_commit_graph_writer_options` structure */ +#define GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION 1 + +/** Static constructor for `git_commit_graph_writer_options` */ +#define GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT { \ + GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION \ + } + +/** + * Initialize git_commit_graph_writer_options structure + * + * Initializes a `git_commit_graph_writer_options` with default values. Equivalent to + * creating an instance with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. + * + * @param opts The `git_commit_graph_writer_options` struct to initialize. + * @param version The struct version; pass `GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_commit_graph_writer_options_init( + git_commit_graph_writer_options *opts, + unsigned int version); + +/** + * Create a new writer for `commit-graph` files. + * + * @param out Location to store the writer pointer. + * @param objects_info_dir The `objects/info` directory. + * The `commit-graph` file will be written in this directory. + * @param options The options for the commit graph writer. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_new( + git_commit_graph_writer **out, + const char *objects_info_dir, + const git_commit_graph_writer_options *options); + +/** + * Free the commit-graph writer and its resources. + * + * @param w The writer to free. If NULL no action is taken. + */ +GIT_EXTERN(void) git_commit_graph_writer_free(git_commit_graph_writer *w); + +/** + * Add an `.idx` file (associated to a packfile) to the writer. + * + * @param w The writer. + * @param repo The repository that owns the `.idx` file. + * @param idx_path The path of an `.idx` file. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_add_index_file( + git_commit_graph_writer *w, + git_repository *repo, + const char *idx_path); + +/** + * Add a revwalk to the writer. This will add all the commits from the revwalk + * to the commit-graph. + * + * @param w The writer. + * @param walk The git_revwalk. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_add_revwalk( + git_commit_graph_writer *w, + git_revwalk *walk); + +/** + * Write a `commit-graph` file to a file. + * + * @param w The writer + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_commit( + git_commit_graph_writer *w); + +/** + * Dump the contents of the `commit-graph` to an in-memory buffer. + * + * @param[out] buffer Buffer where to store the contents of the `commit-graph`. + * @param w The writer. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_dump( + git_buf *buffer, + git_commit_graph_writer *w); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/config.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/config.h new file mode 100644 index 00000000..cc4a3991 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/config.h @@ -0,0 +1,206 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_config_backend_h__ +#define INCLUDE_sys_git_config_backend_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/config.h" + +/** + * @file git2/sys/config.h + * @brief Custom configuration database backends + * @defgroup git_backend Custom configuration database backends + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * An entry in a configuration backend. This is provided so that + * backend implementors can have a mechanism to free their data. + */ +typedef struct git_config_backend_entry { + /** The base configuration entry */ + struct git_config_entry entry; + + /** + * Free function for this entry; for internal purposes. Callers + * should call `git_config_entry_free` to free data. + */ + void GIT_CALLBACK(free)(struct git_config_backend_entry *entry); +} git_config_backend_entry; + +/** + * Every iterator must have this struct as its first element, so the + * API can talk to it. You'd define your iterator as + * + * struct my_iterator { + * git_config_iterator parent; + * ... + * } + * + * and assign `iter->parent.backend` to your `git_config_backend`. + */ +struct git_config_iterator { + git_config_backend *backend; + unsigned int flags; + + /** + * Return the current entry and advance the iterator. The + * memory belongs to the library. + */ + int GIT_CALLBACK(next)(git_config_backend_entry **entry, git_config_iterator *iter); + + /** + * Free the iterator + */ + void GIT_CALLBACK(free)(git_config_iterator *iter); +}; + +/** + * Generic backend that implements the interface to + * access a configuration file + */ +struct git_config_backend { + unsigned int version; + /** True if this backend is for a snapshot */ + int readonly; + struct git_config *cfg; + + /* Open means open the file/database and parse if necessary */ + int GIT_CALLBACK(open)(struct git_config_backend *, git_config_level_t level, const git_repository *repo); + int GIT_CALLBACK(get)(struct git_config_backend *, const char *key, git_config_backend_entry **entry); + int GIT_CALLBACK(set)(struct git_config_backend *, const char *key, const char *value); + int GIT_CALLBACK(set_multivar)(git_config_backend *cfg, const char *name, const char *regexp, const char *value); + int GIT_CALLBACK(del)(struct git_config_backend *, const char *key); + int GIT_CALLBACK(del_multivar)(struct git_config_backend *, const char *key, const char *regexp); + int GIT_CALLBACK(iterator)(git_config_iterator **, struct git_config_backend *); + /** Produce a read-only version of this backend */ + int GIT_CALLBACK(snapshot)(struct git_config_backend **, struct git_config_backend *); + /** + * Lock this backend. + * + * Prevent any writes to the data store backing this + * backend. Any updates must not be visible to any other + * readers. + */ + int GIT_CALLBACK(lock)(struct git_config_backend *); + /** + * Unlock the data store backing this backend. If success is + * true, the changes should be committed, otherwise rolled + * back. + */ + int GIT_CALLBACK(unlock)(struct git_config_backend *, int success); + void GIT_CALLBACK(free)(struct git_config_backend *); +}; + +/** Current version for the `git_config_backend_options` structure */ +#define GIT_CONFIG_BACKEND_VERSION 1 + +/** Static constructor for `git_config_backend_options` */ +#define GIT_CONFIG_BACKEND_INIT {GIT_CONFIG_BACKEND_VERSION} + +/** + * Initializes a `git_config_backend` with default values. Equivalent to + * creating an instance with GIT_CONFIG_BACKEND_INIT. + * + * @param backend the `git_config_backend` struct to initialize. + * @param version Version of struct; pass `GIT_CONFIG_BACKEND_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_config_init_backend( + git_config_backend *backend, + unsigned int version); + +/** + * Add a generic config file instance to an existing config + * + * Note that the configuration object will free the file + * automatically. + * + * Further queries on this config object will access each + * of the config file instances in order (instances with + * a higher priority level will be accessed first). + * + * @param cfg the configuration to add the file to + * @param file the configuration file (backend) to add + * @param level the priority level of the backend + * @param repo optional repository to allow parsing of + * conditional includes + * @param force if a config file already exists for the given + * priority level, replace it + * @return 0 on success, GIT_EEXISTS when adding more than one file + * for a given priority level (and force_replace set to 0), or error code + */ +GIT_EXTERN(int) git_config_add_backend( + git_config *cfg, + git_config_backend *file, + git_config_level_t level, + const git_repository *repo, + int force); + +/** Options for in-memory configuration backends. */ +typedef struct { + unsigned int version; + + /** + * The type of this backend (eg, "command line"). If this is + * NULL, then this will be "in-memory". + */ + const char *backend_type; + + /** + * The path to the origin; if this is NULL then it will be + * left unset in the resulting configuration entries. + */ + const char *origin_path; +} git_config_backend_memory_options; + +/** Current version for the `git_config_backend_memory_options` structure */ +#define GIT_CONFIG_BACKEND_MEMORY_OPTIONS_VERSION 1 + +/** Static constructor for `git_config_backend_memory_options` */ +#define GIT_CONFIG_BACKEND_MEMORY_OPTIONS_INIT { GIT_CONFIG_BACKEND_MEMORY_OPTIONS_VERSION } + + +/** + * Create an in-memory configuration backend from a string in standard + * git configuration file format. + * + * @param out the new backend + * @param cfg the configuration that is to be parsed + * @param len the length of the string pointed to by `cfg` + * @param opts the options to initialize this backend with, or NULL + * @return 0 on success or an error code + */ +extern int git_config_backend_from_string( + git_config_backend **out, + const char *cfg, + size_t len, + git_config_backend_memory_options *opts); + +/** + * Create an in-memory configuration backend from a list of name/value + * pairs. + * + * @param out the new backend + * @param values the configuration values to set (in "key=value" format) + * @param len the length of the values array + * @param opts the options to initialize this backend with, or NULL + * @return 0 on success or an error code + */ +extern int git_config_backend_from_values( + git_config_backend **out, + const char **values, + size_t len, + git_config_backend_memory_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/cred.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/cred.h new file mode 100644 index 00000000..4d2a59af --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/cred.h @@ -0,0 +1,15 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_cred_h__ +#define INCLUDE_sys_git_cred_h__ + +/* These declarations have moved. */ +#ifndef GIT_DEPRECATE_HARD +# include "git2/sys/credential.h" +#endif + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/credential.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/credential.h new file mode 100644 index 00000000..0d573a32 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/credential.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_credential_h__ +#define INCLUDE_sys_git_credential_h__ + +#include "git2/common.h" +#include "git2/credential.h" + +/** + * @file git2/sys/credential.h + * @brief Low-level credentials implementation + * @defgroup git_credential Low-level credentials implementation + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The base structure for all credential types + */ +struct git_credential { + git_credential_t credtype; /**< A type of credential */ + + /** The deallocator for this type of credentials */ + void GIT_CALLBACK(free)(git_credential *cred); +}; + +/** A plaintext username and password */ +struct git_credential_userpass_plaintext { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + char *password; /**< The password to use */ +}; + +/** Username-only credential information */ +struct git_credential_username { + git_credential parent; /**< The parent credential */ + char username[1]; /**< The username to authenticate as */ +}; + +/** + * A ssh key from disk + */ +struct git_credential_ssh_key { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + char *publickey; /**< The path to a public key */ + char *privatekey; /**< The path to a private key */ + char *passphrase; /**< Passphrase to decrypt the private key */ +}; + +/** + * Keyboard-interactive based ssh authentication + */ +struct git_credential_ssh_interactive { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + + /** + * Callback used for authentication. + */ + git_credential_ssh_interactive_cb prompt_callback; + + void *payload; /**< Payload passed to prompt_callback */ +}; + +/** + * A key with a custom signature function + */ +struct git_credential_ssh_custom { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + char *publickey; /**< The public key data */ + size_t publickey_len; /**< Length of the public key */ + + /** + * Callback used to sign the data. + */ + git_credential_sign_cb sign_callback; + + void *payload; /**< Payload passed to prompt_callback */ +}; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/diff.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/diff.h new file mode 100644 index 00000000..a398f549 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/diff.h @@ -0,0 +1,114 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_diff_h__ +#define INCLUDE_sys_git_diff_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" +#include "git2/diff.h" +#include "git2/status.h" + +/** + * @file git2/sys/diff.h + * @brief Low-level diff utilities + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Diff print callback that writes to a git_buf. + * + * This function is provided not for you to call it directly, but instead + * so you can use it as a function pointer to the `git_diff_print` or + * `git_patch_print` APIs. When using those APIs, you specify a callback + * to actually handle the diff and/or patch data. + * + * Use this callback to easily write that data to a `git_buf` buffer. You + * must pass a `git_buf *` value as the payload to the `git_diff_print` + * and/or `git_patch_print` function. The data will be appended to the + * buffer (after any existing content). + * + * @param delta the delta being processed + * @param hunk the hunk being processed + * @param line the line being processed + * @param payload the payload provided by the diff generator + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_diff_print_callback__to_buf( + const git_diff_delta *delta, + const git_diff_hunk *hunk, + const git_diff_line *line, + void *payload); /**< payload must be a `git_buf *` */ + +/** + * Diff print callback that writes to stdio FILE handle. + * + * This function is provided not for you to call it directly, but instead + * so you can use it as a function pointer to the `git_diff_print` or + * `git_patch_print` APIs. When using those APIs, you specify a callback + * to actually handle the diff and/or patch data. + * + * Use this callback to easily write that data to a stdio FILE handle. You + * must pass a `FILE *` value (such as `stdout` or `stderr` or the return + * value from `fopen()`) as the payload to the `git_diff_print` + * and/or `git_patch_print` function. If you pass NULL, this will write + * data to `stdout`. + * + * @param delta the delta being processed + * @param hunk the hunk being processed + * @param line the line being processed + * @param payload the payload provided by the diff generator + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_diff_print_callback__to_file_handle( + const git_diff_delta *delta, + const git_diff_hunk *hunk, + const git_diff_line *line, + void *payload); /**< payload must be a `FILE *` */ + + +/** + * Performance data from diffing + */ +typedef struct { + unsigned int version; + size_t stat_calls; /**< Number of stat() calls performed */ + size_t oid_calculations; /**< Number of ID calculations */ +} git_diff_perfdata; + +/** Current version for the `git_diff_perfdata_options` structure */ +#define GIT_DIFF_PERFDATA_VERSION 1 + +/** Static constructor for `git_diff_perfdata_options` */ +#define GIT_DIFF_PERFDATA_INIT {GIT_DIFF_PERFDATA_VERSION,0,0} + +/** + * Get performance data for a diff object. + * + * @param out Structure to be filled with diff performance data + * @param diff Diff to read performance data from + * @return 0 for success, <0 for error + */ +GIT_EXTERN(int) git_diff_get_perfdata( + git_diff_perfdata *out, const git_diff *diff); + +/** + * Get performance data for diffs from a git_status_list + * + * @param out Structure to be filled with diff performance data + * @param status Diff to read performance data from + * @return 0 for success, <0 for error + */ +GIT_EXTERN(int) git_status_list_get_perfdata( + git_diff_perfdata *out, const git_status_list *status); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/email.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/email.h new file mode 100644 index 00000000..26e792ab --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/email.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_email_h__ +#define INCLUDE_sys_git_email_h__ + +#include "git2/common.h" +#include "git2/diff.h" +#include "git2/email.h" +#include "git2/types.h" + +/** + * @file git2/sys/email.h + * @brief Advanced git email creation routines + * @defgroup git_email Advanced git email creation routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a diff for a commit in mbox format for sending via email. + * + * @param out buffer to store the e-mail patch in + * @param diff the changes to include in the email + * @param patch_idx the patch index + * @param patch_count the total number of patches that will be included + * @param commit_id the commit id for this change + * @param summary the commit message for this change + * @param body optional text to include above the diffstat + * @param author the person who authored this commit + * @param opts email creation options + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_email_create_from_diff( + 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); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/errors.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/errors.h new file mode 100644 index 00000000..44e8ecba --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/errors.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_errors_h__ +#define INCLUDE_sys_git_errors_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/errors.h + * @brief Advanced error handling + * @ingroup Git + * + * Error handling for advanced consumers; those who use callbacks + * or those who create custom databases. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Clear the last library error that occurred for this thread. + */ +GIT_EXTERN(void) git_error_clear(void); + +/** + * Set the error message string for this thread, using `printf`-style + * formatting. + * + * This function is public so that custom ODB backends and the like can + * relay an error message through libgit2. Most regular users of libgit2 + * will never need to call this function -- actually, calling it in most + * circumstances (for example, calling from within a callback function) + * will just end up having the value overwritten by libgit2 internals. + * + * This error message is stored in thread-local storage and only applies + * to the particular thread that this libgit2 call is made from. + * + * @param error_class One of the `git_error_t` enum above describing the + * general subsystem that is responsible for the error. + * @param fmt The `printf`-style format string; subsequent arguments must + * be the arguments for the format string. + */ +GIT_EXTERN(void) git_error_set(int error_class, const char *fmt, ...) + GIT_FORMAT_PRINTF(2, 3); + +/** + * Set the error message string for this thread. This function is like + * `git_error_set` but takes a static string instead of a `printf`-style + * format. + * + * @param error_class One of the `git_error_t` enum above describing the + * general subsystem that is responsible for the error. + * @param string The error message to keep + * @return 0 on success or -1 on failure + */ +GIT_EXTERN(int) git_error_set_str(int error_class, const char *string); + +/** + * Set the error message to a special value for memory allocation failure. + * + * The normal `git_error_set_str()` function attempts to `strdup()` the + * string that is passed in. This is not a good idea when the error in + * question is a memory allocation failure. That circumstance has a + * special setter function that sets the error string to a known and + * statically allocated internal value. + */ +GIT_EXTERN(void) git_error_set_oom(void); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/features.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/features.h new file mode 100644 index 00000000..425b8387 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/features.h @@ -0,0 +1,50 @@ +#ifndef INCLUDE_features_h__ +#define INCLUDE_features_h__ + +/* #undef GIT_DEBUG_POOL */ +/* #undef GIT_DEBUG_STRICT_ALLOC */ +/* #undef GIT_DEBUG_STRICT_OPEN */ + +#define GIT_TRACE 1 +#define GIT_THREADS 1 +/* #undef GIT_WIN32_LEAKCHECK */ + +#define GIT_ARCH_64 1 +/* #undef GIT_ARCH_32 */ + +#define GIT_USE_ICONV 1 +#define GIT_USE_NSEC 1 +/* #undef GIT_USE_STAT_MTIM */ +#define GIT_USE_STAT_MTIMESPEC 1 +/* #undef GIT_USE_STAT_MTIME_NSEC */ +#define GIT_USE_FUTIMENS 1 + +#define GIT_REGEX_REGCOMP_L +/* #undef GIT_REGEX_REGCOMP */ +/* #undef GIT_REGEX_PCRE */ +/* #undef GIT_REGEX_PCRE2 */ +/* #undef GIT_REGEX_BUILTIN */ + +/* #undef GIT_SSH */ +/* #undef GIT_SSH_MEMORY_CREDENTIALS */ + +#define GIT_NTLM 1 +/* #undef GIT_GSSAPI */ +/* #undef GIT_GSSFRAMEWORK */ + +/* #undef GIT_WINHTTP */ +#define GIT_HTTPS 1 +/* #undef GIT_OPENSSL */ +/* #undef GIT_OPENSSL_DYNAMIC */ +#define GIT_SECURE_TRANSPORT 1 +/* #undef GIT_MBEDTLS */ + +#define GIT_SHA1_COLLISIONDETECT 1 +/* #undef GIT_SHA1_WIN32 */ +/* #undef GIT_SHA1_COMMON_CRYPTO */ +/* #undef GIT_SHA1_OPENSSL */ +/* #undef GIT_SHA1_MBEDTLS */ + +#endif +#define GIT_SSH_MEMORY_CREDENTIALS 1 +#define GIT_SSH 1 diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/filter.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/filter.h new file mode 100644 index 00000000..60466d17 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/filter.h @@ -0,0 +1,416 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_filter_h__ +#define INCLUDE_sys_git_filter_h__ + +#include "git2/filter.h" + +/** + * @file git2/sys/filter.h + * @brief Custom filter backends and plugins + * @defgroup git_backend Custom filter backends and plugins + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Look up a filter by name + * + * @param name The name of the filter + * @return Pointer to the filter object or NULL if not found + */ +GIT_EXTERN(git_filter *) git_filter_lookup(const char *name); + +/** The "crlf" filter */ +#define GIT_FILTER_CRLF "crlf" + +/** The "ident" filter */ +#define GIT_FILTER_IDENT "ident" + +/** + * This is priority that the internal CRLF filter will be registered with + */ +#define GIT_FILTER_CRLF_PRIORITY 0 + +/** + * This is priority that the internal ident filter will be registered with + */ +#define GIT_FILTER_IDENT_PRIORITY 100 + +/** + * This is priority to use with a custom filter to imitate a core Git + * filter driver, so that it will be run last on checkout and first on + * checkin. You do not have to use this, but it helps compatibility. + */ +#define GIT_FILTER_DRIVER_PRIORITY 200 + +/** + * Create a new empty filter list + * + * Normally you won't use this because `git_filter_list_load` will create + * the filter list for you, but you can use this in combination with the + * `git_filter_lookup` and `git_filter_list_push` functions to assemble + * your own chains of filters. + * + * @param out the filter list + * @param repo the repository to use for configuration + * @param mode the filter mode (direction) + * @param options the options + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_filter_list_new( + git_filter_list **out, + git_repository *repo, + git_filter_mode_t mode, + uint32_t options); + +/** + * Add a filter to a filter list with the given payload. + * + * Normally you won't have to do this because the filter list is created + * by calling the "check" function on registered filters when the filter + * attributes are set, but this does allow more direct manipulation of + * filter lists when desired. + * + * Note that normally the "check" function can set up a payload for the + * filter. Using this function, you can either pass in a payload if you + * know the expected payload format, or you can pass NULL. Some filters + * may fail with a NULL payload. Good luck! + * + * @param fl the filter list + * @param filter the filter to push + * @param payload the payload for the filter + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_filter_list_push( + git_filter_list *fl, git_filter *filter, void *payload); + +/** + * Look up how many filters are in the list + * + * We will attempt to apply all of these filters to any data passed in, + * but note that the filter apply action still has the option of skipping + * data that is passed in (for example, the CRLF filter will skip data + * that appears to be binary). + * + * @param fl A filter list + * @return The number of filters in the list + */ +GIT_EXTERN(size_t) git_filter_list_length(const git_filter_list *fl); + +/** + * A filter source represents a file/blob to be processed + */ +typedef struct git_filter_source git_filter_source; + +/** + * Get the repository that the source data is coming from. + * + * @param src the filter source + * @return the repository for the filter information + */ +GIT_EXTERN(git_repository *) git_filter_source_repo(const git_filter_source *src); + +/** + * Get the path that the source data is coming from. + * + * @param src the filter source + * @return the path that is being filtered + */ +GIT_EXTERN(const char *) git_filter_source_path(const git_filter_source *src); + +/** + * Get the file mode of the source file + * If the mode is unknown, this will return 0 + * + * @param src the filter source + * @return the file mode for the file being filtered + */ +GIT_EXTERN(uint16_t) git_filter_source_filemode(const git_filter_source *src); + +/** + * Get the OID of the source + * If the OID is unknown (often the case with GIT_FILTER_CLEAN) then + * this will return NULL. + * + * @param src the filter source + * @return the object id of the file being filtered + */ +GIT_EXTERN(const git_oid *) git_filter_source_id(const git_filter_source *src); + +/** + * Get the git_filter_mode_t to be used + * + * @param src the filter source + * @return the mode (direction) of the filter + */ +GIT_EXTERN(git_filter_mode_t) git_filter_source_mode(const git_filter_source *src); + +/** + * Get the combination git_filter_flag_t options to be applied + * + * @param src the filter source + * @return the flags of the filter + */ +GIT_EXTERN(uint32_t) git_filter_source_flags(const git_filter_source *src); + +/** + * Initialize callback on filter + * + * Specified as `filter.initialize`, this is an optional callback invoked + * before a filter is first used. It will be called once at most. + * + * If non-NULL, the filter's `initialize` callback will be invoked right + * before the first use of the filter, so you can defer expensive + * initialization operations (in case libgit2 is being used in a way that + * doesn't need the filter). + * + * @param self the filter to initialize + * @return 0 on success, negative number on failure + */ +typedef int GIT_CALLBACK(git_filter_init_fn)(git_filter *self); + +/** + * Shutdown callback on filter + * + * Specified as `filter.shutdown`, this is an optional callback invoked + * when the filter is unregistered or when libgit2 is shutting down. It + * will be called once at most and should release resources as needed. + * This may be called even if the `initialize` callback was not made. + * + * Typically this function will free the `git_filter` object itself. + * + * @param self the filter to shutdown + */ +typedef void GIT_CALLBACK(git_filter_shutdown_fn)(git_filter *self); + +/** + * Callback to decide if a given source needs this filter + * + * Specified as `filter.check`, this is an optional callback that checks + * if filtering is needed for a given source. + * + * It should return 0 if the filter should be applied (i.e. success), + * GIT_PASSTHROUGH if the filter should not be applied, or an error code + * to fail out of the filter processing pipeline and return to the caller. + * + * The `attr_values` will be set to the values of any attributes given in + * the filter definition. See `git_filter` below for more detail. + * + * The `payload` will be a pointer to a reference payload for the filter. + * This will start as NULL, but `check` can assign to this pointer for + * later use by the `stream` callback. Note that the value should be heap + * allocated (not stack), so that it doesn't go away before the `stream` + * callback can use it. If a filter allocates and assigns a value to the + * `payload`, it will need a `cleanup` callback to free the payload. + * + * @param self the filter check + * @param payload a data for future filter functions + * @param src the filter source + * @param attr_values the attribute values + * @return 0 on success or a negative value on error + */ +typedef int GIT_CALLBACK(git_filter_check_fn)( + git_filter *self, + void **payload, /* NULL on entry, may be set */ + const git_filter_source *src, + const char **attr_values); + +#ifndef GIT_DEPRECATE_HARD +/** + * Callback to actually perform the data filtering + * + * Specified as `filter.apply`, this is the callback that actually filters + * data. If it successfully writes the output, it should return 0. Like + * `check`, it can return GIT_PASSTHROUGH to indicate that the filter + * doesn't want to run. Other error codes will stop filter processing and + * return to the caller. + * + * The `payload` value will refer to any payload that was set by the + * `check` callback. It may be read from or written to as needed. + * + * @param self the filter check + * @param payload a data for future filter functions + * @param to the input buffer + * @param from the output buffer + * @param src the filter source + * @return 0 on success or a negative value on error + * @deprecated use git_filter_stream_fn + */ +typedef int GIT_CALLBACK(git_filter_apply_fn)( + git_filter *self, + void **payload, /* may be read and/or set */ + git_buf *to, + const git_buf *from, + const git_filter_source *src); +#endif + +/** + * Callback to perform the data filtering. + * + * Specified as `filter.stream`, this is a callback that filters data + * in a streaming manner. This function will provide a + * `git_writestream` that will the original data will be written to; + * with that data, the `git_writestream` will then perform the filter + * translation and stream the filtered data out to the `next` location. + * + * @param out the write stream + * @param self the filter + * @param payload a data for future filter functions + * @param src the filter source + * @param next the output stream + * @return 0 on success or a negative value on error + */ +typedef int GIT_CALLBACK(git_filter_stream_fn)( + git_writestream **out, + git_filter *self, + void **payload, + const git_filter_source *src, + git_writestream *next); + +/** + * Callback to clean up after filtering has been applied + * + * Specified as `filter.cleanup`, this is an optional callback invoked + * after the filter has been applied. If the `check`, `apply`, or + * `stream` callbacks allocated a `payload` to keep per-source filter + * state, use this callback to free that payload and release resources + * as required. + * + * @param self the filter + * @param payload a data for future filter functions + */ +typedef void GIT_CALLBACK(git_filter_cleanup_fn)( + git_filter *self, + void *payload); + +/** + * Filter structure used to register custom filters. + * + * To associate extra data with a filter, allocate extra data and put the + * `git_filter` struct at the start of your data buffer, then cast the + * `self` pointer to your larger structure when your callback is invoked. + */ +struct git_filter { + /** The `version` field should be set to `GIT_FILTER_VERSION`. */ + unsigned int version; + + /** + * A whitespace-separated list of attribute names to check for this + * filter (e.g. "eol crlf text"). If the attribute name is bare, it + * will be simply loaded and passed to the `check` callback. If it + * has a value (i.e. "name=value"), the attribute must match that + * value for the filter to be applied. The value may be a wildcard + * (eg, "name=*"), in which case the filter will be invoked for any + * value for the given attribute name. See the attribute parameter + * of the `check` callback for the attribute value that was specified. + */ + const char *attributes; + + /** Called when the filter is first used for any file. */ + git_filter_init_fn initialize; + + /** Called when the filter is removed or unregistered from the system. */ + git_filter_shutdown_fn shutdown; + + /** + * Called to determine whether the filter should be invoked for a + * given file. If this function returns `GIT_PASSTHROUGH` then the + * `stream` or `apply` functions will not be invoked and the + * contents will be passed through unmodified. + */ + git_filter_check_fn check; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + /** + * Provided for backward compatibility; this will apply the + * filter to the given contents in a `git_buf`. Callers should + * provide a `stream` function instead. + */ + git_filter_apply_fn apply; +#endif + + /** + * Called to apply the filter, this function will provide a + * `git_writestream` that will the original data will be + * written to; with that data, the `git_writestream` will then + * perform the filter translation and stream the filtered data + * out to the `next` location. + */ + git_filter_stream_fn stream; + + /** Called when the system is done filtering for a file. */ + git_filter_cleanup_fn cleanup; +}; + +/** Current version for the `git_filter_options` structure */ +#define GIT_FILTER_VERSION 1 + +/** Static constructor for `git_filter_options` */ +#define GIT_FILTER_INIT {GIT_FILTER_VERSION} + +/** + * Initializes a `git_filter` with default values. Equivalent to + * creating an instance with GIT_FILTER_INIT. + * + * @param filter the `git_filter` struct to initialize. + * @param version Version the struct; pass `GIT_FILTER_VERSION` + * @return 0 on success; -1 on failure. + */ +GIT_EXTERN(int) git_filter_init(git_filter *filter, unsigned int version); + +/** + * Register a filter under a given name with a given priority. + * + * As mentioned elsewhere, the initialize callback will not be invoked + * immediately. It is deferred until the filter is used in some way. + * + * A filter's attribute checks and `check` and `stream` (or `apply`) + * callbacks will be issued in order of `priority` on smudge (to + * workdir), and in reverse order of `priority` on clean (to odb). + * + * Two filters are preregistered with libgit2: + * - GIT_FILTER_CRLF with priority 0 + * - GIT_FILTER_IDENT with priority 100 + * + * Currently the filter registry is not thread safe, so any registering or + * deregistering of filters must be done outside of any possible usage of + * the filters (i.e. during application setup or shutdown). + * + * @param name A name by which the filter can be referenced. Attempting + * to register with an in-use name will return GIT_EEXISTS. + * @param filter The filter definition. This pointer will be stored as is + * by libgit2 so it must be a durable allocation (either static + * or on the heap). + * @param priority The priority for filter application + * @return 0 on successful registry, error code <0 on failure + */ +GIT_EXTERN(int) git_filter_register( + const char *name, git_filter *filter, int priority); + +/** + * Remove the filter with the given name + * + * Attempting to remove the builtin libgit2 filters is not permitted and + * will return an error. + * + * Currently the filter registry is not thread safe, so any registering or + * deregistering of filters must be done outside of any possible usage of + * the filters (i.e. during application setup or shutdown). + * + * @param name The name under which the filter was registered + * @return 0 on success, error code <0 on failure + */ +GIT_EXTERN(int) git_filter_unregister(const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/hashsig.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/hashsig.h new file mode 100644 index 00000000..0d7be535 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/hashsig.h @@ -0,0 +1,117 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_hashsig_h__ +#define INCLUDE_sys_hashsig_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/hashsig.h + * @brief Signatures for file similarity comparison + * @defgroup git_hashsig Git merge routines + * @ingroup Git + * + * Hash signatures are used for file similary comparison; this is + * used for git's rename handling. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Similarity signature of arbitrary text content based on line hashes + */ +typedef struct git_hashsig git_hashsig; + +/** + * Options for hashsig computation + * + * The options GIT_HASHSIG_NORMAL, GIT_HASHSIG_IGNORE_WHITESPACE, + * GIT_HASHSIG_SMART_WHITESPACE are exclusive and should not be combined. + */ +typedef enum { + /** + * Use all data + */ + GIT_HASHSIG_NORMAL = 0, + + /** + * Ignore whitespace + */ + GIT_HASHSIG_IGNORE_WHITESPACE = (1 << 0), + + /** + * Ignore \r and all space after \n + */ + GIT_HASHSIG_SMART_WHITESPACE = (1 << 1), + + /** + * Allow hashing of small files + */ + GIT_HASHSIG_ALLOW_SMALL_FILES = (1 << 2) +} git_hashsig_option_t; + +/** + * Compute a similarity signature for a text buffer + * + * If you have passed the option GIT_HASHSIG_IGNORE_WHITESPACE, then the + * whitespace will be removed from the buffer while it is being processed, + * modifying the buffer in place. Sorry about that! + * + * @param out The computed similarity signature. + * @param buf The input buffer. + * @param buflen The input buffer size. + * @param opts The signature computation options (see above). + * @return 0 on success, GIT_EBUFS if the buffer doesn't contain enough data to + * compute a valid signature (unless GIT_HASHSIG_ALLOW_SMALL_FILES is set), or + * error code. + */ +GIT_EXTERN(int) git_hashsig_create( + git_hashsig **out, + const char *buf, + size_t buflen, + git_hashsig_option_t opts); + +/** + * Compute a similarity signature for a text file + * + * This walks through the file, only loading a maximum of 4K of file data at + * a time. Otherwise, it acts just like `git_hashsig_create`. + * + * @param out The computed similarity signature. + * @param path The path to the input file. + * @param opts The signature computation options (see above). + * @return 0 on success, GIT_EBUFS if the buffer doesn't contain enough data to + * compute a valid signature (unless GIT_HASHSIG_ALLOW_SMALL_FILES is set), or + * error code. + */ +GIT_EXTERN(int) git_hashsig_create_fromfile( + git_hashsig **out, + const char *path, + git_hashsig_option_t opts); + +/** + * Release memory for a content similarity signature + * + * @param sig The similarity signature to free. + */ +GIT_EXTERN(void) git_hashsig_free(git_hashsig *sig); + +/** + * Measure similarity score between two similarity signatures + * + * @param a The first similarity signature to compare. + * @param b The second similarity signature to compare. + * @return [0 to 100] on success as the similarity score, or error code. + */ +GIT_EXTERN(int) git_hashsig_compare( + const git_hashsig *a, + const git_hashsig *b); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/index.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/index.h new file mode 100644 index 00000000..b3b86a04 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/index.h @@ -0,0 +1,183 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_index_h__ +#define INCLUDE_sys_git_index_h__ + +#include "git2/common.h" +#include "git2/types.h" + +/** + * @file git2/sys/index.h + * @brief Low-level index manipulation routines + * @defgroup git_index Low-level index manipulation routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Representation of a rename conflict entry in the index. */ +typedef struct git_index_name_entry { + char *ancestor; + char *ours; + char *theirs; +} git_index_name_entry; + +/** Representation of a resolve undo entry in the index. */ +typedef struct git_index_reuc_entry { + uint32_t mode[3]; + git_oid oid[3]; + char *path; +} git_index_reuc_entry; + +/** @name Conflict Name entry functions + * + * These functions work on rename conflict entries. + */ +/**@{*/ + +/** + * Get the count of filename conflict entries currently in the index. + * + * @param index an existing index object + * @return integer of count of current filename conflict entries + */ +GIT_EXTERN(size_t) git_index_name_entrycount(git_index *index); + +/** + * Get a filename conflict entry from the index. + * + * The returned entry is read-only and should not be modified + * or freed by the caller. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the filename conflict entry; NULL if out of bounds + */ +GIT_EXTERN(const git_index_name_entry *) git_index_name_get_byindex( + git_index *index, size_t n); + +/** + * Record the filenames involved in a rename conflict. + * + * @param index an existing index object + * @param ancestor the path of the file as it existed in the ancestor + * @param ours the path of the file as it existed in our tree + * @param theirs the path of the file as it existed in their tree + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_index_name_add(git_index *index, + const char *ancestor, const char *ours, const char *theirs); + +/** + * Remove all filename conflict entries. + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_name_clear(git_index *index); + +/**@}*/ + +/** @name Resolve Undo (REUC) index entry manipulation. + * + * These functions work on the Resolve Undo index extension and contains + * data about the original files that led to a merge conflict. + */ +/**@{*/ + +/** + * Get the count of resolve undo entries currently in the index. + * + * @param index an existing index object + * @return integer of count of current resolve undo entries + */ +GIT_EXTERN(size_t) git_index_reuc_entrycount(git_index *index); + +/** + * Finds the resolve undo entry that points to the given path in the Git + * index. + * + * @param at_pos the address to which the position of the reuc entry is written (optional) + * @param index an existing index object + * @param path path to search + * @return 0 if found, < 0 otherwise (GIT_ENOTFOUND) + */ +GIT_EXTERN(int) git_index_reuc_find(size_t *at_pos, git_index *index, const char *path); + +/** + * Get a resolve undo entry from the index. + * + * The returned entry is read-only and should not be modified + * or freed by the caller. + * + * @param index an existing index object + * @param path path to search + * @return the resolve undo entry; NULL if not found + */ +GIT_EXTERN(const git_index_reuc_entry *) git_index_reuc_get_bypath(git_index *index, const char *path); + +/** + * Get a resolve undo entry from the index. + * + * The returned entry is read-only and should not be modified + * or freed by the caller. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the resolve undo entry; NULL if out of bounds + */ +GIT_EXTERN(const git_index_reuc_entry *) git_index_reuc_get_byindex(git_index *index, size_t n); + +/** + * Adds a resolve undo entry for a file based on the given parameters. + * + * The resolve undo entry contains the OIDs of files that were involved + * in a merge conflict after the conflict has been resolved. This allows + * conflicts to be re-resolved later. + * + * If there exists a resolve undo entry for the given path in the index, + * it will be removed. + * + * This method will fail in bare index instances. + * + * @param index an existing index object + * @param path filename to add + * @param ancestor_mode mode of the ancestor file + * @param ancestor_id oid of the ancestor file + * @param our_mode mode of our file + * @param our_id oid of our file + * @param their_mode mode of their file + * @param their_id oid of their file + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_reuc_add(git_index *index, const char *path, + int ancestor_mode, const git_oid *ancestor_id, + int our_mode, const git_oid *our_id, + int their_mode, const git_oid *their_id); + +/** + * Remove an resolve undo entry from the index + * + * @param index an existing index object + * @param n position of the resolve undo entry to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_reuc_remove(git_index *index, size_t n); + +/** + * Remove all resolve undo entries from the index + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_reuc_clear(git_index *index); + +/**@}*/ + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/mempack.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/mempack.h new file mode 100644 index 00000000..be902be2 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/mempack.h @@ -0,0 +1,117 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_odb_mempack_h__ +#define INCLUDE_sys_git_odb_mempack_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" +#include "git2/odb.h" +#include "git2/buffer.h" + +/** + * @file git2/sys/mempack.h + * @brief A custom object database backend for storing objects in-memory + * @defgroup git_mempack A custom object database backend for storing objects in-memory + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Instantiate a new mempack backend. + * + * The backend must be added to an existing ODB with the highest + * priority. + * + * git_mempack_new(&mempacker); + * git_repository_odb(&odb, repository); + * git_odb_add_backend(odb, mempacker, 999); + * + * Once the backend has been loaded, all writes to the ODB will + * instead be queued in memory, and can be finalized with + * `git_mempack_dump`. + * + * Subsequent reads will also be served from the in-memory store + * to ensure consistency, until the memory store is dumped. + * + * @param out Pointer where to store the ODB backend + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_mempack_new(git_odb_backend **out); + +/** + * Write a thin packfile with the objects in the memory store. + * + * A thin packfile is a packfile that does not contain its transitive closure of + * references. This is useful for efficiently distributing additions to a + * repository over the network, but also finds use in the efficient bulk + * addition of objects to a repository, locally. + * + * This operation performs the (shallow) insert operations into the + * `git_packbuilder`, but does not write the packfile to disk; + * see `git_packbuilder_write_buf`. + * + * It also does not reset the in-memory object database; see `git_mempack_reset`. + * + * @param backend The mempack backend + * @param pb The packbuilder to use to write the packfile + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_mempack_write_thin_pack(git_odb_backend *backend, git_packbuilder *pb); + +/** + * Dump all the queued in-memory writes to a packfile. + * + * The contents of the packfile will be stored in the given buffer. + * It is the caller's responsibility to ensure that the generated + * packfile is available to the repository (e.g. by writing it + * to disk, or doing something crazy like distributing it across + * several copies of the repository over a network). + * + * Once the generated packfile is available to the repository, + * call `git_mempack_reset` to cleanup the memory store. + * + * Calling `git_mempack_reset` before the packfile has been + * written to disk will result in an inconsistent repository + * (the objects in the memory store won't be accessible). + * + * @param pack Buffer where to store the raw packfile + * @param repo The active repository where the backend is loaded + * @param backend The mempack backend + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_mempack_dump(git_buf *pack, git_repository *repo, git_odb_backend *backend); + +/** + * Reset the memory packer by clearing all the queued objects. + * + * This assumes that `git_mempack_dump` has been called before to + * store all the queued objects into a single packfile. + * + * Alternatively, call `reset` without a previous dump to "undo" + * all the recently written objects, giving transaction-like + * semantics to the Git repository. + * + * @param backend The mempack backend + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_mempack_reset(git_odb_backend *backend); + +/** + * Get the total number of objects in mempack + * + * @param count The count of objects in the mempack + * @param backend The mempack backend + * @return 0 on success, or -1 on error + */ +GIT_EXTERN(int) git_mempack_object_count(size_t *count, git_odb_backend *backend); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/merge.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/merge.h new file mode 100644 index 00000000..a9f52205 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/merge.h @@ -0,0 +1,230 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_merge_h__ +#define INCLUDE_sys_git_merge_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/index.h" +#include "git2/merge.h" + +/** + * @file git2/sys/merge.h + * @brief Custom merge drivers + * @defgroup git_merge Custom merge drivers + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * A "merge driver" is a mechanism that can be configured to handle + * conflict resolution for files changed in both the "ours" and "theirs" + * side of a merge. + */ +typedef struct git_merge_driver git_merge_driver; + +/** + * Look up a merge driver by name + * + * @param name The name of the merge driver + * @return Pointer to the merge driver object or NULL if not found + */ +GIT_EXTERN(git_merge_driver *) git_merge_driver_lookup(const char *name); + +/** The "text" merge driver */ +#define GIT_MERGE_DRIVER_TEXT "text" +/** The "binary" merge driver */ +#define GIT_MERGE_DRIVER_BINARY "binary" +/** The "union" merge driver */ +#define GIT_MERGE_DRIVER_UNION "union" + +/** + * A merge driver source represents the file to be merged + */ +typedef struct git_merge_driver_source git_merge_driver_source; + +/** + * Get the repository that the source data is coming from. + * + * @param src the merge driver source + * @return the repository + */ +GIT_EXTERN(git_repository *) git_merge_driver_source_repo( + const git_merge_driver_source *src); + +/** + * Gets the ancestor of the file to merge. + * + * @param src the merge driver source + * @return the ancestor or NULL if there was no ancestor + */ +GIT_EXTERN(const git_index_entry *) git_merge_driver_source_ancestor( + const git_merge_driver_source *src); + +/** + * Gets the ours side of the file to merge. + * + * @param src the merge driver source + * @return the ours side or NULL if there was no ours side + */ +GIT_EXTERN(const git_index_entry *) git_merge_driver_source_ours( + const git_merge_driver_source *src); + +/** + * Gets the theirs side of the file to merge. + * + * @param src the merge driver source + * @return the theirs side or NULL if there was no theirs side + */ +GIT_EXTERN(const git_index_entry *) git_merge_driver_source_theirs( + const git_merge_driver_source *src); + +/** + * Gets the merge file options that the merge was invoked with. + * + * @param src the merge driver source + * @return the options + */ +GIT_EXTERN(const git_merge_file_options *) git_merge_driver_source_file_options( + const git_merge_driver_source *src); + + +/** + * Initialize callback on merge driver + * + * Specified as `driver.initialize`, this is an optional callback invoked + * before a merge driver is first used. It will be called once at most + * per library lifetime. + * + * If non-NULL, the merge driver's `initialize` callback will be invoked + * right before the first use of the driver, so you can defer expensive + * initialization operations (in case libgit2 is being used in a way that + * doesn't need the merge driver). + * + * @param self the merge driver to initialize + * @return 0 on success, or a negative number on failure + */ +typedef int GIT_CALLBACK(git_merge_driver_init_fn)(git_merge_driver *self); + +/** + * Shutdown callback on merge driver + * + * Specified as `driver.shutdown`, this is an optional callback invoked + * when the merge driver is unregistered or when libgit2 is shutting down. + * It will be called once at most and should release resources as needed. + * This may be called even if the `initialize` callback was not made. + * + * Typically this function will free the `git_merge_driver` object itself. + * + * @param self the merge driver to shutdown + */ +typedef void GIT_CALLBACK(git_merge_driver_shutdown_fn)(git_merge_driver *self); + +/** + * Callback to perform the merge. + * + * Specified as `driver.apply`, this is the callback that actually does the + * merge. If it can successfully perform a merge, it should populate + * `path_out` with a pointer to the filename to accept, `mode_out` with + * the resultant mode, and `merged_out` with the buffer of the merged file + * and then return 0. If the driver returns `GIT_PASSTHROUGH`, then the + * default merge driver should instead be run. It can also return + * `GIT_EMERGECONFLICT` if the driver is not able to produce a merge result, + * and the file will remain conflicted. Any other errors will fail and + * return to the caller. + * + * The `filter_name` contains the name of the filter that was invoked, as + * specified by the file's attributes. + * + * The `src` contains the data about the file to be merged. + * + * @param self the merge driver + * @param path_out the resolved path + * @param mode_out the resolved mode + * @param merged_out the merged output contents + * @param filter_name the filter that was invoked + * @param src the data about the unmerged file + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_merge_driver_apply_fn)( + git_merge_driver *self, + const char **path_out, + uint32_t *mode_out, + git_buf *merged_out, + const char *filter_name, + const git_merge_driver_source *src); + +/** + * Merge driver structure used to register custom merge drivers. + * + * To associate extra data with a driver, allocate extra data and put the + * `git_merge_driver` struct at the start of your data buffer, then cast + * the `self` pointer to your larger structure when your callback is invoked. + */ +struct git_merge_driver { + /** The `version` should be set to `GIT_MERGE_DRIVER_VERSION`. */ + unsigned int version; + + /** Called when the merge driver is first used for any file. */ + git_merge_driver_init_fn initialize; + + /** Called when the merge driver is unregistered from the system. */ + git_merge_driver_shutdown_fn shutdown; + + /** + * Called to merge the contents of a conflict. If this function + * returns `GIT_PASSTHROUGH` then the default (`text`) merge driver + * will instead be invoked. If this function returns + * `GIT_EMERGECONFLICT` then the file will remain conflicted. + */ + git_merge_driver_apply_fn apply; +}; + +/** The version for the `git_merge_driver` */ +#define GIT_MERGE_DRIVER_VERSION 1 + +/** + * Register a merge driver under a given name. + * + * As mentioned elsewhere, the initialize callback will not be invoked + * immediately. It is deferred until the driver is used in some way. + * + * Currently the merge driver registry is not thread safe, so any + * registering or deregistering of merge drivers must be done outside of + * any possible usage of the drivers (i.e. during application setup or + * shutdown). + * + * @param name The name of this driver to match an attribute. Attempting + * to register with an in-use name will return GIT_EEXISTS. + * @param driver The merge driver definition. This pointer will be stored + * as is by libgit2 so it must be a durable allocation (either + * static or on the heap). + * @return 0 on successful registry, error code <0 on failure + */ +GIT_EXTERN(int) git_merge_driver_register( + const char *name, git_merge_driver *driver); + +/** + * Remove the merge driver with the given name. + * + * Attempting to remove the builtin libgit2 merge drivers is not permitted + * and will return an error. + * + * Currently the merge driver registry is not thread safe, so any + * registering or deregistering of drivers must be done outside of any + * possible usage of the drivers (i.e. during application setup or shutdown). + * + * @param name The name under which the merge driver was registered + * @return 0 on success, error code <0 on failure + */ +GIT_EXTERN(int) git_merge_driver_unregister(const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/midx.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/midx.h new file mode 100644 index 00000000..b3a68afb --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/midx.h @@ -0,0 +1,117 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_midx_h__ +#define INCLUDE_sys_git_midx_h__ + +#include "git2/common.h" +#include "git2/types.h" + +/** + * @file git2/sys/midx.h + * @brief Incremental multi-pack indexes + * @defgroup git_midx Incremental multi-pack indexes + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options structure for `git_midx_writer_options`. + * + * Initialize with `GIT_MIDX_WRITER_OPTIONS_INIT`. Alternatively, + * you can use `git_midx_writer_options_init`. + */ +typedef struct { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** The object ID type that this commit graph contains. */ + git_oid_t oid_type; +#endif +} git_midx_writer_options; + +/** Current version for the `git_midx_writer_options` structure */ +#define GIT_MIDX_WRITER_OPTIONS_VERSION 1 + +/** Static constructor for `git_midx_writer_options` */ +#define GIT_MIDX_WRITER_OPTIONS_INIT { \ + GIT_MIDX_WRITER_OPTIONS_VERSION \ + } + +/** + * Initialize git_midx_writer_options structure + * + * Initializes a `git_midx_writer_options` with default values. + * Equivalent to creating an instance with + * `GIT_MIDX_WRITER_OPTIONS_INIT`. + * + * @param opts The `git_midx_writer_options` struct to initialize. + * @param version The struct version; pass `GIT_MIDX_WRITER_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_midx_writer_options_init( + git_midx_writer_options *opts, + unsigned int version); + +/** + * Create a new writer for `multi-pack-index` files. + * + * @param out location to store the writer pointer. + * @param pack_dir the directory where the `.pack` and `.idx` files are. The + * `multi-pack-index` file will be written in this directory, too. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_new( + git_midx_writer **out, + const char *pack_dir +#ifdef GIT_EXPERIMENTAL_SHA256 + , git_midx_writer_options *options +#endif + ); + +/** + * Free the multi-pack-index writer and its resources. + * + * @param w the writer to free. If NULL no action is taken. + */ +GIT_EXTERN(void) git_midx_writer_free(git_midx_writer *w); + +/** + * Add an `.idx` file to the writer. + * + * @param w the writer + * @param idx_path the path of an `.idx` file. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_add( + git_midx_writer *w, + const char *idx_path); + +/** + * Write a `multi-pack-index` file to a file. + * + * @param w the writer + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_commit( + git_midx_writer *w); + +/** + * Dump the contents of the `multi-pack-index` to an in-memory buffer. + * + * @param midx Buffer where to store the contents of the `multi-pack-index`. + * @param w the writer + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_dump( + git_buf *midx, + git_midx_writer *w); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/odb_backend.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/odb_backend.h new file mode 100644 index 00000000..53d8d060 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/odb_backend.h @@ -0,0 +1,176 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_odb_backend_h__ +#define INCLUDE_sys_git_odb_backend_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" +#include "git2/odb.h" + +/** + * @file git2/sys/odb_backend.h + * @brief Object database backends for custom object storage + * @defgroup git_backend Object database backends for custom object storage + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * An instance for a custom backend + */ +struct git_odb_backend { + unsigned int version; + git_odb *odb; + + /* read and read_prefix each return to libgit2 a buffer which + * will be freed later. The buffer should be allocated using + * the function git_odb_backend_data_alloc to ensure that libgit2 + * can safely free it later. */ + int GIT_CALLBACK(read)( + void **, size_t *, git_object_t *, git_odb_backend *, const git_oid *); + + /* To find a unique object given a prefix of its oid. The oid given + * must be so that the remaining (GIT_OID_SHA1_HEXSIZE - len)*4 bits are 0s. + */ + int GIT_CALLBACK(read_prefix)( + git_oid *, void **, size_t *, git_object_t *, + git_odb_backend *, const git_oid *, size_t); + + int GIT_CALLBACK(read_header)( + size_t *, git_object_t *, git_odb_backend *, const git_oid *); + + /** + * Write an object into the backend. The id of the object has + * already been calculated and is passed in. + */ + int GIT_CALLBACK(write)( + git_odb_backend *, const git_oid *, const void *, size_t, git_object_t); + + int GIT_CALLBACK(writestream)( + git_odb_stream **, git_odb_backend *, git_object_size_t, git_object_t); + + int GIT_CALLBACK(readstream)( + git_odb_stream **, size_t *, git_object_t *, + git_odb_backend *, const git_oid *); + + int GIT_CALLBACK(exists)( + git_odb_backend *, const git_oid *); + + int GIT_CALLBACK(exists_prefix)( + git_oid *, git_odb_backend *, const git_oid *, size_t); + + /** + * If the backend implements a refreshing mechanism, it should be exposed + * through this endpoint. Each call to `git_odb_refresh()` will invoke it. + * + * The odb layer will automatically call this when needed on failed + * lookups (ie. `exists()`, `read()`, `read_header()`). + */ + int GIT_CALLBACK(refresh)(git_odb_backend *); + + int GIT_CALLBACK(foreach)( + git_odb_backend *, git_odb_foreach_cb cb, void *payload); + + int GIT_CALLBACK(writepack)( + git_odb_writepack **, git_odb_backend *, git_odb *odb, + git_indexer_progress_cb progress_cb, void *progress_payload); + + /** + * If the backend supports pack files, this will create a + * `multi-pack-index` file which will contain an index of all objects + * across all the `.pack` files. + */ + int GIT_CALLBACK(writemidx)(git_odb_backend *); + + /** + * "Freshens" an already existing object, updating its last-used + * time. This occurs when `git_odb_write` was called, but the + * object already existed (and will not be re-written). The + * underlying implementation may want to update last-used timestamps. + * + * If callers implement this, they should return `0` if the object + * exists and was freshened, and non-zero otherwise. + */ + int GIT_CALLBACK(freshen)(git_odb_backend *, const git_oid *); + + /** + * Frees any resources held by the odb (including the `git_odb_backend` + * itself). An odb backend implementation must provide this function. + */ + void GIT_CALLBACK(free)(git_odb_backend *); +}; + +/** Current version for the `git_odb_backend_options` structure */ +#define GIT_ODB_BACKEND_VERSION 1 + +/** Static constructor for `git_odb_backend_options` */ +#define GIT_ODB_BACKEND_INIT {GIT_ODB_BACKEND_VERSION} + +/** + * Initializes a `git_odb_backend` with default values. Equivalent to + * creating an instance with GIT_ODB_BACKEND_INIT. + * + * @param backend the `git_odb_backend` struct to initialize. + * @param version Version the struct; pass `GIT_ODB_BACKEND_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_odb_init_backend( + git_odb_backend *backend, + unsigned int version); + +/** + * Allocate data for an ODB object. Custom ODB backends may use this + * to provide data back to the ODB from their read function. This + * memory should not be freed once it is returned to libgit2. If a + * custom ODB uses this function but encounters an error and does not + * return this data to libgit2, then they should use the corresponding + * git_odb_backend_data_free function. + * + * @param backend the ODB backend that is allocating this memory + * @param len the number of bytes to allocate + * @return the allocated buffer on success or NULL if out of memory + */ +GIT_EXTERN(void *) git_odb_backend_data_alloc(git_odb_backend *backend, size_t len); + +/** + * Frees custom allocated ODB data. This should only be called when + * memory allocated using git_odb_backend_data_alloc is not returned + * to libgit2 because the backend encountered an error in the read + * function after allocation and did not return this data to libgit2. + * + * @param backend the ODB backend that is freeing this memory + * @param data the buffer to free + */ +GIT_EXTERN(void) git_odb_backend_data_free(git_odb_backend *backend, void *data); + + +/* + * Users can avoid deprecated functions by defining `GIT_DEPRECATE_HARD`. + */ +#ifndef GIT_DEPRECATE_HARD + +/** + * Allocate memory for an ODB object from a custom backend. This is + * an alias of `git_odb_backend_data_alloc` and is preserved for + * backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated git_odb_backend_data_alloc + * @see git_odb_backend_data_alloc + */ +GIT_EXTERN(void *) git_odb_backend_malloc(git_odb_backend *backend, size_t len); + +#endif + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/openssl.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/openssl.h new file mode 100644 index 00000000..8b74a98c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/openssl.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_openssl_h__ +#define INCLUDE_git_openssl_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/openssl.h + * @brief Custom OpenSSL functionality + * @defgroup git_openssl Custom OpenSSL functionality + * @{ + */ +GIT_BEGIN_DECL + +/** + * Initialize the OpenSSL locks + * + * OpenSSL requires the application to determine how it performs + * locking. + * + * This is a last-resort convenience function which libgit2 provides for + * allocating and initializing the locks as well as setting the + * locking function to use the system's native locking functions. + * + * The locking function will be cleared and the memory will be freed + * when you call git_threads_sutdown(). + * + * If your programming language has an OpenSSL package/bindings, it + * likely sets up locking. You should very strongly prefer that over + * this function. + * + * @return 0 on success, -1 if there are errors or if libgit2 was not + * built with OpenSSL and threading support. + */ +GIT_EXTERN(int) git_openssl_set_locking(void); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/path.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/path.h new file mode 100644 index 00000000..2963bca3 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/path.h @@ -0,0 +1,75 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_path_h__ +#define INCLUDE_sys_git_path_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/path.h + * @brief Custom path handling + * @defgroup git_path Custom path handling + * @ingroup Git + * + * Merge will take two commits and attempt to produce a commit that + * includes the changes that were made in both branches. + * @{ + */ +GIT_BEGIN_DECL + +/** + * The kinds of git-specific files we know about. + * + * The order needs to stay the same to not break the `gitfiles` + * array in path.c + */ +typedef enum { + /** Check for the .gitignore file */ + GIT_PATH_GITFILE_GITIGNORE, + /** Check for the .gitmodules file */ + GIT_PATH_GITFILE_GITMODULES, + /** Check for the .gitattributes file */ + GIT_PATH_GITFILE_GITATTRIBUTES +} git_path_gitfile; + +/** + * The kinds of checks to perform according to which filesystem we are trying to + * protect. + */ +typedef enum { + /** Do both NTFS- and HFS-specific checks */ + GIT_PATH_FS_GENERIC, + /** Do NTFS-specific checks only */ + GIT_PATH_FS_NTFS, + /** Do HFS-specific checks only */ + GIT_PATH_FS_HFS +} git_path_fs; + +/** + * Check whether a path component corresponds to a .git$SUFFIX + * file. + * + * As some filesystems do special things to filenames when + * writing files to disk, you cannot always do a plain string + * comparison to verify whether a file name matches an expected + * path or not. This function can do the comparison for you, + * depending on the filesystem you're on. + * + * @param path the path component to check + * @param pathlen the length of `path` that is to be checked + * @param gitfile which file to check against + * @param fs which filesystem-specific checks to use + * @return 0 in case the file does not match, a positive value if + * it does; -1 in case of an error + */ +GIT_EXTERN(int) git_path_is_gitfile(const char *path, size_t pathlen, git_path_gitfile gitfile, git_path_fs fs); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/refdb_backend.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/refdb_backend.h new file mode 100644 index 00000000..813822a6 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/refdb_backend.h @@ -0,0 +1,365 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_refdb_backend_h__ +#define INCLUDE_sys_git_refdb_backend_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/refdb_backend.h + * @brief Custom reference database backends for refs storage + * @defgroup git_refdb_backend Custom reference database backends for refs storage + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + + +/** + * Every backend's iterator must have a pointer to itself as the first + * element, so the API can talk to it. You'd define your iterator as + * + * struct my_iterator { + * git_reference_iterator parent; + * ... + * } + * + * and assign `iter->parent.backend` to your `git_refdb_backend`. + */ +struct git_reference_iterator { + git_refdb *db; + + /** + * Return the current reference and advance the iterator. + */ + int GIT_CALLBACK(next)( + git_reference **ref, + git_reference_iterator *iter); + + /** + * Return the name of the current reference and advance the iterator + */ + int GIT_CALLBACK(next_name)( + const char **ref_name, + git_reference_iterator *iter); + + /** + * Free the iterator + */ + void GIT_CALLBACK(free)( + git_reference_iterator *iter); +}; + +/** An instance for a custom backend */ +struct git_refdb_backend { + unsigned int version; /**< The backend API version */ + + /** + * Queries the refdb backend for the existence of a reference. + * + * A refdb implementation must provide this function. + * + * @param exists The implementation shall set this to `0` if a ref does + * not exist, otherwise to `1`. + * @param ref_name The reference's name that should be checked for + * existence. + * @return `0` on success, a negative error value code. + */ + int GIT_CALLBACK(exists)( + int *exists, + git_refdb_backend *backend, + const char *ref_name); + + /** + * Queries the refdb backend for a given reference. + * + * A refdb implementation must provide this function. + * + * @param out The implementation shall set this to the allocated + * reference, if it could be found, otherwise to `NULL`. + * @param ref_name The reference's name that should be checked for + * existence. + * @return `0` on success, `GIT_ENOTFOUND` if the reference does + * exist, otherwise a negative error code. + */ + int GIT_CALLBACK(lookup)( + git_reference **out, + git_refdb_backend *backend, + const char *ref_name); + + /** + * Allocate an iterator object for the backend. + * + * A refdb implementation must provide this function. + * + * @param out The implementation shall set this to the allocated + * reference iterator. A custom structure may be used with an + * embedded `git_reference_iterator` structure. Both `next` + * and `next_name` functions of `git_reference_iterator` need + * to be populated. + * @param glob A pattern to filter references by. If given, the iterator + * shall only return references that match the glob when + * passed to `wildmatch`. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(iterator)( + git_reference_iterator **iter, + struct git_refdb_backend *backend, + const char *glob); + + /** + * Writes the given reference to the refdb. + * + * A refdb implementation must provide this function. + * + * @param ref The reference to persist. May either be a symbolic or + * direct reference. + * @param force Whether to write the reference if a reference with the + * same name already exists. + * @param who The person updating the reference. Shall be used to create + * a reflog entry. + * @param message The message detailing what kind of reference update is + * performed. Shall be used to create a reflog entry. + * @param old If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the reference is currently at + * the given OID before writing the new value. If both `old` + * and `old_target` are `NULL`, then the reference should not + * exist at the point of writing. + * @param old_target If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the symbolic + * reference is currently at the given target before + * writing the new value. If both `old` and + * `old_target` are `NULL`, then the reference should + * not exist at the point of writing. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(write)(git_refdb_backend *backend, + const git_reference *ref, int force, + const git_signature *who, const char *message, + const git_oid *old, const char *old_target); + + /** + * Rename a reference in the refdb. + * + * A refdb implementation must provide this function. + * + * @param out The implementation shall set this to the newly created + * reference or `NULL` on error. + * @param old_name The current name of the reference that is to be renamed. + * @param new_name The new name that the old reference shall be renamed to. + * @param force Whether to write the reference if a reference with the + * target name already exists. + * @param who The person updating the reference. Shall be used to create + * a reflog entry. + * @param message The message detailing what kind of reference update is + * performed. Shall be used to create a reflog entry. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(rename)( + git_reference **out, git_refdb_backend *backend, + const char *old_name, const char *new_name, int force, + const git_signature *who, const char *message); + + /** + * Deletes the given reference from the refdb. + * + * If it exists, its reflog should be deleted as well. + * + * A refdb implementation must provide this function. + * + * @param ref_name The name of the reference name that shall be deleted. + * @param old_id If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the reference is currently at + * the given OID before writing the new value. + * @param old_target If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the symbolic + * reference is currently at the given target before + * writing the new value. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(del)(git_refdb_backend *backend, const char *ref_name, const git_oid *old_id, const char *old_target); + + /** + * Suggests that the given refdb compress or optimize its references. + * + * This mechanism is implementation specific. For on-disk reference + * databases, this may pack all loose references. + * + * A refdb implementation may provide this function; if it is not + * provided, nothing will be done. + * + * @return `0` on success a negative error code otherwise + */ + int GIT_CALLBACK(compress)(git_refdb_backend *backend); + + /** + * Query whether a particular reference has a log (may be empty) + * + * Shall return 1 if it has a reflog, 0 it it doesn't and negative in + * case an error occurred. + * + * A refdb implementation must provide this function. + * + * @return `0` on success, `1` if the reflog for the given reference + * exists, a negative error code otherwise + */ + int GIT_CALLBACK(has_log)(git_refdb_backend *backend, const char *refname); + + /** + * Make sure a particular reference will have a reflog which + * will be appended to on writes. + * + * A refdb implementation must provide this function. + * + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(ensure_log)(git_refdb_backend *backend, const char *refname); + + /** + * Frees any resources held by the refdb (including the `git_refdb_backend` + * itself). + * + * A refdb backend implementation must provide this function. + */ + void GIT_CALLBACK(free)(git_refdb_backend *backend); + + /** + * Read the reflog for the given reference name. + * + * A refdb implementation must provide this function. + * + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_read)(git_reflog **out, git_refdb_backend *backend, const char *name); + + /** + * Write a reflog to disk. + * + * A refdb implementation must provide this function. + * + * @param reflog The complete reference log for a given reference. Note + * that this may contain entries that have already been + * written to disk. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_write)(git_refdb_backend *backend, git_reflog *reflog); + + /** + * Rename a reflog. + * + * A refdb implementation must provide this function. + * + * @param old_name The name of old reference whose reflog shall be renamed from. + * @param new_name The name of new reference whose reflog shall be renamed to. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_rename)(git_refdb_backend *_backend, const char *old_name, const char *new_name); + + /** + * Remove a reflog. + * + * A refdb implementation must provide this function. + * + * @param name The name of the reference whose reflog shall be deleted. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_delete)(git_refdb_backend *backend, const char *name); + + /** + * Lock a reference. + * + * A refdb implementation may provide this function; if it is not + * provided, the transaction API will fail to work. + * + * @param payload_out Opaque parameter that will be passed verbosely to + * `unlock`. + * @param refname Reference that shall be locked. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(lock)(void **payload_out, git_refdb_backend *backend, const char *refname); + + /** + * Unlock a reference. + * + * Only one of target or symbolic_target will be set. + * `success` will be true if the reference should be update, false if + * the lock must be discarded. + * + * A refdb implementation must provide this function if a `lock` + * implementation is provided. + * + * @param payload The payload returned by `lock`. + * @param success `1` if a reference should be updated, `2` if + * a reference should be deleted, `0` if the lock must be + * discarded. + * @param update_reflog `1` in case the reflog should be updated, `0` + * otherwise. + * @param ref The reference which should be unlocked. + * @param who The person updating the reference. Shall be used to create + * a reflog entry in case `update_reflog` is set. + * @param message The message detailing what kind of reference update is + * performed. Shall be used to create a reflog entry in + * case `update_reflog` is set. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(unlock)(git_refdb_backend *backend, void *payload, int success, int update_reflog, + const git_reference *ref, const git_signature *sig, const char *message); +}; + +/** Current version for the `git_refdb_backend_options` structure */ +#define GIT_REFDB_BACKEND_VERSION 1 + +/** Static constructor for `git_refdb_backend_options` */ +#define GIT_REFDB_BACKEND_INIT {GIT_REFDB_BACKEND_VERSION} + +/** + * Initializes a `git_refdb_backend` with default values. Equivalent to + * creating an instance with GIT_REFDB_BACKEND_INIT. + * + * @param backend the `git_refdb_backend` struct to initialize + * @param version Version of struct; pass `GIT_REFDB_BACKEND_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_refdb_init_backend( + git_refdb_backend *backend, + unsigned int version); + +/** + * Constructors for default filesystem-based refdb backend + * + * Under normal usage, this is called for you when the repository is + * opened / created, but you can use this to explicitly construct a + * filesystem refdb backend for a repository. + * + * @param backend_out Output pointer to the git_refdb_backend object + * @param repo Git repository to access + * @return 0 on success, <0 error code on failure + */ +GIT_EXTERN(int) git_refdb_backend_fs( + git_refdb_backend **backend_out, + git_repository *repo); + +/** + * Sets the custom backend to an existing reference DB + * + * The `git_refdb` will take ownership of the `git_refdb_backend` so you + * should NOT free it after calling this function. + * + * @param refdb database to add the backend to + * @param backend pointer to a git_refdb_backend instance + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_refdb_set_backend( + git_refdb *refdb, + git_refdb_backend *backend); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/refs.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/refs.h new file mode 100644 index 00000000..e434e67c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/refs.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_refdb_h__ +#define INCLUDE_sys_git_refdb_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/refs.h + * @brief Low-level git reference creation + * @defgroup git_backend Low-level git reference creation + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new direct reference from an OID. + * + * @param name the reference name + * @param oid the object id for a direct reference + * @param peel the first non-tag object's OID, or NULL + * @return the created git_reference or NULL on error + */ +GIT_EXTERN(git_reference *) git_reference__alloc( + const char *name, + const git_oid *oid, + const git_oid *peel); + +/** + * Create a new symbolic reference. + * + * @param name the reference name + * @param target the target for a symbolic reference + * @return the created git_reference or NULL on error + */ +GIT_EXTERN(git_reference *) git_reference__alloc_symbolic( + const char *name, + const char *target); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/remote.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/remote.h new file mode 100644 index 00000000..476965da --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/remote.h @@ -0,0 +1,53 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_remote_h +#define INCLUDE_sys_git_remote_h + +#include "git2/remote.h" + +/** + * @file git2/sys/remote.h + * @brief Low-level remote functionality for custom transports + * @defgroup git_remote Low-level remote functionality for custom transports + * @ingroup Git + * @{ +*/ + +GIT_BEGIN_DECL + +/** + * A remote's capabilities. + */ +typedef enum { + /** Remote supports fetching an advertised object by ID. */ + GIT_REMOTE_CAPABILITY_TIP_OID = (1 << 0), + + /** Remote supports fetching an individual reachable object. */ + GIT_REMOTE_CAPABILITY_REACHABLE_OID = (1 << 1), + + /** Remote supports push options. */ + GIT_REMOTE_CAPABILITY_PUSH_OPTIONS = (1 << 2), +} git_remote_capability_t; + +/** + * Disposes libgit2-initialized fields from a git_remote_connect_options. + * This should only be used for git_remote_connect_options returned by + * git_transport_remote_connect_options. + * + * Note that this does not free the `git_remote_connect_options` itself, just + * the memory pointed to by it. + * + * @param opts The `git_remote_connect_options` struct to dispose. + */ +GIT_EXTERN(void) git_remote_connect_options_dispose( + git_remote_connect_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/repository.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/repository.h new file mode 100644 index 00000000..026ac8a1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/repository.h @@ -0,0 +1,240 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_repository_h__ +#define INCLUDE_sys_git_repository_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/repository.h + * @brief Custom repository handling + * @defgroup git_repository Custom repository handling + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * The options for creating an repository from scratch. + * + * Initialize with `GIT_REPOSITORY_NEW_OPTIONS_INIT`. Alternatively, + * you can use `git_repository_new_options_init`. + * + * @options[version] GIT_REPOSITORY_NEW_OPTIONS_VERSION + * @options[init_macro] GIT_REPOSITORY_NEW_OPTIONS_INIT + * @options[init_function] git_repository_new_options_init + */ +typedef struct git_repository_new_options { + unsigned int version; /**< The version */ + + /** + * The object ID type for the object IDs that exist in the index. + * + * If this is not specified, this defaults to `GIT_OID_SHA1`. + */ + git_oid_t oid_type; +} git_repository_new_options; + +/** Current version for the `git_repository_new_options` structure */ +#define GIT_REPOSITORY_NEW_OPTIONS_VERSION 1 + +/** Static constructor for `git_repository_new_options` */ +#define GIT_REPOSITORY_NEW_OPTIONS_INIT { GIT_REPOSITORY_NEW_OPTIONS_VERSION } + +/** + * Initialize git_repository_new_options structure + * + * Initializes a `git_repository_new_options` with default values. + * Equivalent to creating an instance with + * `GIT_REPOSITORY_NEW_OPTIONS_INIT`. + * + * @param opts The `git_repository_new_options` struct to initialize. + * @param version The struct version; pass `GIT_REPOSITORY_NEW_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_repository_new_options_init( + git_repository_new_options *opts, + unsigned int version); + +/** + * Create a new repository with no backends. + * + * @param[out] out The blank repository + * @param opts the options for repository creation, or NULL for defaults + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_new(git_repository **out, git_repository_new_options *opts); +#else + +/** + * Create a new repository with neither backends nor config object + * + * Note that this is only useful if you wish to associate the repository + * with a non-filesystem-backed object database and config store. + * + * Caveats: since this repository has no physical location, some systems + * can fail to function properly: locations under $GIT_DIR, $GIT_COMMON_DIR, + * or $GIT_INFO_DIR are impacted. + * + * @param[out] out The blank repository + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_new(git_repository **out); + +#endif + +/** + * Reset all the internal state in a repository. + * + * This will free all the mapped memory and internal objects + * of the repository and leave it in a "blank" state. + * + * There's no need to call this function directly unless you're + * trying to aggressively cleanup the repo before its + * deallocation. `git_repository_free` already performs this operation + * before deallocating the repo. + * + * @param repo The repository to clean up + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository__cleanup(git_repository *repo); + +/** + * Update the filesystem config settings for an open repository + * + * When a repository is initialized, config values are set based on the + * properties of the filesystem that the repository is on, such as + * "core.ignorecase", "core.filemode", "core.symlinks", etc. If the + * repository is moved to a new filesystem, these properties may no + * longer be correct and API calls may not behave as expected. This + * call reruns the phase of repository initialization that sets those + * properties to compensate for the current filesystem of the repo. + * + * @param repo A repository object + * @param recurse_submodules Should submodules be updated recursively + * @return 0 on success, < 0 on error + */ +GIT_EXTERN(int) git_repository_reinit_filesystem( + git_repository *repo, + int recurse_submodules); + +/** + * Set the configuration file for this repository + * + * This configuration file will be used for all configuration + * queries involving this repository. + * + * The repository will keep a reference to the config file; + * the user must still free the config after setting it + * to the repository, or it will leak. + * + * @param repo A repository object + * @param config A Config object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_config(git_repository *repo, git_config *config); + +/** + * Set the Object Database for this repository + * + * The ODB will be used for all object-related operations + * involving this repository. + * + * The repository will keep a reference to the ODB; the user + * must still free the ODB object after setting it to the + * repository, or it will leak. + * + * @param repo A repository object + * @param odb An ODB object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_odb(git_repository *repo, git_odb *odb); + +/** + * Set the Reference Database Backend for this repository + * + * The refdb will be used for all reference related operations + * involving this repository. + * + * The repository will keep a reference to the refdb; the user + * must still free the refdb object after setting it to the + * repository, or it will leak. + * + * @param repo A repository object + * @param refdb An refdb object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_refdb(git_repository *repo, git_refdb *refdb); + +/** + * Set the index file for this repository + * + * This index will be used for all index-related operations + * involving this repository. + * + * The repository will keep a reference to the index file; + * the user must still free the index after setting it + * to the repository, or it will leak. + * + * @param repo A repository object + * @param index An index object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_index(git_repository *repo, git_index *index); + +/** + * Set a repository to be bare. + * + * Clear the working directory and set core.bare to true. You may also + * want to call `git_repository_set_index(repo, NULL)` since a bare repo + * typically does not have an index, but this function will not do that + * for you. + * + * @param repo Repo to make bare + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_repository_set_bare(git_repository *repo); + +/** + * Load and cache all submodules. + * + * Because the `.gitmodules` file is unstructured, loading submodules is an + * O(N) operation. Any operation (such as `git_rebase_init`) that requires + * accessing all submodules is O(N^2) in the number of submodules, if it + * has to look each one up individually. This function loads all submodules + * and caches them so that subsequent calls to `git_submodule_lookup` are O(1). + * + * @param repo the repository whose submodules will be cached. + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_submodule_cache_all( + git_repository *repo); + +/** + * Clear the submodule cache. + * + * Clear the submodule cache populated by `git_repository_submodule_cache_all`. + * If there is no cache, do nothing. + * + * The cache incorporates data from the repository's configuration, as well + * as the state of the working tree, the index, and HEAD. So any time any + * of these has changed, the cache might become invalid. + * + * @param repo the repository whose submodule cache will be cleared + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_submodule_cache_clear( + git_repository *repo); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/stream.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/stream.h new file mode 100644 index 00000000..eabff686 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/stream.h @@ -0,0 +1,161 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_stream_h__ +#define INCLUDE_sys_git_stream_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/proxy.h" + +/** + * @file git2/sys/stream.h + * @brief Streaming file I/O functionality + * @defgroup git_stream Streaming file I/O functionality + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Current version for the `git_stream` structures */ +#define GIT_STREAM_VERSION 1 + +/** + * Every stream must have this struct as its first element, so the + * API can talk to it. You'd define your stream as + * + * struct my_stream { + * git_stream parent; + * ... + * } + * + * and fill the functions + */ +typedef struct git_stream { + int version; + + unsigned int encrypted : 1, + proxy_support : 1; + + /** + * Timeout for read and write operations; can be set to `0` to + * block indefinitely. + */ + int timeout; + + /** + * Timeout to connect to the remote server; can be set to `0` + * to use the system defaults. This can be shorter than the + * system default - often 75 seconds - but cannot be longer. + */ + int connect_timeout; + + int GIT_CALLBACK(connect)(struct git_stream *); + int GIT_CALLBACK(certificate)(git_cert **, struct git_stream *); + int GIT_CALLBACK(set_proxy)(struct git_stream *, const git_proxy_options *proxy_opts); + ssize_t GIT_CALLBACK(read)(struct git_stream *, void *, size_t); + ssize_t GIT_CALLBACK(write)(struct git_stream *, const char *, size_t, int); + int GIT_CALLBACK(close)(struct git_stream *); + void GIT_CALLBACK(free)(struct git_stream *); +} git_stream; + +typedef struct { + /** The `version` field should be set to `GIT_STREAM_VERSION`. */ + int version; + + /** + * Called to create a new connection to a given host. + * + * @param out The created stream + * @param host The hostname to connect to; may be a hostname or + * IP address + * @param port The port to connect to; may be a port number or + * service name + * @return 0 or an error code + */ + int GIT_CALLBACK(init)(git_stream **out, const char *host, const char *port); + + /** + * Called to create a new connection on top of the given stream. If + * this is a TLS stream, then this function may be used to proxy a + * TLS stream over an HTTP CONNECT session. If this is unset, then + * HTTP CONNECT proxies will not be supported. + * + * @param out The created stream + * @param in An existing stream to add TLS to + * @param host The hostname that the stream is connected to, + * for certificate validation + * @return 0 or an error code + */ + int GIT_CALLBACK(wrap)(git_stream **out, git_stream *in, const char *host); +} git_stream_registration; + +/** + * The type of stream to register. + */ +typedef enum { + /** A standard (non-TLS) socket. */ + GIT_STREAM_STANDARD = 1, + + /** A TLS-encrypted socket. */ + GIT_STREAM_TLS = 2 +} git_stream_t; + +/** + * Register stream constructors for the library to use + * + * If a registration structure is already set, it will be overwritten. + * Pass `NULL` in order to deregister the current constructor and return + * to the system defaults. + * + * The type parameter may be a bitwise AND of types. + * + * @param type the type or types of stream to register + * @param registration the registration data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_stream_register( + git_stream_t type, git_stream_registration *registration); + +#ifndef GIT_DEPRECATE_HARD + +/** @name Deprecated TLS Stream Registration Functions + * + * These functions are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * @deprecated Provide a git_stream_registration to git_stream_register + * @see git_stream_registration + */ +typedef int GIT_CALLBACK(git_stream_cb)(git_stream **out, const char *host, const char *port); + +/** + * Register a TLS stream constructor for the library to use. This stream + * will not support HTTP CONNECT proxies. This internally calls + * `git_stream_register` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Provide a git_stream_registration to git_stream_register + * @see git_stream_register + */ +GIT_EXTERN(int) git_stream_register_tls(git_stream_cb ctor); + +/**@}*/ + +#endif + +/**@}*/ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/transport.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/transport.h new file mode 100644 index 00000000..ad6765c6 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/sys/transport.h @@ -0,0 +1,486 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_transport_h +#define INCLUDE_sys_git_transport_h + +#include "git2/net.h" +#include "git2/oidarray.h" +#include "git2/proxy.h" +#include "git2/remote.h" +#include "git2/strarray.h" +#include "git2/transport.h" +#include "git2/types.h" + +/** + * @file git2/sys/transport.h + * @brief Custom transport registration interfaces and functions + * @defgroup git_transport Custom transport registration + * @ingroup Git + * + * Callers can override the default HTTPS or SSH implementation by + * specifying a custom transport. + * @{ + */ + +GIT_BEGIN_DECL + +/** + * The negotiation state during a fetch smart transport negotiation. + */ +typedef struct { + const git_remote_head * const *refs; + size_t refs_len; + git_oid *shallow_roots; + size_t shallow_roots_len; + int depth; +} git_fetch_negotiation; + +struct git_transport { + unsigned int version; /**< The struct version */ + + /** + * Connect the transport to the remote repository, using the given + * direction. + */ + int GIT_CALLBACK(connect)( + git_transport *transport, + const char *url, + int direction, + const git_remote_connect_options *connect_opts); + + /** + * Resets the connect options for the given transport. This + * is useful for updating settings or callbacks for an already + * connected transport. + */ + int GIT_CALLBACK(set_connect_opts)( + git_transport *transport, + const git_remote_connect_options *connect_opts); + + /** + * Gets the capabilities for this remote repository. + * + * This function may be called after a successful call to + * `connect()`. + */ + int GIT_CALLBACK(capabilities)( + unsigned int *capabilities, + git_transport *transport); + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** + * Gets the object type for the remote repository. + * + * This function may be called after a successful call to + * `connect()`. + */ + int GIT_CALLBACK(oid_type)( + git_oid_t *object_type, + git_transport *transport); +#endif + + /** + * Get the list of available references in the remote repository. + * + * This function may be called after a successful call to + * `connect()`. The array returned is owned by the transport and + * must be kept valid until the next call to one of its functions. + */ + int GIT_CALLBACK(ls)( + const git_remote_head ***out, + size_t *size, + git_transport *transport); + + /** Executes the push whose context is in the git_push object. */ + int GIT_CALLBACK(push)( + git_transport *transport, + git_push *push); + + /** + * Negotiate a fetch with the remote repository. + * + * This function may be called after a successful call to `connect()`, + * when the direction is GIT_DIRECTION_FETCH. The function performs a + * negotiation to calculate the `wants` list for the fetch. + */ + int GIT_CALLBACK(negotiate_fetch)( + git_transport *transport, + git_repository *repo, + const git_fetch_negotiation *fetch_data); + + /** + * Return the shallow roots of the remote. + * + * This function may be called after a successful call to + * `negotiate_fetch`. + */ + int GIT_CALLBACK(shallow_roots)( + git_oidarray *out, + git_transport *transport); + + /** + * Start downloading the packfile from the remote repository. + * + * This function may be called after a successful call to + * negotiate_fetch(), when the direction is GIT_DIRECTION_FETCH. + */ + int GIT_CALLBACK(download_pack)( + git_transport *transport, + git_repository *repo, + git_indexer_progress *stats); + + /** Checks to see if the transport is connected */ + int GIT_CALLBACK(is_connected)(git_transport *transport); + + /** Cancels any outstanding transport operation */ + void GIT_CALLBACK(cancel)(git_transport *transport); + + /** + * Close the connection to the remote repository. + * + * This function is the reverse of connect() -- it terminates the + * connection to the remote end. + */ + int GIT_CALLBACK(close)(git_transport *transport); + + /** Frees/destructs the git_transport object. */ + void GIT_CALLBACK(free)(git_transport *transport); +}; + +/** Current version for the `git_transport` structure */ +#define GIT_TRANSPORT_VERSION 1 + +/** Static constructor for `git_transport` */ +#define GIT_TRANSPORT_INIT {GIT_TRANSPORT_VERSION} + +/** + * Initializes a `git_transport` with default values. Equivalent to + * creating an instance with GIT_TRANSPORT_INIT. + * + * @param opts the `git_transport` struct to initialize + * @param version Version of struct; pass `GIT_TRANSPORT_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_transport_init( + git_transport *opts, + unsigned int version); + +/** + * Function to use to create a transport from a URL. The transport database + * is scanned to find a transport that implements the scheme of the URI (i.e. + * git:// or http://) and a transport object is returned to the caller. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param url The URL to connect to + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_new(git_transport **out, git_remote *owner, const char *url); + +/** + * Create an ssh transport with custom git command paths + * + * This is a factory function suitable for setting as the transport + * callback in a remote (or for a clone in the options). + * + * The payload argument must be a strarray pointer with the paths for + * the `git-upload-pack` and `git-receive-pack` at index 0 and 1. + * + * @param out the resulting transport + * @param owner the owning remote + * @param payload a strarray with the paths + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_ssh_with_paths(git_transport **out, git_remote *owner, void *payload); + +/** + * Add a custom transport definition, to be used in addition to the built-in + * set of transports that come with libgit2. + * + * The caller is responsible for synchronizing calls to git_transport_register + * and git_transport_unregister with other calls to the library that + * instantiate transports. + * + * @param prefix The scheme (ending in "://") to match, i.e. "git://" + * @param cb The callback used to create an instance of the transport + * @param param A fixed parameter to pass to cb at creation time + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_register( + const char *prefix, + git_transport_cb cb, + void *param); + +/** + * Unregister a custom transport definition which was previously registered + * with git_transport_register. + * + * The caller is responsible for synchronizing calls to git_transport_register + * and git_transport_unregister with other calls to the library that + * instantiate transports. + * + * @param prefix From the previous call to git_transport_register + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_unregister( + const char *prefix); + +/* Transports which come with libgit2 (match git_transport_cb). The expected + * value for "param" is listed in-line below. */ + +/** + * Create an instance of the dummy transport. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param payload You must pass NULL for this parameter. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_dummy( + git_transport **out, + git_remote *owner, + /* NULL */ void *payload); + +/** + * Create an instance of the local transport. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param payload You must pass NULL for this parameter. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_local( + git_transport **out, + git_remote *owner, + /* NULL */ void *payload); + +/** + * Create an instance of the smart transport. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param payload A pointer to a git_smart_subtransport_definition + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_smart( + git_transport **out, + git_remote *owner, + /* (git_smart_subtransport_definition *) */ void *payload); + +/** + * Call the certificate check for this transport. + * + * @param transport a smart transport + * @param cert the certificate to pass to the caller + * @param valid whether we believe the certificate is valid + * @param hostname the hostname we connected to + * @return the return value of the callback: 0 for no error, GIT_PASSTHROUGH + * to indicate that there is no callback registered (or the callback + * refused to validate the certificate and callers should behave as + * if no callback was set), or < 0 for an error + */ +GIT_EXTERN(int) git_transport_smart_certificate_check(git_transport *transport, git_cert *cert, int valid, const char *hostname); + +/** + * Call the credentials callback for this transport + * + * @param out the pointer where the creds are to be stored + * @param transport a smart transport + * @param user the user we saw on the url (if any) + * @param methods available methods for authentication + * @return the return value of the callback: 0 for no error, GIT_PASSTHROUGH + * to indicate that there is no callback registered (or the callback + * refused to provide credentials and callers should behave as if no + * callback was set), or < 0 for an error + */ +GIT_EXTERN(int) git_transport_smart_credentials(git_credential **out, git_transport *transport, const char *user, int methods); + +/** + * Get a copy of the remote connect options + * + * All data is copied and must be freed by the caller by calling + * `git_remote_connect_options_dispose`. + * + * @param out options struct to fill + * @param transport the transport to extract the data from. + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_transport_remote_connect_options( + git_remote_connect_options *out, + git_transport *transport); + +/* + *** End of base transport interface *** + *** Begin interface for subtransports for the smart transport *** + */ + +/** Actions that the smart transport can ask a subtransport to perform */ +typedef enum { + GIT_SERVICE_UPLOADPACK_LS = 1, + GIT_SERVICE_UPLOADPACK = 2, + GIT_SERVICE_RECEIVEPACK_LS = 3, + GIT_SERVICE_RECEIVEPACK = 4 +} git_smart_service_t; + +typedef struct git_smart_subtransport git_smart_subtransport; +typedef struct git_smart_subtransport_stream git_smart_subtransport_stream; + +/** + * A stream used by the smart transport to read and write data + * from a subtransport. + * + * This provides a customization point in case you need to + * support some other communication method. + */ +struct git_smart_subtransport_stream { + git_smart_subtransport *subtransport; /**< The owning subtransport */ + + /** + * Read available data from the stream. + * + * The implementation may read less than requested. + */ + int GIT_CALLBACK(read)( + git_smart_subtransport_stream *stream, + char *buffer, + size_t buf_size, + size_t *bytes_read); + + /** + * Write data to the stream + * + * The implementation must write all data or return an error. + */ + int GIT_CALLBACK(write)( + git_smart_subtransport_stream *stream, + const char *buffer, + size_t len); + + /** Free the stream */ + void GIT_CALLBACK(free)( + git_smart_subtransport_stream *stream); +}; + +/** + * An implementation of a subtransport which carries data for the + * smart transport + */ +struct git_smart_subtransport { + /** + * Setup a subtransport stream for the requested action. + */ + int GIT_CALLBACK(action)( + git_smart_subtransport_stream **out, + git_smart_subtransport *transport, + const char *url, + git_smart_service_t action); + + /** + * Close the subtransport. + * + * Subtransports are guaranteed a call to close() between + * calls to action(), except for the following two "natural" progressions + * of actions against a constant URL: + * + * - UPLOADPACK_LS -> UPLOADPACK + * - RECEIVEPACK_LS -> RECEIVEPACK + */ + int GIT_CALLBACK(close)(git_smart_subtransport *transport); + + /** Free the subtransport */ + void GIT_CALLBACK(free)(git_smart_subtransport *transport); +}; + +/** + * A function that creates a new subtransport for the smart transport + * + * @param out the smart subtransport + * @param owner the transport owner + * @param param the input parameter + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_smart_subtransport_cb)( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** + * Definition for a "subtransport" + * + * The smart transport knows how to speak the git protocol, but it has no + * knowledge of how to establish a connection between it and another endpoint, + * or how to move data back and forth. For this, a subtransport interface is + * declared, and the smart transport delegates this work to the subtransports. + * + * Three subtransports are provided by libgit2: ssh, git, http(s). + * + * Subtransports can either be RPC = 0 (persistent connection) or RPC = 1 + * (request/response). The smart transport handles the differences in its own + * logic. The git subtransport is RPC = 0, while http is RPC = 1. + */ +typedef struct git_smart_subtransport_definition { + /** The function to use to create the git_smart_subtransport */ + git_smart_subtransport_cb callback; + + /** + * True if the protocol is stateless; false otherwise. For example, + * http:// is stateless, but git:// is not. + */ + unsigned rpc; + + /** User-specified parameter passed to the callback */ + void *param; +} git_smart_subtransport_definition; + +/* Smart transport subtransports that come with libgit2 */ + +/** + * Create an instance of the http subtransport. + * + * This subtransport also supports https. + * + * @param out The newly created subtransport + * @param owner The smart transport to own this subtransport + * @param param custom parameters for the subtransport + * @return 0 or an error code + */ +GIT_EXTERN(int) git_smart_subtransport_http( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** + * Create an instance of the git subtransport. + * + * @param out The newly created subtransport + * @param owner The smart transport to own this subtransport + * @param param custom parameters for the subtransport + * @return 0 or an error code + */ +GIT_EXTERN(int) git_smart_subtransport_git( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** + * Create an instance of the ssh subtransport. + * + * @param out The newly created subtransport + * @param owner The smart transport to own this subtransport + * @param param custom parameters for the subtransport + * @return 0 or an error code + */ +GIT_EXTERN(int) git_smart_subtransport_ssh( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/tag.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/tag.h new file mode 100644 index 00000000..3b0c12eb --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/tag.h @@ -0,0 +1,385 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_tag_h__ +#define INCLUDE_git_tag_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" +#include "strarray.h" + +/** + * @file git2/tag.h + * @brief A (nearly) immutable pointer to a commit; useful for versioning + * @defgroup git_tag Git tag management + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a tag object from the repository. + * + * @param out pointer to the looked up tag + * @param repo the repo to use when locating the tag. + * @param id identity of the tag to locate. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_lookup( + git_tag **out, git_repository *repo, const git_oid *id); + +/** + * Lookup a tag object from the repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param out pointer to the looked up tag + * @param repo the repo to use when locating the tag. + * @param id identity of the tag to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_lookup_prefix( + git_tag **out, git_repository *repo, const git_oid *id, size_t len); + +/** + * Close an open tag + * + * You can no longer use the git_tag pointer after this call. + * + * 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. + * + * @param tag the tag to close + */ +GIT_EXTERN(void) git_tag_free(git_tag *tag); + +/** + * Get the id of a tag. + * + * @param tag a previously loaded tag. + * @return object identity for the tag. + */ +GIT_EXTERN(const git_oid *) git_tag_id(const git_tag *tag); + +/** + * Get the repository that contains the tag. + * + * @param tag A previously loaded tag. + * @return Repository that contains this tag. + */ +GIT_EXTERN(git_repository *) git_tag_owner(const git_tag *tag); + +/** + * Get the tagged object of a tag + * + * This method performs a repository lookup for the + * given object and returns it + * + * @param target_out pointer where to store the target + * @param tag a previously loaded tag. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_target(git_object **target_out, const git_tag *tag); + +/** + * Get the OID of the tagged object of a tag + * + * @param tag a previously loaded tag. + * @return pointer to the OID + */ +GIT_EXTERN(const git_oid *) git_tag_target_id(const git_tag *tag); + +/** + * Get the type of a tag's tagged object + * + * @param tag a previously loaded tag. + * @return type of the tagged object + */ +GIT_EXTERN(git_object_t) git_tag_target_type(const git_tag *tag); + +/** + * Get the name of a tag + * + * @param tag a previously loaded tag. + * @return name of the tag + */ +GIT_EXTERN(const char *) git_tag_name(const git_tag *tag); + +/** + * Get the tagger (author) of a tag + * + * @param tag a previously loaded tag. + * @return reference to the tag's author or NULL when unspecified + */ +GIT_EXTERN(const git_signature *) git_tag_tagger(const git_tag *tag); + +/** + * Get the message of a tag + * + * @param tag a previously loaded tag. + * @return message of the tag or NULL when unspecified + */ +GIT_EXTERN(const char *) git_tag_message(const git_tag *tag); + + +/** + * Create a new tag in the repository from an object + * + * 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. + * + * The message will not be cleaned up. This can be achieved + * through `git_message_prettify()`. + * + * The tag name will be checked for validity. You must avoid + * the characters '~', '^', ':', '\\', '?', '[', and '*', and the + * sequences ".." and "@{" which have special meaning to revparse. + * + * @param oid Pointer where to store the OID of the + * newly created tag. If the tag already exists, this parameter + * will be the oid of the existing tag, and the function will + * return a GIT_EEXISTS error code. + * + * @param repo Repository where to store the tag + * + * @param tag_name Name for the tag; this name is validated + * for consistency. It should also not conflict with an + * already existing tag name + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param tagger Signature of the tagger for this tag, and + * of the tagging time + * + * @param message Full message for this tag + * + * @param force Overwrite existing references + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code + * A tag object is written to the ODB, and a proper reference + * is written in the /refs/tags folder, pointing to it + */ +GIT_EXTERN(int) git_tag_create( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + const git_signature *tagger, + const char *message, + int force); + +/** + * Create a new tag in the object database pointing to a git_object + * + * The message will not be cleaned up. This can be achieved + * through `git_message_prettify()`. + * + * @param oid Pointer where to store the OID of the + * newly created tag + * + * @param repo Repository where to store the tag + * + * @param tag_name Name for the tag + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param tagger Signature of the tagger for this tag, and + * of the tagging time + * + * @param message Full message for this tag + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_tag_annotation_create( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + const git_signature *tagger, + const char *message); + +/** + * Create a new tag in the repository from a buffer + * + * @param oid Pointer where to store the OID of the newly created tag + * @param repo Repository where to store the tag + * @param buffer Raw tag data + * @param force Overwrite existing tags + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_tag_create_from_buffer( + git_oid *oid, + git_repository *repo, + const char *buffer, + int force); + +/** + * Create a new lightweight tag pointing at a target object + * + * 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. + * + * The tag name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param oid Pointer where to store the OID of the provided + * target object. If the tag already exists, this parameter + * will be filled with the oid of the existing pointed object + * and the function will return a GIT_EEXISTS error code. + * + * @param repo Repository where to store the lightweight tag + * + * @param tag_name Name for the tag; this name is validated + * for consistency. It should also not conflict with an + * already existing tag name + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param force Overwrite existing references + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code + * A proper reference is written in the /refs/tags folder, + * pointing to the provided target object + */ +GIT_EXTERN(int) git_tag_create_lightweight( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + int force); + +/** + * Delete an existing tag reference. + * + * The tag name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param repo Repository where lives the tag + * + * @param tag_name Name of the tag to be deleted; + * this name is validated for consistency. + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_tag_delete( + git_repository *repo, + const char *tag_name); + +/** + * Fill a list with all the tags in the Repository + * + * 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`. + * + * @param tag_names Pointer to a git_strarray structure where + * the tag names will be stored + * @param repo Repository where to find the tags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_list( + git_strarray *tag_names, + git_repository *repo); + +/** + * Fill a list with all the tags in the Repository + * which name match a defined pattern + * + * If an empty pattern is provided, all the tags + * will be returned. + * + * 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`. + * + * @param tag_names Pointer to a git_strarray structure where + * the tag names will be stored + * @param pattern Standard fnmatch pattern + * @param repo Repository where to find the tags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_list_match( + git_strarray *tag_names, + const char *pattern, + git_repository *repo); + +/** + * Callback used to iterate over tag names + * + * @see git_tag_foreach + * + * @param name The tag name + * @param oid The tag's OID + * @param payload Payload passed to git_tag_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_tag_foreach_cb)(const char *name, git_oid *oid, void *payload); + +/** + * Call callback `cb' for each tag in the repository + * + * @param repo Repository + * @param callback Callback function + * @param payload Pointer to callback data (optional) + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_tag_foreach( + git_repository *repo, + git_tag_foreach_cb callback, + void *payload); + + +/** + * Recursively peel a tag until a non tag git_object is found + * + * The retrieved `tag_target` object is owned by the repository + * and should be closed with the `git_object_free` method. + * + * @param tag_target_out Pointer to the peeled git_object + * @param tag The tag to be processed + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_peel( + git_object **tag_target_out, + const git_tag *tag); + +/** + * Create an in-memory copy of a tag. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the tag + * @param source Original tag to copy + * @return 0 + */ +GIT_EXTERN(int) git_tag_dup(git_tag **out, git_tag *source); + +/** + * Determine whether a tag name is valid, meaning that (when prefixed + * with `refs/tags/`) that it is a valid reference name, and that any + * additional tag name restrictions are imposed (eg, it cannot start + * with a `-`). + * + * @param valid output pointer to set with validity of given tag name + * @param name a tag name to test + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_tag_name_is_valid(int *valid, const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/trace.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/trace.h new file mode 100644 index 00000000..62cb87c0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/trace.h @@ -0,0 +1,73 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_trace_h__ +#define INCLUDE_git_trace_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/trace.h + * @brief Tracing functionality to introspect libgit2 in your application + * @defgroup git_trace Tracing functionality to introspect libgit2 in your application + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Available tracing levels. When tracing is set to a particular level, + * callers will be provided tracing at the given level and all lower levels. + */ +typedef enum { + /** No tracing will be performed. */ + GIT_TRACE_NONE = 0, + + /** Severe errors that may impact the program's execution */ + GIT_TRACE_FATAL = 1, + + /** Errors that do not impact the program's execution */ + GIT_TRACE_ERROR = 2, + + /** Warnings that suggest abnormal data */ + GIT_TRACE_WARN = 3, + + /** Informational messages about program execution */ + GIT_TRACE_INFO = 4, + + /** Detailed data that allows for debugging */ + GIT_TRACE_DEBUG = 5, + + /** Exceptionally detailed debugging data */ + GIT_TRACE_TRACE = 6 +} git_trace_level_t; + +/** + * An instance for a tracing function + * + * @param level the trace level + * @param msg the trace message + */ +typedef void GIT_CALLBACK(git_trace_cb)( + git_trace_level_t level, + const char *msg); + +/** + * Sets the system tracing configuration to the specified level with the + * specified callback. When system events occur at a level equal to, or + * lower than, the given level they will be reported to the given callback. + * + * @param level Level to set tracing to + * @param cb Function to call with trace data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_trace_set(git_trace_level_t level, git_trace_cb cb); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/transaction.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/transaction.h new file mode 100644 index 00000000..212d3291 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/transaction.h @@ -0,0 +1,122 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_transaction_h__ +#define INCLUDE_git_transaction_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/transaction.h + * @brief Transactional reference handling + * @defgroup git_transaction Transactional reference handling + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new transaction object + * + * This does not lock anything, but sets up the transaction object to + * know from which repository to lock. + * + * @param out the resulting transaction + * @param repo the repository in which to lock + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transaction_new(git_transaction **out, git_repository *repo); + +/** + * Lock a reference + * + * Lock the specified reference. This is the first step to updating a + * reference. + * + * @param tx the transaction + * @param refname the reference to lock + * @return 0 or an error message + */ +GIT_EXTERN(int) git_transaction_lock_ref(git_transaction *tx, const char *refname); + +/** + * Set the target of a reference + * + * Set the target of the specified reference. This reference must be + * locked. + * + * @param tx the transaction + * @param refname reference to update + * @param target target to set the reference to + * @param sig signature to use in the reflog; pass NULL to read the identity from the config + * @param msg message to use in the reflog + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_set_target(git_transaction *tx, const char *refname, const git_oid *target, const git_signature *sig, const char *msg); + +/** + * Set the target of a reference + * + * Set the target of the specified reference. This reference must be + * locked. + * + * @param tx the transaction + * @param refname reference to update + * @param target target to set the reference to + * @param sig signature to use in the reflog; pass NULL to read the identity from the config + * @param msg message to use in the reflog + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_set_symbolic_target(git_transaction *tx, const char *refname, const char *target, const git_signature *sig, const char *msg); + +/** + * Set the reflog of a reference + * + * Set the specified reference's reflog. If this is combined with + * setting the target, that update won't be written to the reflog. + * + * @param tx the transaction + * @param refname the reference whose reflog to set + * @param reflog the reflog as it should be written out + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_set_reflog(git_transaction *tx, const char *refname, const git_reflog *reflog); + +/** + * Remove a reference + * + * @param tx the transaction + * @param refname the reference to remove + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_remove(git_transaction *tx, const char *refname); + +/** + * Commit the changes from the transaction + * + * Perform the changes that have been queued. The updates will be made + * one by one, and the first failure will stop the processing. + * + * @param tx the transaction + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transaction_commit(git_transaction *tx); + +/** + * Free the resources allocated by this transaction + * + * If any references remain locked, they will be unlocked without any + * changes made to them. + * + * @param tx the transaction + */ +GIT_EXTERN(void) git_transaction_free(git_transaction *tx); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/transport.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/transport.h new file mode 100644 index 00000000..04a7390b --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/transport.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_transport_h__ +#define INCLUDE_git_transport_h__ + +#include "indexer.h" +#include "net.h" +#include "types.h" +#include "cert.h" +#include "credential.h" + +/** + * @file git2/transport.h + * @brief Transports are the low-level mechanism to connect to a remote server + * @defgroup git_transport Transports are the low-level mechanism to connect to a remote server + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Callback for messages received by the transport. + * + * Return a negative value to cancel the network operation. + * + * @param str The message from the transport + * @param len The length of the message + * @param payload Payload provided by the caller + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_transport_message_cb)(const char *str, int len, void *payload); + +/** + * Signature of a function which creates a transport. + * + * @param out the transport generate + * @param owner the owner for the transport + * @param param the param to the transport creation + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_transport_cb)(git_transport **out, git_remote *owner, void *param); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/tree.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/tree.h new file mode 100644 index 00000000..b8e2de21 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/tree.h @@ -0,0 +1,486 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_tree_h__ +#define INCLUDE_git_tree_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" + +/** + * @file git2/tree.h + * @brief Trees are collections of files and folders to make up the repository hierarchy + * @defgroup git_tree Trees are collections of files and folders to make up the repository hierarchy + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a tree object from the repository. + * + * @param[out] out Pointer to the looked up tree + * @param repo The repo to use when locating the tree. + * @param id Identity of the tree to locate. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_lookup( + git_tree **out, git_repository *repo, const git_oid *id); + +/** + * Lookup a tree object from the repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param out pointer to the looked up tree + * @param repo the repo to use when locating the tree. + * @param id identity of the tree to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_lookup_prefix( + git_tree **out, + git_repository *repo, + const git_oid *id, + size_t len); + +/** + * Close an open tree + * + * You can no longer use the git_tree pointer after this call. + * + * IMPORTANT: You MUST call this method when you stop using a tree to + * release memory. Failure to do so will cause a memory leak. + * + * @param tree The tree to close + */ +GIT_EXTERN(void) git_tree_free(git_tree *tree); + +/** + * Get the id of a tree. + * + * @param tree a previously loaded tree. + * @return object identity for the tree. + */ +GIT_EXTERN(const git_oid *) git_tree_id(const git_tree *tree); + +/** + * Get the repository that contains the tree. + * + * @param tree A previously loaded tree. + * @return Repository that contains this tree. + */ +GIT_EXTERN(git_repository *) git_tree_owner(const git_tree *tree); + +/** + * Get the number of entries listed in a tree + * + * @param tree a previously loaded tree. + * @return the number of entries in the tree + */ +GIT_EXTERN(size_t) git_tree_entrycount(const git_tree *tree); + +/** + * Lookup a tree entry by its filename + * + * 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. + * + * @param tree a previously loaded tree. + * @param filename the filename of the desired entry + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byname( + const git_tree *tree, const char *filename); + +/** + * Lookup a tree entry by its position in the tree + * + * 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. + * + * @param tree a previously loaded tree. + * @param idx the position in the entry list + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byindex( + const git_tree *tree, size_t idx); + +/** + * Lookup a tree entry by SHA value. + * + * 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. + * + * Warning: this must examine every entry in the tree, so it is not fast. + * + * @param tree a previously loaded tree. + * @param id the sha being looked for + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byid( + const git_tree *tree, const git_oid *id); + +/** + * Retrieve a tree entry contained in a tree or in any of its subtrees, + * given its relative path. + * + * Unlike the other lookup functions, the returned tree entry is owned by + * the user and must be freed explicitly with `git_tree_entry_free()`. + * + * @param out Pointer where to store the tree entry + * @param root Previously loaded tree which is the root of the relative path + * @param path Path to the contained entry + * @return 0 on success; GIT_ENOTFOUND if the path does not exist + */ +GIT_EXTERN(int) git_tree_entry_bypath( + git_tree_entry **out, + const git_tree *root, + const char *path); + +/** + * Duplicate a tree entry + * + * Create a copy of a tree entry. The returned copy is owned by the user, + * and must be freed explicitly with `git_tree_entry_free()`. + * + * @param dest pointer where to store the copy + * @param source tree entry to duplicate + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_entry_dup(git_tree_entry **dest, const git_tree_entry *source); + +/** + * Free a user-owned tree entry + * + * IMPORTANT: This function is only needed for tree entries owned by the + * user, such as the ones returned by `git_tree_entry_dup()` or + * `git_tree_entry_bypath()`. + * + * @param entry The entry to free + */ +GIT_EXTERN(void) git_tree_entry_free(git_tree_entry *entry); + +/** + * Get the filename of a tree entry + * + * @param entry a tree entry + * @return the name of the file + */ +GIT_EXTERN(const char *) git_tree_entry_name(const git_tree_entry *entry); + +/** + * Get the id of the object pointed by the entry + * + * @param entry a tree entry + * @return the oid of the object + */ +GIT_EXTERN(const git_oid *) git_tree_entry_id(const git_tree_entry *entry); + +/** + * Get the type of the object pointed by the entry + * + * @param entry a tree entry + * @return the type of the pointed object + */ +GIT_EXTERN(git_object_t) git_tree_entry_type(const git_tree_entry *entry); + +/** + * Get the UNIX file attributes of a tree entry + * + * @param entry a tree entry + * @return filemode as an integer + */ +GIT_EXTERN(git_filemode_t) git_tree_entry_filemode(const git_tree_entry *entry); + +/** + * Get the raw UNIX file attributes of a tree entry + * + * This function does not perform any normalization and is only useful + * if you need to be able to recreate the original tree object. + * + * @param entry a tree entry + * @return filemode as an integer + */ + +GIT_EXTERN(git_filemode_t) git_tree_entry_filemode_raw(const git_tree_entry *entry); +/** + * Compare two tree entries + * + * @param e1 first tree entry + * @param e2 second tree entry + * @return <0 if e1 is before e2, 0 if e1 == e2, >0 if e1 is after e2 + */ +GIT_EXTERN(int) git_tree_entry_cmp(const git_tree_entry *e1, const git_tree_entry *e2); + +/** + * Convert a tree entry to the git_object it points to. + * + * You must call `git_object_free()` on the object when you are done with it. + * + * @param object_out pointer to the converted object + * @param repo repository where to lookup the pointed object + * @param entry a tree entry + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_entry_to_object( + git_object **object_out, + git_repository *repo, + const git_tree_entry *entry); + +/** + * Create a new tree builder. + * + * The tree builder can be used to create or modify trees in memory and + * write them as tree objects to the database. + * + * If the `source` parameter is not NULL, the tree builder will be + * initialized with the entries of the given tree. + * + * If the `source` parameter is NULL, the tree builder will start with no + * entries and will have to be filled manually. + * + * @param out Pointer where to store the tree builder + * @param repo Repository in which to store the object + * @param source Source tree to initialize the builder (optional) + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_treebuilder_new( + git_treebuilder **out, git_repository *repo, const git_tree *source); + +/** + * Clear all the entries in the builder + * + * @param bld Builder to clear + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_treebuilder_clear(git_treebuilder *bld); + +/** + * Get the number of entries listed in a treebuilder + * + * @param bld a previously loaded treebuilder. + * @return the number of entries in the treebuilder + */ +GIT_EXTERN(size_t) git_treebuilder_entrycount(git_treebuilder *bld); + +/** + * Free a tree builder + * + * This will clear all the entries and free to builder. + * Failing to free the builder after you're done using it + * will result in a memory leak + * + * @param bld Builder to free + */ +GIT_EXTERN(void) git_treebuilder_free(git_treebuilder *bld); + +/** + * Get an entry from the builder from its filename + * + * The returned entry is owned by the builder and should + * not be freed manually. + * + * @param bld Tree builder + * @param filename Name of the entry + * @return pointer to the entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_treebuilder_get( + git_treebuilder *bld, const char *filename); + +/** + * Add or update an entry to the builder + * + * Insert a new entry for `filename` in the builder with the + * given attributes. + * + * If an entry named `filename` already exists, its attributes + * will be updated with the given ones. + * + * The optional pointer `out` can be used to retrieve a pointer to the + * newly created/updated entry. Pass NULL if you do not need it. The + * pointer may not be valid past the next operation in this + * builder. Duplicate the entry if you want to keep it. + * + * By default the entry that you are inserting will be checked for + * validity; that it exists in the object database and is of the + * correct type. If you do not want this behavior, set the + * `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION` library option to false. + * + * @param out Pointer to store the entry (optional) + * @param bld Tree builder + * @param filename Filename of the entry + * @param id SHA1 oid of the entry + * @param filemode Folder attributes of the entry. This parameter must + * be valued with one of the following entries: 0040000, 0100644, + * 0100755, 0120000 or 0160000. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_insert( + const git_tree_entry **out, + git_treebuilder *bld, + const char *filename, + const git_oid *id, + git_filemode_t filemode); + +/** + * Remove an entry from the builder by its filename + * + * @param bld Tree builder + * @param filename Filename of the entry to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_remove( + git_treebuilder *bld, const char *filename); + +/** + * Callback for git_treebuilder_filter + * + * 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). + * + * @param entry the tree entry for the callback to examine + * @param payload the payload from the caller + * @return 0 to do nothing, non-zero to remove the entry + */ +typedef int GIT_CALLBACK(git_treebuilder_filter_cb)( + const git_tree_entry *entry, void *payload); + +/** + * Selectively remove entries in the tree + * + * The `filter` callback will be called for each entry in the tree with a + * pointer to the entry and the provided `payload`; if the callback returns + * non-zero, the entry will be filtered (removed from the builder). + * + * @param bld Tree builder + * @param filter Callback to filter entries + * @param payload Extra data to pass to filter callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_treebuilder_filter( + git_treebuilder *bld, + git_treebuilder_filter_cb filter, + void *payload); + +/** + * Write the contents of the tree builder as a tree object + * + * The tree builder will be written to the given `repo`, and its + * identifying SHA1 hash will be stored in the `id` pointer. + * + * @param id Pointer to store the OID of the newly written tree + * @param bld Tree builder to write + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_write( + git_oid *id, git_treebuilder *bld); + +/** + * Callback for the tree traversal method. + * + * @param root the current (relative) root to the entry + * @param entry the tree entry + * @param payload the caller-provided callback payload + * @return a positive value to skip the entry, a negative value to stop the walk + */ +typedef int GIT_CALLBACK(git_treewalk_cb)( + const char *root, const git_tree_entry *entry, void *payload); + +/** Tree traversal modes */ +typedef enum { + GIT_TREEWALK_PRE = 0, /* Pre-order */ + GIT_TREEWALK_POST = 1 /* Post-order */ +} git_treewalk_mode; + +/** + * Traverse the entries in a tree and its subtrees in post or pre order. + * + * The entries will be traversed in the specified order, children subtrees + * will be automatically loaded as required, and the `callback` will be + * called once per entry with the current (relative) root for the entry and + * the entry data itself. + * + * If the callback returns a positive value, the passed entry will be + * skipped on the traversal (in pre mode). A negative value stops the walk. + * + * @param tree The tree to walk + * @param mode Traversal mode (pre or post-order) + * @param callback Function to call on each tree entry + * @param payload Opaque pointer to be passed on each callback + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_walk( + const git_tree *tree, + git_treewalk_mode mode, + git_treewalk_cb callback, + void *payload); + +/** + * Create an in-memory copy of a tree. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the tree + * @param source Original tree to copy + * @return 0 + */ +GIT_EXTERN(int) git_tree_dup(git_tree **out, git_tree *source); + +/** + * The kind of update to perform + */ +typedef enum { + /** Update or insert an entry at the specified path */ + GIT_TREE_UPDATE_UPSERT, + /** Remove an entry from the specified path */ + GIT_TREE_UPDATE_REMOVE +} git_tree_update_t; + +/** + * An action to perform during the update of a tree + */ +typedef struct { + /** Update action. If it's an removal, only the path is looked at */ + git_tree_update_t action; + /** The entry's id */ + git_oid id; + /** The filemode/kind of object */ + git_filemode_t filemode; + /** The full path from the root tree */ + const char *path; +} git_tree_update; + +/** + * Create a tree based on another one with the specified modifications + * + * Given the `baseline` perform the changes described in the list of + * `updates` and create a new tree. + * + * This function is optimized for common file/directory addition, removal and + * replacement in trees. It is much more efficient than reading the tree into a + * `git_index` and modifying that, but in exchange it is not as flexible. + * + * Deleting and adding the same entry is undefined behaviour, changing + * a tree to a blob or viceversa is not supported. + * + * @param out id of the new tree + * @param repo the repository in which to create the tree, must be the + * same as for `baseline` + * @param baseline the tree to base these changes on + * @param nupdates the number of elements in the update list + * @param updates the list of updates to perform + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseline, size_t nupdates, const git_tree_update *updates); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/types.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/types.h new file mode 100644 index 00000000..a4afd18c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/types.h @@ -0,0 +1,387 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_types_h__ +#define INCLUDE_git_types_h__ + +#include "common.h" + +/** + * @file git2/types.h + * @brief libgit2 base & compatibility types + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Cross-platform compatibility types for off_t / time_t + * + * NOTE: This needs to be in a public header so that both the library + * implementation and client applications both agree on the same types. + * Otherwise we get undefined behavior. + * + * Use the "best" types that each platform provides. Currently we truncate + * these intermediate representations for compatibility with the git ABI, but + * if and when it changes to support 64 bit types, our code will naturally + * adapt. + * NOTE: These types should match those that are returned by our internal + * stat() functions, for all platforms. + */ +#include +#ifdef __amigaos4__ +#include +#endif + +#if defined(_MSC_VER) + +typedef __int64 git_off_t; +typedef __time64_t git_time_t; + +#elif defined(__MINGW32__) + +typedef off64_t git_off_t; +typedef __time64_t git_time_t; + +#elif defined(__HAIKU__) + +typedef __haiku_std_int64 git_off_t; +typedef __haiku_std_int64 git_time_t; + +#else /* POSIX */ + +/* + * Note: Can't use off_t since if a client program includes + * before us (directly or indirectly), they'll get 32 bit off_t in their client + * app, even though /we/ define _FILE_OFFSET_BITS=64. + */ +typedef int64_t git_off_t; +typedef int64_t git_time_t; /**< time in seconds from epoch */ + +#endif + +/** The maximum size of an object */ +typedef uint64_t git_object_size_t; + +#include "buffer.h" +#include "oid.h" + +/** Basic type (loose or packed) of any Git object. */ +typedef enum { + GIT_OBJECT_ANY = -2, /**< Object can be any of the following */ + GIT_OBJECT_INVALID = -1, /**< Object is invalid. */ + GIT_OBJECT_COMMIT = 1, /**< A commit object. */ + GIT_OBJECT_TREE = 2, /**< A tree (directory listing) object. */ + GIT_OBJECT_BLOB = 3, /**< A file revision object. */ + GIT_OBJECT_TAG = 4, /**< An annotated tag object. */ + GIT_OBJECT_OFS_DELTA = 6, /**< A delta, base is given by an offset. */ + GIT_OBJECT_REF_DELTA = 7 /**< A delta, base is given by object id. */ +} git_object_t; + +/** + * An object database stores the objects (commit, trees, blobs, tags, + * etc) for a repository. + */ +typedef struct git_odb git_odb; + +/** A custom backend in an ODB */ +typedef struct git_odb_backend git_odb_backend; + +/** + * A "raw" object read from the object database. + */ +typedef struct git_odb_object git_odb_object; + +/** A stream to read/write from the ODB */ +typedef struct git_odb_stream git_odb_stream; + +/** A stream to write a packfile to the ODB */ +typedef struct git_odb_writepack git_odb_writepack; + +/** a writer for multi-pack-index files. */ +typedef struct git_midx_writer git_midx_writer; + +/** An open refs database handle. */ +typedef struct git_refdb git_refdb; + +/** A custom backend for refs */ +typedef struct git_refdb_backend git_refdb_backend; + +/** A git commit-graph */ +typedef struct git_commit_graph git_commit_graph; + +/** a writer for commit-graph files. */ +typedef struct git_commit_graph_writer git_commit_graph_writer; + +/** + * Representation of an existing git repository, + * including all its object contents + */ +typedef struct git_repository git_repository; + +/** Representation of a working tree */ +typedef struct git_worktree git_worktree; + +/** Representation of a generic object in a repository */ +typedef struct git_object git_object; + +/** Representation of an in-progress walk through the commits in a repo */ +typedef struct git_revwalk git_revwalk; + +/** Parsed representation of a tag object. */ +typedef struct git_tag git_tag; + +/** In-memory representation of a blob object. */ +typedef struct git_blob git_blob; + +/** Parsed representation of a commit object. */ +typedef struct git_commit git_commit; + +/** Representation of each one of the entries in a tree object. */ +typedef struct git_tree_entry git_tree_entry; + +/** Representation of a tree object. */ +typedef struct git_tree git_tree; + +/** Constructor for in-memory trees */ +typedef struct git_treebuilder git_treebuilder; + +/** Memory representation of an index file. */ +typedef struct git_index git_index; + +/** An iterator for entries in the index. */ +typedef struct git_index_iterator git_index_iterator; + +/** An iterator for conflicts in the index. */ +typedef struct git_index_conflict_iterator git_index_conflict_iterator; + +/** Memory representation of a set of config files */ +typedef struct git_config git_config; + +/** Interface to access a configuration file */ +typedef struct git_config_backend git_config_backend; + +/** Representation of a reference log entry */ +typedef struct git_reflog_entry git_reflog_entry; + +/** Representation of a reference log */ +typedef struct git_reflog git_reflog; + +/** Representation of a git note */ +typedef struct git_note git_note; + +/** Representation of a git packbuilder */ +typedef struct git_packbuilder git_packbuilder; + +/** Time in a signature */ +typedef struct git_time { + git_time_t time; /**< time in seconds from epoch */ + int offset; /**< timezone offset, in minutes */ + char sign; /**< indicator for questionable '-0000' offsets in signature */ +} git_time; + +/** An action signature (e.g. for committers, taggers, etc) */ +typedef struct git_signature { + char *name; /**< full name of the author */ + char *email; /**< email of the author */ + git_time when; /**< time when the action happened */ +} git_signature; + +/** In-memory representation of a reference. */ +typedef struct git_reference git_reference; + +/** Iterator for references */ +typedef struct git_reference_iterator git_reference_iterator; + +/** Transactional interface to references */ +typedef struct git_transaction git_transaction; + +/** + * Annotated commits are commits with additional metadata about how the + * commit was resolved, which can be used for maintaining the user's + * "intent" through commands like merge and rebase. + * + * 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. + */ +typedef struct git_annotated_commit git_annotated_commit; + +/** Representation of a status collection */ +typedef struct git_status_list git_status_list; + +/** Representation of a rebase */ +typedef struct git_rebase git_rebase; + +/** Basic type of any Git reference. */ +typedef enum { + GIT_REFERENCE_INVALID = 0, /**< Invalid reference */ + GIT_REFERENCE_DIRECT = 1, /**< A reference that points at an object id */ + GIT_REFERENCE_SYMBOLIC = 2, /**< A reference that points at another reference */ + GIT_REFERENCE_ALL = GIT_REFERENCE_DIRECT | GIT_REFERENCE_SYMBOLIC +} git_reference_t; + +/** Basic type of any Git branch. */ +typedef enum { + GIT_BRANCH_LOCAL = 1, + GIT_BRANCH_REMOTE = 2, + GIT_BRANCH_ALL = GIT_BRANCH_LOCAL|GIT_BRANCH_REMOTE +} git_branch_t; + +/** Valid modes for index and tree entries. */ +typedef enum { + GIT_FILEMODE_UNREADABLE = 0000000, + GIT_FILEMODE_TREE = 0040000, + GIT_FILEMODE_BLOB = 0100644, + GIT_FILEMODE_BLOB_EXECUTABLE = 0100755, + GIT_FILEMODE_LINK = 0120000, + GIT_FILEMODE_COMMIT = 0160000 +} git_filemode_t; + +/** + * A refspec specifies the mapping between remote and local reference + * names when fetch or pushing. + */ +typedef struct git_refspec git_refspec; + +/** + * Git's idea of a remote repository. A remote can be anonymous (in + * which case it does not have backing configuration entries). + */ +typedef struct git_remote git_remote; + +/** + * Interface which represents a transport to communicate with a + * remote. + */ +typedef struct git_transport git_transport; + +/** + * Preparation for a push operation. Can be used to configure what to + * push and the level of parallelism of the packfile builder. + */ +typedef struct git_push git_push; + +/* documentation in the definition */ +typedef struct git_remote_head git_remote_head; +typedef struct git_remote_callbacks git_remote_callbacks; + +/** + * Parent type for `git_cert_hostkey` and `git_cert_x509`. + */ +typedef struct git_cert git_cert; + +/** + * Opaque structure representing a submodule. + */ +typedef struct git_submodule git_submodule; + +/** + * Submodule update values + * + * These values represent settings for the `submodule.$name.update` + * configuration value which says how to handle `git submodule update` for + * this submodule. The value is usually set in the ".gitmodules" file and + * copied to ".git/config" when the submodule is initialized. + * + * You can override this setting on a per-submodule basis with + * `git_submodule_set_update()` and write the changed value to disk using + * `git_submodule_save()`. If you have overwritten the value, you can + * revert it by passing `GIT_SUBMODULE_UPDATE_RESET` to the set function. + * + * The values are: + * + * - GIT_SUBMODULE_UPDATE_CHECKOUT: the default; when a submodule is + * updated, checkout the new detached HEAD to the submodule directory. + * - GIT_SUBMODULE_UPDATE_REBASE: update by rebasing the current checked + * out branch onto the commit from the superproject. + * - GIT_SUBMODULE_UPDATE_MERGE: update by merging the commit in the + * superproject into the current checkout out branch of the submodule. + * - GIT_SUBMODULE_UPDATE_NONE: do not update this submodule even when + * the commit in the superproject is updated. + * - GIT_SUBMODULE_UPDATE_DEFAULT: not used except as static initializer + * when we don't want any particular update rule to be specified. + */ +typedef enum { + GIT_SUBMODULE_UPDATE_CHECKOUT = 1, + GIT_SUBMODULE_UPDATE_REBASE = 2, + GIT_SUBMODULE_UPDATE_MERGE = 3, + GIT_SUBMODULE_UPDATE_NONE = 4, + + GIT_SUBMODULE_UPDATE_DEFAULT = 0 +} git_submodule_update_t; + +/** + * Submodule ignore values + * + * These values represent settings for the `submodule.$name.ignore` + * configuration value which says how deeply to look at the working + * directory when getting submodule status. + * + * You can override this value in memory on a per-submodule basis with + * `git_submodule_set_ignore()` and can write the changed value to disk + * with `git_submodule_save()`. If you have overwritten the value, you + * can revert to the on disk value by using `GIT_SUBMODULE_IGNORE_RESET`. + * + * The values are: + * + * - GIT_SUBMODULE_IGNORE_UNSPECIFIED: use the submodule's configuration + * - GIT_SUBMODULE_IGNORE_NONE: don't ignore any change - i.e. even an + * untracked file, will mark the submodule as dirty. Ignored files are + * still ignored, of course. + * - GIT_SUBMODULE_IGNORE_UNTRACKED: ignore untracked files; only changes + * to tracked files, or the index or the HEAD commit will matter. + * - GIT_SUBMODULE_IGNORE_DIRTY: ignore changes in the working directory, + * only considering changes if the HEAD of submodule has moved from the + * value in the superproject. + * - GIT_SUBMODULE_IGNORE_ALL: never check if the submodule is dirty + * - GIT_SUBMODULE_IGNORE_DEFAULT: not used except as static initializer + * when we don't want any particular ignore rule to be specified. + */ +typedef enum { + GIT_SUBMODULE_IGNORE_UNSPECIFIED = -1, /**< use the submodule's configuration */ + + GIT_SUBMODULE_IGNORE_NONE = 1, /**< any change or untracked == dirty */ + GIT_SUBMODULE_IGNORE_UNTRACKED = 2, /**< dirty if tracked files change */ + GIT_SUBMODULE_IGNORE_DIRTY = 3, /**< only dirty if HEAD moved */ + GIT_SUBMODULE_IGNORE_ALL = 4 /**< never dirty */ +} git_submodule_ignore_t; + +/** + * Options for submodule recurse. + * + * Represent the value of `submodule.$name.fetchRecurseSubmodules` + * + * * GIT_SUBMODULE_RECURSE_NO - do no recurse into submodules + * * GIT_SUBMODULE_RECURSE_YES - recurse into submodules + * * GIT_SUBMODULE_RECURSE_ONDEMAND - recurse into submodules only when + * commit not already in local clone + */ +typedef enum { + GIT_SUBMODULE_RECURSE_NO = 0, + GIT_SUBMODULE_RECURSE_YES = 1, + GIT_SUBMODULE_RECURSE_ONDEMAND = 2 +} git_submodule_recurse_t; + +typedef struct git_writestream git_writestream; + +/** A type to write in a streaming fashion, for example, for filters. */ +struct git_writestream { + int GIT_CALLBACK(write)(git_writestream *stream, const char *buffer, size_t len); + int GIT_CALLBACK(close)(git_writestream *stream); + void GIT_CALLBACK(free)(git_writestream *stream); +}; + +/** Representation of .mailmap file state. */ +typedef struct git_mailmap git_mailmap; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/version.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/version.h new file mode 100644 index 00000000..6a352e1a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/version.h @@ -0,0 +1,75 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_version_h__ +#define INCLUDE_git_version_h__ + +/** + * @file git2/version.h + * @brief The version of libgit2 + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The version string for libgit2. This string follows semantic + * versioning (v2) guidelines. + */ +#define LIBGIT2_VERSION "1.9.0" + +/** The major version number for this version of libgit2. */ +#define LIBGIT2_VERSION_MAJOR 1 + +/** The minor version number for this version of libgit2. */ +#define LIBGIT2_VERSION_MINOR 9 + +/** The revision ("teeny") version number for this version of libgit2. */ +#define LIBGIT2_VERSION_REVISION 0 + +/** The Windows DLL patch number for this version of libgit2. */ +#define LIBGIT2_VERSION_PATCH 0 + +/** + * The prerelease string for this version of libgit2. For development + * (nightly) builds, this will be "alpha". For prereleases, this will be + * a prerelease name like "beta" or "rc1". For final releases, this will + * be `NULL`. + */ +#define LIBGIT2_VERSION_PRERELEASE NULL + +/** + * The library ABI soversion for this version of libgit2. This should + * only be changed when the library has a breaking ABI change, and so + * may not reflect the library's API version number. + */ +#define LIBGIT2_SOVERSION "1.9" + +/** + * An integer value representing the libgit2 version number. For example, + * libgit2 1.6.3 is 1060300. + */ +#define LIBGIT2_VERSION_NUMBER ( \ + (LIBGIT2_VERSION_MAJOR * 1000000) + \ + (LIBGIT2_VERSION_MINOR * 10000) + \ + (LIBGIT2_VERSION_REVISION * 100)) + +/** + * Compare the libgit2 version against a given version. Evaluates to true + * if the given major, minor, and revision values are greater than or equal + * to the currently running libgit2 version. For example: + * + * #if LIBGIT2_VERSION_CHECK(1, 6, 3) + * # error libgit2 version is >= 1.6.3 + * #endif + */ +#define LIBGIT2_VERSION_CHECK(major, minor, revision) \ + (LIBGIT2_VERSION_NUMBER >= ((major)*1000000)+((minor)*10000)+((revision)*100)) + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/worktree.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/worktree.h new file mode 100644 index 00000000..fd375175 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/git2/worktree.h @@ -0,0 +1,278 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_worktree_h__ +#define INCLUDE_git_worktree_h__ + +#include "common.h" +#include "buffer.h" +#include "types.h" +#include "strarray.h" +#include "checkout.h" + +/** + * @file git2/worktree.h + * @brief Additional working directories for a repository + * @defgroup git_commit Additional working directories for a repository + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * List names of linked working trees + * + * The returned list should be released with `git_strarray_free` + * when no longer needed. + * + * @param out pointer to the array of working tree names + * @param repo the repo to use when listing working trees + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_list(git_strarray *out, git_repository *repo); + +/** + * Lookup a working tree by its name for a given repository + * + * @param out Output pointer to looked up worktree or `NULL` + * @param repo The repository containing worktrees + * @param name Name of the working tree to look up + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_lookup(git_worktree **out, git_repository *repo, const char *name); + +/** + * Open a worktree of a given repository + * + * If a repository is not the main tree but a worktree, this + * function will look up the worktree inside the parent + * repository and create a new `git_worktree` structure. + * + * @param out Out-pointer for the newly allocated worktree + * @param repo Repository to look up worktree for + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_open_from_repository(git_worktree **out, git_repository *repo); + +/** + * Free a previously allocated worktree + * + * @param wt worktree handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_worktree_free(git_worktree *wt); + +/** + * Check if worktree is valid + * + * A valid worktree requires both the git data structures inside + * the linked parent repository and the linked working copy to be + * present. + * + * @param wt Worktree to check + * @return 0 when worktree is valid, error-code otherwise + */ +GIT_EXTERN(int) git_worktree_validate(const git_worktree *wt); + +/** + * Worktree add options structure + * + * Initialize with `GIT_WORKTREE_ADD_OPTIONS_INIT`. Alternatively, you can + * use `git_worktree_add_options_init`. + * + */ +typedef struct git_worktree_add_options { + unsigned int version; + + int lock; /**< lock newly created worktree */ + int checkout_existing; /**< allow checkout of existing branch matching worktree name */ + git_reference *ref; /**< reference to use for the new worktree HEAD */ + + /** + * Options for the checkout. + */ + git_checkout_options checkout_options; +} git_worktree_add_options; + +/** Current version for the `git_worktree_add_options` structure */ +#define GIT_WORKTREE_ADD_OPTIONS_VERSION 1 + +/** Static constructor for `git_worktree_add_options` */ +#define GIT_WORKTREE_ADD_OPTIONS_INIT { GIT_WORKTREE_ADD_OPTIONS_VERSION, \ + 0, 0, NULL, GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_worktree_add_options structure + * + * Initializes a `git_worktree_add_options` with default values. Equivalent to + * creating an instance with `GIT_WORKTREE_ADD_OPTIONS_INIT`. + * + * @param opts The `git_worktree_add_options` struct to initialize. + * @param version The struct version; pass `GIT_WORKTREE_ADD_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_worktree_add_options_init(git_worktree_add_options *opts, + unsigned int version); + +/** + * Add a new working tree + * + * Add a new working tree for the repository, that is create the + * required data structures inside the repository and check out + * the current HEAD at `path` + * + * @param out Output pointer containing new working tree + * @param repo Repository to create working tree for + * @param name Name of the working tree + * @param path Path to create working tree at + * @param opts Options to modify default behavior. May be NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_add(git_worktree **out, git_repository *repo, + const char *name, const char *path, + const git_worktree_add_options *opts); + +/** + * Lock worktree if not already locked + * + * Lock a worktree, optionally specifying a reason why the linked + * working tree is being locked. + * + * @param wt Worktree to lock + * @param reason Reason why the working tree is being locked + * @return 0 on success, non-zero otherwise + */ +GIT_EXTERN(int) git_worktree_lock(git_worktree *wt, const char *reason); + +/** + * Unlock a locked worktree + * + * @param wt Worktree to unlock + * @return 0 on success, 1 if worktree was not locked, error-code + * otherwise + */ +GIT_EXTERN(int) git_worktree_unlock(git_worktree *wt); + +/** + * Check if worktree is locked + * + * A worktree may be locked if the linked working tree is stored + * on a portable device which is not available. + * + * @param reason Buffer to store reason in. If NULL no reason is stored. + * @param wt Worktree to check + * @return 0 when the working tree not locked, a value greater + * than zero if it is locked, less than zero if there was an + * error + */ +GIT_EXTERN(int) git_worktree_is_locked(git_buf *reason, const git_worktree *wt); + +/** + * Retrieve the name of the worktree + * + * @param wt Worktree to get the name for + * @return The worktree's name. The pointer returned is valid for the + * lifetime of the git_worktree + */ +GIT_EXTERN(const char *) git_worktree_name(const git_worktree *wt); + +/** + * Retrieve the filesystem path for the worktree + * + * @param wt Worktree to get the path for + * @return The worktree's filesystem path. The pointer returned + * is valid for the lifetime of the git_worktree. + */ +GIT_EXTERN(const char *) git_worktree_path(const git_worktree *wt); + +/** + * Flags which can be passed to git_worktree_prune to alter its + * behavior. + */ +typedef enum { + /* Prune working tree even if working tree is valid */ + GIT_WORKTREE_PRUNE_VALID = 1u << 0, + /* Prune working tree even if it is locked */ + GIT_WORKTREE_PRUNE_LOCKED = 1u << 1, + /* Prune checked out working tree */ + GIT_WORKTREE_PRUNE_WORKING_TREE = 1u << 2 +} git_worktree_prune_t; + +/** + * Worktree prune options structure + * + * Initialize with `GIT_WORKTREE_PRUNE_OPTIONS_INIT`. Alternatively, you can + * use `git_worktree_prune_options_init`. + * + */ +typedef struct git_worktree_prune_options { + unsigned int version; + + /** A combination of `git_worktree_prune_t` */ + uint32_t flags; +} git_worktree_prune_options; + +/** Current version for the `git_worktree_prune_options` structure */ +#define GIT_WORKTREE_PRUNE_OPTIONS_VERSION 1 + +/** Static constructor for `git_worktree_prune_options` */ +#define GIT_WORKTREE_PRUNE_OPTIONS_INIT {GIT_WORKTREE_PRUNE_OPTIONS_VERSION,0} + +/** + * Initialize git_worktree_prune_options structure + * + * Initializes a `git_worktree_prune_options` with default values. Equivalent to + * creating an instance with `GIT_WORKTREE_PRUNE_OPTIONS_INIT`. + * + * @param opts The `git_worktree_prune_options` struct to initialize. + * @param version The struct version; pass `GIT_WORKTREE_PRUNE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_worktree_prune_options_init( + git_worktree_prune_options *opts, + unsigned int version); + +/** + * Is the worktree prunable with the given options? + * + * A worktree is not prunable in the following scenarios: + * + * - the worktree is linking to a valid on-disk worktree. The + * `valid` member will cause this check to be ignored. + * - the worktree is locked. The `locked` flag will cause this + * check to be ignored. + * + * If the worktree is not valid and not locked or if the above + * flags have been passed in, this function will return a + * positive value. If the worktree is not prunable, an error + * message will be set (visible in `giterr_last`) with details about + * why. + * + * @param wt Worktree to check. + * @param opts The prunable options. + * @return 1 if the worktree is prunable, 0 otherwise, or an error code. + */ +GIT_EXTERN(int) git_worktree_is_prunable(git_worktree *wt, + git_worktree_prune_options *opts); + +/** + * Prune working tree + * + * Prune the working tree, that is remove the git data + * structures on disk. The repository will only be pruned of + * `git_worktree_is_prunable` succeeds. + * + * @param wt Worktree to prune + * @param opts Specifies which checks to override. See + * `git_worktree_is_prunable`. May be NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_prune(git_worktree *wt, + git_worktree_prune_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/gitup_extensions.h b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/gitup_extensions.h new file mode 100644 index 00000000..c1dbc681 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/Headers/gitup_extensions.h @@ -0,0 +1,8 @@ + +#include "git2.h" +#include "git2/gitup_submodule.h" +#include "git2/gitup_refs.h" +#include "git2/gitup_config.h" +#include "git2/gitup_branch.h" +#include "git2/gitup_clone.h" +#include "git2/gitup_repository.h" diff --git a/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/libgit2.a b/GitUpKit/Third-Party/libgit2.xcframework/ios-arm64_x86_64-simulator/libgit2.a new file mode 100644 index 0000000000000000000000000000000000000000..81d4bbb82e42206305f4adb3e97378d91effe83b GIT binary patch literal 4366904 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

Z#2vTp9O1PmH_h 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�!~g?HeYWm565O;!5dTeeRULKXK@lvq3OY2#gS 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

=RpN%+JSq`mz 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⪚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%0A&Yj-KSh;N=-6LI1w>dHdm#tVD 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

Mz+>2+ZYJe|H3en#~MfuTK~|{ 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%0Ae3@ZE&LHSRC;&YwD&w~nA4l3Lkpu!yq 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�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%0A^ZxBerSR>sE6r?EO#6mJb06~!BaogGAc($Wrm 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�elF20Hn-~ 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

PLEn$w#80|_om`bw;8Z9~-f2$( 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

    U`b&JJBPQC+%6wYy2xc5laJeZ>P?8F4EmOLHQ|e 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Ì=5b~EcIX~k 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 literal 0 HcmV?d00001 diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2.h new file mode 100644 index 00000000..3457e5f0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2.h @@ -0,0 +1,74 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_git_git_h__ +#define INCLUDE_git_git_h__ + +#include "git2/annotated_commit.h" +#include "git2/apply.h" +#include "git2/attr.h" +#include "git2/blob.h" +#include "git2/blame.h" +#include "git2/branch.h" +#include "git2/buffer.h" +#include "git2/cert.h" +#include "git2/checkout.h" +#include "git2/cherrypick.h" +#include "git2/clone.h" +#include "git2/commit.h" +#include "git2/common.h" +#include "git2/config.h" +#include "git2/credential.h" +#include "git2/deprecated.h" +#include "git2/describe.h" +#include "git2/diff.h" +#include "git2/email.h" +#include "git2/errors.h" +#include "git2/experimental.h" +#include "git2/filter.h" +#include "git2/global.h" +#include "git2/graph.h" +#include "git2/ignore.h" +#include "git2/index.h" +#include "git2/indexer.h" +#include "git2/mailmap.h" +#include "git2/merge.h" +#include "git2/message.h" +#include "git2/net.h" +#include "git2/notes.h" +#include "git2/object.h" +#include "git2/odb.h" +#include "git2/odb_backend.h" +#include "git2/oid.h" +#include "git2/pack.h" +#include "git2/patch.h" +#include "git2/pathspec.h" +#include "git2/proxy.h" +#include "git2/rebase.h" +#include "git2/refdb.h" +#include "git2/reflog.h" +#include "git2/refs.h" +#include "git2/refspec.h" +#include "git2/remote.h" +#include "git2/repository.h" +#include "git2/reset.h" +#include "git2/revert.h" +#include "git2/revparse.h" +#include "git2/revwalk.h" +#include "git2/signature.h" +#include "git2/stash.h" +#include "git2/status.h" +#include "git2/submodule.h" +#include "git2/tag.h" +#include "git2/transport.h" +#include "git2/transaction.h" +#include "git2/tree.h" +#include "git2/types.h" +#include "git2/version.h" +#include "git2/worktree.h" + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/annotated_commit.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/annotated_commit.h new file mode 100644 index 00000000..04f3b1c3 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/annotated_commit.h @@ -0,0 +1,132 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_annotated_commit_h__ +#define INCLUDE_git_annotated_commit_h__ + +#include "common.h" +#include "repository.h" +#include "types.h" + +/** + * @file git2/annotated_commit.h + * @brief A commit and information about how it was looked up by the user. + * @defgroup git_annotated_commit Git annotated commit routines + * @ingroup Git + * + * An "annotated commit" is a commit that contains information about + * how the commit was resolved, which can be used for maintaining the + * user's "intent" through commands like merge and rebase. For example, + * if a user wants to "merge HEAD" then an annotated commit is used to + * both contain the HEAD commit _and_ the fact that it was resolved as + * the HEAD ref. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Creates a `git_annotated_commit` from the given reference. + * The resulting git_annotated_commit must be freed with + * `git_annotated_commit_free`. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given reference + * @param ref reference to use to lookup the git_annotated_commit + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_from_ref( + git_annotated_commit **out, + git_repository *repo, + const git_reference *ref); + +/** + * Creates a `git_annotated_commit` from the given fetch head data. + * The resulting git_annotated_commit must be freed with + * `git_annotated_commit_free`. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given commit + * @param branch_name name of the (remote) branch + * @param remote_url url of the remote + * @param id the commit object id of the remote branch + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_from_fetchhead( + git_annotated_commit **out, + git_repository *repo, + const char *branch_name, + const char *remote_url, + const git_oid *id); + +/** + * Creates a `git_annotated_commit` from the given commit id. + * The resulting git_annotated_commit must be freed with + * `git_annotated_commit_free`. + * + * An annotated commit contains information about how it was + * looked up, which may be useful for functions like merge or + * rebase to provide context to the operation. For example, + * conflict files will include the name of the source or target + * branches being merged. It is therefore preferable to use the + * most specific function (eg `git_annotated_commit_from_ref`) + * instead of this one when that data is known. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given commit + * @param id the commit object id to lookup + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_lookup( + git_annotated_commit **out, + git_repository *repo, + const git_oid *id); + +/** + * Creates a `git_annotated_commit` from a revision string. + * + * See `man gitrevisions`, or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * @param[out] out pointer to store the git_annotated_commit result in + * @param repo repository that contains the given commit + * @param revspec the extended sha syntax string to use to lookup the commit + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_annotated_commit_from_revspec( + git_annotated_commit **out, + git_repository *repo, + const char *revspec); + +/** + * Gets the commit ID that the given `git_annotated_commit` refers to. + * + * @param commit the given annotated commit + * @return commit id + */ +GIT_EXTERN(const git_oid *) git_annotated_commit_id( + const git_annotated_commit *commit); + +/** + * Get the refname that the given `git_annotated_commit` refers to. + * + * @param commit the given annotated commit + * @return ref name. + */ +GIT_EXTERN(const char *) git_annotated_commit_ref( + const git_annotated_commit *commit); + +/** + * Frees a `git_annotated_commit`. + * + * @param commit annotated commit to free + */ +GIT_EXTERN(void) git_annotated_commit_free( + git_annotated_commit *commit); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/apply.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/apply.h new file mode 100644 index 00000000..7ab939d1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/apply.h @@ -0,0 +1,186 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_apply_h__ +#define INCLUDE_git_apply_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "diff.h" + +/** + * @file git2/apply.h + * @brief Apply patches to the working directory or index + * @defgroup git_apply Git patch application routines + * @ingroup Git + * + * Mechanisms to apply a patch to the index, the working directory, + * or both. + * @{ + */ +GIT_BEGIN_DECL + +/** + * When applying a patch, callback that will be made per delta (file). + * + * When the callback: + * - returns < 0, the apply process will be aborted. + * - returns > 0, the delta will not be applied, but the apply process + * continues + * - returns 0, the delta is applied, and the apply process continues. + * + * @param delta The delta to be applied + * @param payload User-specified payload + * @return 0 if the delta is applied, < 0 if the apply process will be aborted + * or > 0 if the delta will not be applied. + */ +typedef int GIT_CALLBACK(git_apply_delta_cb)( + const git_diff_delta *delta, + void *payload); + +/** + * When applying a patch, callback that will be made per hunk. + * + * 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. + * + * @param hunk The hunk to be applied + * @param payload User-specified payload + * @return 0 if the hunk is applied, < 0 if the apply process will be aborted + * or > 0 if the hunk will not be applied. + */ +typedef int GIT_CALLBACK(git_apply_hunk_cb)( + const git_diff_hunk *hunk, + void *payload); + +/** + * Flags controlling the behavior of `git_apply`. + * + * 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. + */ +typedef enum { + /** + * Don't actually make changes, just test that the patch applies. + * This is the equivalent of `git apply --check`. + */ + GIT_APPLY_CHECK = (1 << 0) +} git_apply_flags_t; + +/** + * Apply options structure. + * + * 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. + * + * Initialize with `GIT_APPLY_OPTIONS_INIT`. Alternatively, you can + * use `git_apply_options_init`. + * + * @see git_apply_to_tree + * @see git_apply + */ +typedef struct { + unsigned int version; /**< The version */ + + /** When applying a patch, callback that will be made per delta (file). */ + git_apply_delta_cb delta_cb; + + /** When applying a patch, callback that will be made per hunk. */ + git_apply_hunk_cb hunk_cb; + + /** Payload passed to both `delta_cb` & `hunk_cb`. */ + void *payload; + + /** Bitmask of `git_apply_flags_t` */ + unsigned int flags; +} git_apply_options; + +/** Current version for the `git_apply_options` structure */ +#define GIT_APPLY_OPTIONS_VERSION 1 + +/** Static constructor for `git_apply_options` */ +#define GIT_APPLY_OPTIONS_INIT {GIT_APPLY_OPTIONS_VERSION} + +/** + * Initialize git_apply_options structure + * + * Initialize a `git_apply_options` with default values. Equivalent to creating + * an instance with GIT_APPLY_OPTIONS_INIT. + * + * @param opts The `git_apply_options` struct to initialize. + * @param version The struct version; pass `GIT_APPLY_OPTIONS_VERSION` + * @return 0 on success or -1 on failure. + */ +GIT_EXTERN(int) git_apply_options_init(git_apply_options *opts, unsigned int version); + +/** + * Apply a `git_diff` to a `git_tree`, and return the resulting image + * as an index. + * + * @param out the postimage of the application + * @param repo the repository to apply + * @param preimage the tree to apply the diff to + * @param diff the diff to apply + * @param options the options for the apply (or null for defaults) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_apply_to_tree( + git_index **out, + git_repository *repo, + git_tree *preimage, + git_diff *diff, + const git_apply_options *options); + +/** Possible application locations for git_apply */ +typedef enum { + /** + * Apply the patch to the workdir, leaving the index untouched. + * This is the equivalent of `git apply` with no location argument. + */ + GIT_APPLY_LOCATION_WORKDIR = 0, + + /** + * Apply the patch to the index, leaving the working directory + * untouched. This is the equivalent of `git apply --cached`. + */ + GIT_APPLY_LOCATION_INDEX = 1, + + /** + * Apply the patch to both the working directory and the index. + * This is the equivalent of `git apply --index`. + */ + GIT_APPLY_LOCATION_BOTH = 2 +} git_apply_location_t; + +/** + * Apply a `git_diff` to the given repository, making changes directly + * in the working directory, the index, or both. + * + * @param repo the repository to apply to + * @param diff the diff to apply + * @param location the location to apply (workdir, index or both) + * @param options the options for the apply (or null for defaults) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_apply( + git_repository *repo, + git_diff *diff, + git_apply_location_t location, + const git_apply_options *options); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/attr.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/attr.h new file mode 100644 index 00000000..e5216fef --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/attr.h @@ -0,0 +1,383 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_attr_h__ +#define INCLUDE_git_attr_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/attr.h + * @brief Attribute management routines + * @defgroup git_attr Git attribute management routines + * @ingroup Git + * + * Attributes specify additional information about how git should + * handle particular paths - for example, they may indicate whether + * a particular filter is applied, like LFS or line ending conversions. + * @{ + */ +GIT_BEGIN_DECL + +/** + * GIT_ATTR_TRUE checks if an attribute is set on. In core git + * parlance, this the value for "Set" attributes. + * + * For example, if the attribute file contains: + * + * *.c foo + * + * Then for file `xyz.c` looking up attribute "foo" gives a value for + * which `GIT_ATTR_TRUE(value)` is true. + */ +#define GIT_ATTR_IS_TRUE(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_TRUE) + +/** + * GIT_ATTR_FALSE checks if an attribute is set off. In core git + * parlance, this is the value for attributes that are "Unset" (not to + * be confused with values that a "Unspecified"). + * + * For example, if the attribute file contains: + * + * *.h -foo + * + * Then for file `zyx.h` looking up attribute "foo" gives a value for + * which `GIT_ATTR_FALSE(value)` is true. + */ +#define GIT_ATTR_IS_FALSE(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_FALSE) + +/** + * GIT_ATTR_UNSPECIFIED checks if an attribute is unspecified. This + * may be due to the attribute not being mentioned at all or because + * the attribute was explicitly set unspecified via the `!` operator. + * + * For example, if the attribute file contains: + * + * *.c foo + * *.h -foo + * onefile.c !foo + * + * Then for `onefile.c` looking up attribute "foo" yields a value with + * `GIT_ATTR_UNSPECIFIED(value)` of true. Also, looking up "foo" on + * file `onefile.rb` or looking up "bar" on any file will all give + * `GIT_ATTR_UNSPECIFIED(value)` of true. + */ +#define GIT_ATTR_IS_UNSPECIFIED(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_UNSPECIFIED) + +/** + * GIT_ATTR_HAS_VALUE checks if an attribute is set to a value (as + * opposed to TRUE, FALSE or UNSPECIFIED). This would be the case if + * for a file with something like: + * + * *.txt eol=lf + * + * Given this, looking up "eol" for `onefile.txt` will give back the + * string "lf" and `GIT_ATTR_SET_TO_VALUE(attr)` will return true. + */ +#define GIT_ATTR_HAS_VALUE(attr) (git_attr_value(attr) == GIT_ATTR_VALUE_STRING) + +/** + * Possible states for an attribute + */ +typedef enum { + GIT_ATTR_VALUE_UNSPECIFIED = 0, /**< The attribute has been left unspecified */ + GIT_ATTR_VALUE_TRUE, /**< The attribute has been set */ + GIT_ATTR_VALUE_FALSE, /**< The attribute has been unset */ + GIT_ATTR_VALUE_STRING /**< This attribute has a value */ +} git_attr_value_t; + +/** + * Return the value type for a given attribute. + * + * This can be either `TRUE`, `FALSE`, `UNSPECIFIED` (if the attribute + * was not set at all), or `VALUE`, if the attribute was set to an + * actual string. + * + * If the attribute has a `VALUE` string, it can be accessed normally + * as a NULL-terminated C string. + * + * @param attr The attribute + * @return the value type for the attribute + */ +GIT_EXTERN(git_attr_value_t) git_attr_value(const char *attr); + +/** + * Check attribute flags: Reading values from index and working directory. + * + * When checking attributes, it is possible to check attribute files + * in both the working directory (if there is one) and the index (if + * there is one). You can explicitly choose where to check and in + * which order using the following flags. + * + * Core git usually checks the working directory then the index, + * except during a checkout when it checks the index first. It will + * use index only for creating archives or for a bare repo (if an + * index has been specified for the bare repo). + */ + +/** Examine attribute in working directory, then index */ +#define GIT_ATTR_CHECK_FILE_THEN_INDEX 0 +/** Examine attribute in index, then working directory */ +#define GIT_ATTR_CHECK_INDEX_THEN_FILE 1 +/** Examine attributes only in the index */ +#define GIT_ATTR_CHECK_INDEX_ONLY 2 + +/** + * Check attribute flags: controlling extended attribute behavior. + * + * Normally, attribute checks include looking in the /etc (or system + * equivalent) directory for a `gitattributes` file. Passing the + * `GIT_ATTR_CHECK_NO_SYSTEM` flag will cause attribute checks to + * ignore that file. + * + * Passing the `GIT_ATTR_CHECK_INCLUDE_HEAD` flag will use attributes + * from a `.gitattributes` file in the repository at the HEAD revision. + * + * Passing the `GIT_ATTR_CHECK_INCLUDE_COMMIT` flag will use attributes + * from a `.gitattributes` file in a specific commit. + */ + +/** Ignore system attributes */ +#define GIT_ATTR_CHECK_NO_SYSTEM (1 << 2) +/** Honor `.gitattributes` in the HEAD revision */ +#define GIT_ATTR_CHECK_INCLUDE_HEAD (1 << 3) +/** Honor `.gitattributes` in a specific commit */ +#define GIT_ATTR_CHECK_INCLUDE_COMMIT (1 << 4) + +/** +* An options structure for querying attributes. +*/ +typedef struct { + unsigned int version; + + /** A combination of GIT_ATTR_CHECK flags */ + unsigned int flags; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + git_oid *commit_id; +#endif + + /** + * The commit to load attributes from, when + * `GIT_ATTR_CHECK_INCLUDE_COMMIT` is specified. + */ + git_oid attr_commit_id; +} git_attr_options; + +/** Current version for the `git_attr_options` structure */ +#define GIT_ATTR_OPTIONS_VERSION 1 + +/** Static constructor for `git_attr_options` */ +#define GIT_ATTR_OPTIONS_INIT {GIT_ATTR_OPTIONS_VERSION} + +/** + * Look up the value of one git attribute for path. + * + * @param value_out Output of the value of the attribute. Use the GIT_ATTR_... + * macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just + * use the string value for attributes set to a value. You + * should NOT modify or free this value. + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path The path to check for attributes. Relative paths are + * interpreted relative to the repo root. The file does + * not have to exist, but if it does not, then it will be + * treated as a plain file (not a directory). + * @param name The name of the attribute to look up. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get( + const char **value_out, + git_repository *repo, + uint32_t flags, + const char *path, + const char *name); + +/** + * Look up the value of one git attribute for path with extended options. + * + * @param value_out Output of the value of the attribute. Use the GIT_ATTR_... + * macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just + * use the string value for attributes set to a value. You + * should NOT modify or free this value. + * @param repo The repository containing the path. + * @param opts The `git_attr_options` to use when querying these attributes. + * @param path The path to check for attributes. Relative paths are + * interpreted relative to the repo root. The file does + * not have to exist, but if it does not, then it will be + * treated as a plain file (not a directory). + * @param name The name of the attribute to look up. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get_ext( + const char **value_out, + git_repository *repo, + git_attr_options *opts, + const char *path, + const char *name); + +/** + * Look up a list of git attributes for path. + * + * Use this if you have a known list of attributes that you want to + * look up in a single call. This is somewhat more efficient than + * calling `git_attr_get()` multiple times. + * + * For example, you might write: + * + * const char *attrs[] = { "crlf", "diff", "foo" }; + * const char **values[3]; + * git_attr_get_many(values, repo, 0, "my/fun/file.c", 3, attrs); + * + * Then you could loop through the 3 values to get the settings for + * the three attributes you asked about. + * + * @param values_out An array of num_attr entries that will have string + * pointers written into it for the values of the attributes. + * You should not modify or free the values that are written + * into this array (although of course, you should free the + * array itself if you allocated it). + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path The path inside the repo to check attributes. This + * does not have to exist, but if it does not, then + * it will be treated as a plain file (i.e. not a directory). + * @param num_attr The number of attributes being looked up + * @param names An array of num_attr strings containing attribute names. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get_many( + const char **values_out, + git_repository *repo, + uint32_t flags, + const char *path, + size_t num_attr, + const char **names); + +/** + * Look up a list of git attributes for path with extended options. + * + * @param values_out An array of num_attr entries that will have string + * pointers written into it for the values of the attributes. + * You should not modify or free the values that are written + * into this array (although of course, you should free the + * array itself if you allocated it). + * @param repo The repository containing the path. + * @param opts The `git_attr_options` to use when querying these attributes. + * @param path The path inside the repo to check attributes. This + * does not have to exist, but if it does not, then + * it will be treated as a plain file (i.e. not a directory). + * @param num_attr The number of attributes being looked up + * @param names An array of num_attr strings containing attribute names. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_get_many_ext( + const char **values_out, + git_repository *repo, + git_attr_options *opts, + const char *path, + size_t num_attr, + const char **names); + +/** + * The callback used with git_attr_foreach. + * + * This callback will be invoked only once per attribute name, even if there + * are multiple rules for a given file. The highest priority rule will be + * used. + * + * @see git_attr_foreach. + * + * @param name The attribute name. + * @param value The attribute value. May be NULL if the attribute is explicitly + * set to UNSPECIFIED using the '!' sign. + * @param payload A user-specified pointer. + * @return 0 to continue looping, non-zero to stop. This value will be returned + * from git_attr_foreach. + */ +typedef int GIT_CALLBACK(git_attr_foreach_cb)(const char *name, const char *value, void *payload); + +/** + * Loop over all the git attributes for a path. + * + * @param repo The repository containing the path. + * @param flags A combination of GIT_ATTR_CHECK... flags. + * @param path Path inside the repo to check attributes. This does not have + * to exist, but if it does not, then it will be treated as a + * plain file (i.e. not a directory). + * @param callback Function to invoke on each attribute name and value. + * See git_attr_foreach_cb. + * @param payload Passed on as extra parameter to callback function. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_attr_foreach( + git_repository *repo, + uint32_t flags, + const char *path, + git_attr_foreach_cb callback, + void *payload); + +/** + * Loop over all the git attributes for a path with extended options. + * + * @param repo The repository containing the path. + * @param opts The `git_attr_options` to use when querying these attributes. + * @param path Path inside the repo to check attributes. This does not have + * to exist, but if it does not, then it will be treated as a + * plain file (i.e. not a directory). + * @param callback Function to invoke on each attribute name and value. + * See git_attr_foreach_cb. + * @param payload Passed on as extra parameter to callback function. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_attr_foreach_ext( + git_repository *repo, + git_attr_options *opts, + const char *path, + git_attr_foreach_cb callback, + void *payload); + +/** + * Flush the gitattributes cache. + * + * Call this if you have reason to believe that the attributes files on + * disk no longer match the cached contents of memory. This will cause + * the attributes files to be reloaded the next time that an attribute + * access function is called. + * + * @param repo The repository containing the gitattributes cache + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_attr_cache_flush( + git_repository *repo); + +/** + * Add a macro definition. + * + * Macros will automatically be loaded from the top level `.gitattributes` + * file of the repository (plus the built-in "binary" macro). This + * function allows you to add others. For example, to add the default + * macro, you would call: + * + * git_attr_add_macro(repo, "binary", "-diff -crlf"); + * + * @param repo The repository to add the macro in. + * @param name The name of the macro. + * @param values The value for the macro. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_attr_add_macro( + git_repository *repo, + const char *name, + const char *values); + +/** @} */ +GIT_END_DECL +#endif + diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/blame.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/blame.h new file mode 100644 index 00000000..f3e66924 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/blame.h @@ -0,0 +1,390 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_git_blame_h__ +#define INCLUDE_git_blame_h__ + +#include "common.h" +#include "oid.h" + +/** + * @file git2/blame.h + * @brief Specify a file's most recent changes per-line + * @defgroup git_blame Git blame routines + * @ingroup Git + * + * Producing a "blame" (or "annotated history") decorates individual + * lines in a file with the commit that introduced that particular line + * of changes. This can be useful to indicate when and why a particular + * change was made. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Flags for indicating option behavior for git_blame APIs. + */ +typedef enum { + /** Normal blame, the default */ + GIT_BLAME_NORMAL = 0, + + /** + * Track lines that have moved within a file (like `git blame -M`). + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_SAME_FILE = (1<<0), + + /** + * Track lines that have moved across files in the same commit + * (like `git blame -C`). + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES = (1<<1), + + /** + * Track lines that have been copied from another file that exists + * in the same commit (like `git blame -CC`). Implies SAME_FILE. + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES = (1<<2), + + /** + * Track lines that have been copied from another file that exists in + * *any* commit (like `git blame -CCC`). Implies SAME_COMMIT_COPIES. + * + * This is not yet implemented and reserved for future use. + */ + GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES = (1<<3), + + /** + * Restrict the search of commits to those reachable following only + * the first parents. + */ + GIT_BLAME_FIRST_PARENT = (1<<4), + + /** + * Use mailmap file to map author and committer names and email + * addresses to canonical real names and email addresses. The + * mailmap will be read from the working directory, or HEAD in a + * bare repository. + */ + GIT_BLAME_USE_MAILMAP = (1<<5), + + /** Ignore whitespace differences */ + GIT_BLAME_IGNORE_WHITESPACE = (1<<6) +} git_blame_flag_t; + +/** + * Blame options structure + * + * Initialize with `GIT_BLAME_OPTIONS_INIT`. Alternatively, you can + * use `git_blame_options_init`. + * + */ +typedef struct git_blame_options { + unsigned int version; + + /** A combination of `git_blame_flag_t` */ + unsigned int flags; + + /** + * The lower bound on the number of alphanumeric characters that + * must be detected as moving/copying within a file for it to + * associate those lines with the parent commit. The default value + * is 20. + * + * This value only takes effect if any of the `GIT_BLAME_TRACK_COPIES_*` + * flags are specified. + */ + uint16_t min_match_characters; + + /** The id of the newest commit to consider. The default is HEAD. */ + git_oid newest_commit; + + /** + * The id of the oldest commit to consider. + * The default is the first commit encountered with a NULL parent. + */ + git_oid oldest_commit; + + /** + * The first line in the file to blame. + * The default is 1 (line numbers start with 1). + */ + size_t min_line; + + /** + * The last line in the file to blame. + * The default is the last line of the file. + */ + size_t max_line; +} git_blame_options; + +/** Current version for the `git_blame_options` structure */ +#define GIT_BLAME_OPTIONS_VERSION 1 + +/** Static constructor for `git_blame_options` */ +#define GIT_BLAME_OPTIONS_INIT {GIT_BLAME_OPTIONS_VERSION} + +/** + * Initialize git_blame_options structure + * + * Initializes a `git_blame_options` with default values. Equivalent to creating + * an instance with GIT_BLAME_OPTIONS_INIT. + * + * @param opts The `git_blame_options` struct to initialize. + * @param version The struct version; pass `GIT_BLAME_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_blame_options_init( + git_blame_options *opts, + unsigned int version); + +/** + * Structure that represents a blame hunk. + */ +typedef struct git_blame_hunk { + /** + * The number of lines in this hunk. + */ + size_t lines_in_hunk; + + /** + * The OID of the commit where this line was last changed. + */ + git_oid final_commit_id; + + /** + * The 1-based line number where this hunk begins, in the final version + * of the file. + */ + size_t final_start_line_number; + + /** + * The author of `final_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been + * specified, it will contain the canonical real name and email address. + */ + git_signature *final_signature; + + /** + * The committer of `final_commit_id`. If `GIT_BLAME_USE_MAILMAP` has + * been specified, it will contain the canonical real name and email + * address. + */ + git_signature *final_committer; + + /** + * The OID of the commit where this hunk was found. + * This will usually be the same as `final_commit_id`, except when + * `GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES` has been specified. + */ + git_oid orig_commit_id; + + /** + * The path to the file where this hunk originated, as of the commit + * specified by `orig_commit_id`. + */ + const char *orig_path; + + /** + * The 1-based line number where this hunk begins in the file named by + * `orig_path` in the commit specified by `orig_commit_id`. + */ + size_t orig_start_line_number; + + /** + * The author of `orig_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been + * specified, it will contain the canonical real name and email address. + */ + git_signature *orig_signature; + + /** + * The committer of `orig_commit_id`. If `GIT_BLAME_USE_MAILMAP` has + * been specified, it will contain the canonical real name and email + * address. + */ + git_signature *orig_committer; + + /* + * The summary of the commit. + */ + const char *summary; + + /** + * The 1 iff the hunk has been tracked to a boundary commit (the root, + * or the commit specified in git_blame_options.oldest_commit) + */ + char boundary; +} git_blame_hunk; + +/** + * Structure that represents a line in a blamed file. + */ +typedef struct git_blame_line { + const char *ptr; + size_t len; +} git_blame_line; + +/** Opaque structure to hold blame results */ +typedef struct git_blame git_blame; + +/** + * Gets the number of lines that exist in the blame structure. + * + * @param blame The blame structure to query. + * @return The number of line. + */ +GIT_EXTERN(size_t) git_blame_linecount(git_blame *blame); + +/** + * Gets the number of hunks that exist in the blame structure. + * + * @param blame The blame structure to query. + * @return The number of hunks. + */ +GIT_EXTERN(size_t) git_blame_hunkcount(git_blame *blame); + +/** + * Gets the blame hunk at the given index. + * + * @param blame the blame structure to query + * @param index index of the hunk to retrieve + * @return the hunk at the given index, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_hunk_byindex( + git_blame *blame, + size_t index); + +/** + * Gets the hunk that relates to the given line number in the newest + * commit. + * + * @param blame the blame structure to query + * @param lineno the (1-based) line number to find a hunk for + * @return the hunk that contains the given line, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_hunk_byline( + git_blame *blame, + size_t lineno); + +/** + * Gets the information about the line in the blame. + * + * @param blame the blame structure to query + * @param idx the (1-based) line number + * @return the blamed line, or NULL on error + */ +GIT_EXTERN(const git_blame_line *) git_blame_line_byindex( + git_blame *blame, + size_t idx); + +#ifndef GIT_DEPRECATE_HARD +/** + * Gets the number of hunks that exist in the blame structure. + * + * @param blame The blame structure to query. + * @return The number of hunks. + */ + +GIT_EXTERN(uint32_t) git_blame_get_hunk_count(git_blame *blame); + +/** + * Gets the blame hunk at the given index. + * + * @param blame the blame structure to query + * @param index index of the hunk to retrieve + * @return the hunk at the given index, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_get_hunk_byindex( + git_blame *blame, + uint32_t index); + +/** + * Gets the hunk that relates to the given line number in the newest commit. + * + * @param blame the blame structure to query + * @param lineno the (1-based) line number to find a hunk for + * @return the hunk that contains the given line, or NULL on error + */ +GIT_EXTERN(const git_blame_hunk *) git_blame_get_hunk_byline( + git_blame *blame, + size_t lineno); +#endif + +/** + * Get the blame for a single file in the repository. + * + * @param out pointer that will receive the blame object + * @param repo repository whose history is to be walked + * @param path path to file to consider + * @param options options for the blame operation or NULL + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_blame_file( + git_blame **out, + git_repository *repo, + const char *path, + git_blame_options *options); + +/** + * Get the blame for a single file in the repository, using the specified + * buffer contents as the uncommitted changes of the file (the working + * directory contents). + * + * @param out pointer that will receive the blame object + * @param repo repository whose history is to be walked + * @param path path to file to consider + * @param contents the uncommitted changes + * @param contents_len the length of the changes buffer + * @param options options for the blame operation or NULL + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_blame_file_from_buffer( + git_blame **out, + git_repository *repo, + const char *path, + const char *contents, + size_t contents_len, + git_blame_options *options); + +/** + * Get blame data for a file that has been modified in memory. The `blame` + * parameter is a pre-calculated blame for the in-odb history of the file. + * This means that once a file blame is completed (which can be expensive), + * updating the buffer blame is very fast. + * + * Lines that differ between the buffer and the committed version are + * marked as having a zero OID for their final_commit_id. + * + * @param out pointer that will receive the resulting blame data + * @param base cached blame from the history of the file (usually the output + * from git_blame_file) + * @param buffer the (possibly) modified contents of the file + * @param buffer_len number of valid bytes in the buffer + * @return 0 on success, or an error code. (use git_error_last for information + * about the error) + */ +GIT_EXTERN(int) git_blame_buffer( + git_blame **out, + git_blame *base, + const char *buffer, + size_t buffer_len); + +/** + * Free memory allocated by git_blame_file or git_blame_buffer. + * + * @param blame the blame structure to free + */ +GIT_EXTERN(void) git_blame_free(git_blame *blame); + +/** @} */ +GIT_END_DECL +#endif + diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/blob.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/blob.h new file mode 100644 index 00000000..0ed16855 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/blob.h @@ -0,0 +1,354 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_blob_h__ +#define INCLUDE_git_blob_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" +#include "buffer.h" + +/** + * @file git2/blob.h + * @brief A blob represents a file in a git repository. + * @defgroup git_blob Git blob load and write routines + * @ingroup Git + * + * A blob represents a file in a git repository. This is the raw data + * as it is stored in the repository itself. Blobs may be "filtered" + * to produce the on-disk content. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a blob object from a repository. + * + * @param[out] blob pointer to the looked up blob + * @param repo the repo to use when locating the blob. + * @param id identity of the blob to locate. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_lookup( + git_blob **blob, + git_repository *repo, + const git_oid *id); + +/** + * Lookup a blob object from a repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param[out] blob pointer to the looked up blob + * @param repo the repo to use when locating the blob. + * @param id identity of the blob to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_lookup_prefix(git_blob **blob, git_repository *repo, const git_oid *id, size_t len); + +/** + * Close an open blob + * + * This is a wrapper around git_object_free() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a blob. Failure to do so will cause a memory leak. + * + * @param blob the blob to close + */ +GIT_EXTERN(void) git_blob_free(git_blob *blob); + +/** + * Get the id of a blob. + * + * @param blob a previously loaded blob. + * @return SHA1 hash for this blob. + */ +GIT_EXTERN(const git_oid *) git_blob_id(const git_blob *blob); + +/** + * Get the repository that contains the blob. + * + * @param blob A previously loaded blob. + * @return Repository that contains this blob. + */ +GIT_EXTERN(git_repository *) git_blob_owner(const git_blob *blob); + +/** + * Get a read-only buffer with the raw content of a blob. + * + * 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. + * + * @param blob pointer to the blob + * @return @type `unsigned char *` the pointer, or NULL on error + */ +GIT_EXTERN(const void *) git_blob_rawcontent(const git_blob *blob); + +/** + * Get the size in bytes of the contents of a blob + * + * @param blob pointer to the blob + * @return size in bytes + */ +GIT_EXTERN(git_object_size_t) git_blob_rawsize(const git_blob *blob); + +/** + * Flags to control the functionality of `git_blob_filter`. + * + * @flags + */ +typedef enum { + /** When set, filters will not be applied to binary files. */ + GIT_BLOB_FILTER_CHECK_FOR_BINARY = (1 << 0), + + /** + * When set, filters will not load configuration from the + * system-wide `gitattributes` in `/etc` (or system equivalent). + */ + GIT_BLOB_FILTER_NO_SYSTEM_ATTRIBUTES = (1 << 1), + + /** + * When set, filters will be loaded from a `.gitattributes` file + * in the HEAD commit. + */ + GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD = (1 << 2), + + /** + * When set, filters will be loaded from a `.gitattributes` file + * in the specified commit. + */ + GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT = (1 << 3) +} git_blob_filter_flag_t; + +/** + * The options used when applying filter options to a file. + * + * Initialize with `GIT_BLOB_FILTER_OPTIONS_INIT`. Alternatively, you can + * use `git_blob_filter_options_init`. + * + * @options[version] GIT_BLOB_FILTER_OPTIONS_VERSION + * @options[init_macro] GIT_BLOB_FILTER_OPTIONS_INIT + * @options[init_function] git_blob_filter_options_init + */ +typedef struct { + /** Version number of the options structure. */ + int version; + + /** + * Flags to control the filtering process, see `git_blob_filter_flag_t` above. + * + * @type[flags] git_blob_filter_flag_t + */ + uint32_t flags; + +#ifdef GIT_DEPRECATE_HARD + /** + * Unused and reserved for ABI compatibility. + * + * @deprecated this value should not be set + */ + void *reserved; +#else + /** + * This value is unused and reserved for API compatibility. + * + * @deprecated this value should not be set + */ + git_oid *commit_id; +#endif + + /** + * The commit to load attributes from, when + * `GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT` is specified. + */ + git_oid attr_commit_id; +} git_blob_filter_options; + +/** + * The current version number for the `git_blob_filter_options` structure ABI. + */ +#define GIT_BLOB_FILTER_OPTIONS_VERSION 1 + +/** + * The default values for `git_blob_filter_options`. + */ +#define GIT_BLOB_FILTER_OPTIONS_INIT { \ + GIT_BLOB_FILTER_OPTIONS_VERSION, \ + GIT_BLOB_FILTER_CHECK_FOR_BINARY \ + } + +/** + * Initialize git_blob_filter_options structure + * + * Initializes a `git_blob_filter_options` with default values. Equivalent + * to creating an instance with `GIT_BLOB_FILTER_OPTIONS_INIT`. + * + * @param opts The `git_blob_filter_options` struct to initialize. + * @param version The struct version; pass GIT_BLOB_FILTER_OPTIONS_VERSION + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_blob_filter_options_init( + git_blob_filter_options *opts, + unsigned int version); + +/** + * Get a buffer with the filtered content of a blob. + * + * 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. + * + * The output is written into a `git_buf` which the caller must dispose + * when done (via `git_buf_dispose`). + * + * 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. + * + * @param out The git_buf to be filled in + * @param blob Pointer to the blob + * @param as_path Path used for file attribute lookups, etc. + * @param opts Options to use for filtering the blob + * @return @type[enum] git_error_code 0 on success or an error code + */ +GIT_EXTERN(int) git_blob_filter( + git_buf *out, + git_blob *blob, + const char *as_path, + git_blob_filter_options *opts); + +/** + * Read a file from the working folder of a repository and write it + * to the object database. + * + * @param[out] id return the id of the written blob + * @param repo repository where the blob will be written. + * this repository cannot be bare + * @param relative_path file from which the blob will be created, + * relative to the repository's working dir + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_workdir(git_oid *id, git_repository *repo, const char *relative_path); + +/** + * Read a file from the filesystem (not necessarily inside the + * working folder of the repository) and write it to the object + * database. + * + * @param[out] id return the id of the written blob + * @param repo repository where the blob will be written. + * this repository can be bare or not + * @param path file from which the blob will be created + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_disk( + git_oid *id, + git_repository *repo, + const char *path); + +/** + * Create a stream to write a new blob into the object database. + * + * 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()`. + * + * 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. + * + * 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. + * + * @param[out] out the stream into which to write + * @param repo Repository where the blob will be written. + * This repository can be bare or not. + * @param hintpath If not NULL, will be used to select data filters + * to apply onto the content of the blob to be created. + * @return 0 or error code + */ +GIT_EXTERN(int) git_blob_create_from_stream( + git_writestream **out, + git_repository *repo, + const char *hintpath); + +/** + * Close the stream and finalize writing the blob to the object database. + * + * The stream will be closed and freed. + * + * @param[out] out the id of the new blob + * @param stream the stream to close + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_stream_commit( + git_oid *out, + git_writestream *stream); + +/** + * Write an in-memory buffer to the object database as a blob. + * + * @param[out] id return the id of the written blob + * @param repo repository where the blob will be written + * @param buffer data to be written into the blob + * @param len length of the data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_blob_create_from_buffer( + git_oid *id, git_repository *repo, const void *buffer, size_t len); + +/** + * Determine if the blob content is most likely binary or not. + * + * 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. + * + * @param blob The blob which content should be analyzed + * @return @type bool 1 if the content of the blob is detected + * as binary; 0 otherwise. + */ +GIT_EXTERN(int) git_blob_is_binary(const git_blob *blob); + +/** + * Determine if the given content is most certainly binary or not; + * this is the same mechanism used by `git_blob_is_binary` but only + * looking at raw data. + * + * @param data The blob data which content should be analyzed + * @param len The length of the data + * @return 1 if the content of the blob is detected + * as binary; 0 otherwise. + */ +GIT_EXTERN(int) git_blob_data_is_binary(const char *data, size_t len); + +/** + * Create an in-memory copy of a blob. The copy must be explicitly + * free'd or it will leak. + * + * @param[out] out Pointer to store the copy of the object + * @param source Original object to copy + * @return 0. + */ +GIT_EXTERN(int) git_blob_dup(git_blob **out, git_blob *source); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/branch.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/branch.h new file mode 100644 index 00000000..56d737d0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/branch.h @@ -0,0 +1,343 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_branch_h__ +#define INCLUDE_git_branch_h__ + +#include "common.h" +#include "oid.h" +#include "types.h" + +/** + * @file git2/branch.h + * @brief Branch creation and handling + * @defgroup git_branch Git branch management + * @ingroup Git + * + * A branch is a specific type of reference, at any particular time, + * a git working directory typically is said to have a branch "checked out", + * meaning that commits that are created will be made "on" a branch. + * This occurs by updating the branch reference to point to the new + * commit. The checked out branch is indicated by the `HEAD` meta-ref. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new branch pointing at a target commit + * + * A new direct reference will be created pointing to + * this target commit. If `force` is true and a reference + * already exists with the given name, it'll be replaced. + * + * The returned reference must be freed by the user. + * + * The branch name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param out Pointer where to store the underlying reference. + * @param repo the repository to create the branch in. + * @param branch_name Name for the branch; this name is + * validated for consistency. It should also not conflict with + * an already existing branch name. + * @param target Commit to which this branch should point. This object + * must belong to the given `repo`. + * @param force Overwrite existing branch. + * @return 0, GIT_EINVALIDSPEC or an error code. + * A proper reference is written in the refs/heads namespace + * pointing to the provided target commit. + */ +GIT_EXTERN(int) git_branch_create( + git_reference **out, + git_repository *repo, + const char *branch_name, + const git_commit *target, + int force); + +/** + * Create a new branch pointing at a target commit + * + * 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. + * + * @param ref_out Pointer where to store the underlying reference. + * @param repo the repository to create the branch in. + * @param branch_name Name for the branch; this name is + * validated for consistency. It should also not conflict with + * an already existing branch name. + * @param target Annotated commit to which this branch should point. This + * object must belong to the given `repo`. + * @param force Overwrite existing branch. + * @return 0, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_branch_create_from_annotated( + git_reference **ref_out, + git_repository *repo, + const char *branch_name, + const git_annotated_commit *target, + int force); + +/** + * Delete an existing branch reference. + * + * Note that if the deletion succeeds, the reference object will not + * be valid anymore, and should be freed immediately by the user using + * `git_reference_free()`. + * + * @param branch A valid reference representing a branch + * @return 0 on success, or an error code. + */ +GIT_EXTERN(int) git_branch_delete(git_reference *branch); + +/** Iterator type for branches */ +typedef struct git_branch_iterator git_branch_iterator; + +/** + * Create an iterator which loops over the requested branches. + * + * @param out the iterator + * @param repo Repository where to find the branches. + * @param list_flags Filtering flags for the branch + * listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE + * or GIT_BRANCH_ALL. + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_branch_iterator_new( + git_branch_iterator **out, + git_repository *repo, + git_branch_t list_flags); + +/** + * Retrieve the next branch from the iterator + * + * @param out the reference + * @param out_type the type of branch (local or remote-tracking) + * @param iter the branch iterator + * @return 0 on success, GIT_ITEROVER if there are no more branches or an error code. + */ +GIT_EXTERN(int) git_branch_next(git_reference **out, git_branch_t *out_type, git_branch_iterator *iter); + +/** + * Free a branch iterator + * + * @param iter the iterator to free + */ +GIT_EXTERN(void) git_branch_iterator_free(git_branch_iterator *iter); + +/** + * Move/rename an existing local branch reference. + * + * The new branch name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * Note that if the move succeeds, the old reference object will not + * be valid anymore, and should be freed immediately by the user using + * `git_reference_free()`. + * + * @param out New reference object for the updated name. + * + * @param branch Current underlying reference of the branch. + * + * @param new_branch_name Target name of the branch once the move + * is performed; this name is validated for consistency. + * + * @param force Overwrite existing branch. + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_branch_move( + git_reference **out, + git_reference *branch, + const char *new_branch_name, + int force); + +/** + * Lookup a branch by its name in a repository. + * + * The generated reference must be freed by the user. + * The branch name will be checked for validity. + * + * @see git_tag_create for rules about valid names. + * + * @param out pointer to the looked-up branch reference + * @param repo the repository to look up the branch + * @param branch_name Name of the branch to be looked-up; + * this name is validated for consistency. + * @param branch_type Type of the considered branch. This should + * be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE. + * + * @return 0 on success; GIT_ENOTFOUND when no matching branch + * exists, GIT_EINVALIDSPEC, otherwise an error code. + */ +GIT_EXTERN(int) git_branch_lookup( + git_reference **out, + git_repository *repo, + const char *branch_name, + git_branch_t branch_type); + +/** + * Get the branch name + * + * 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. + * + * @param out Pointer to the abbreviated reference name. + * Owned by ref, do not free. + * + * @param ref A reference object, ideally pointing to a branch + * + * @return 0 on success; GIT_EINVALID if the reference isn't either a local or + * remote branch, otherwise an error code. + */ +GIT_EXTERN(int) git_branch_name( + const char **out, + const git_reference *ref); + +/** + * Get the upstream of a branch + * + * Given a reference, this will return a new reference object corresponding + * to its remote tracking branch. The reference must be a local branch. + * + * @see git_branch_upstream_name for details on the resolution. + * + * @param out Pointer where to store the retrieved reference. + * @param branch Current underlying reference of the branch. + * + * @return 0 on success; GIT_ENOTFOUND when no remote tracking + * reference exists, otherwise an error code. + */ +GIT_EXTERN(int) git_branch_upstream( + git_reference **out, + const git_reference *branch); + +/** + * Set a branch's upstream branch + * + * 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. + * + * @note the actual tracking reference must have been already created for the + * operation to succeed. + * + * @param branch the branch to configure + * @param branch_name remote-tracking or local branch to set as upstream. + * + * @return @type git_error_t 0 on success; GIT_ENOTFOUND if there's no branch named `branch_name` + * or an error code + */ +GIT_EXTERN(int) git_branch_set_upstream( + git_reference *branch, + const char *branch_name); + +/** + * Get the upstream name of a branch + * + * Given a local branch, this will return its remote-tracking branch information, + * as a full reference name, ie. "feature/nice" would become + * "refs/remote/origin/feature/nice", depending on that branch's configuration. + * + * @param out the buffer into which the name will be written. + * @param repo the repository where the branches live. + * @param refname reference name of the local branch. + * + * @return 0 on success, GIT_ENOTFOUND when no remote tracking reference exists, + * or an error code. + */ +GIT_EXTERN(int) git_branch_upstream_name( + git_buf *out, + git_repository *repo, + const char *refname); + +/** + * Determine if HEAD points to the given branch + * + * @param branch A reference to a local branch. + * + * @return 1 if HEAD points at the branch, 0 if it isn't, or a negative value + * as an error code. + */ +GIT_EXTERN(int) git_branch_is_head( + const git_reference *branch); + +/** + * Determine if any HEAD points to the current branch + * + * This will iterate over all known linked repositories (usually in the form of + * worktrees) and report whether any HEAD is pointing at the current branch. + * + * @param branch A reference to a local branch. + * + * @return 1 if branch is checked out, 0 if it isn't, an error code otherwise. + */ +GIT_EXTERN(int) git_branch_is_checked_out( + const git_reference *branch); + +/** + * Find the remote name of a remote-tracking branch + * + * This will return the name of the remote whose fetch refspec is matching + * the given branch. E.g. given a branch "refs/remotes/test/master", it will + * extract the "test" part. If refspecs from multiple remotes match, + * the function will return GIT_EAMBIGUOUS. + * + * @param out The buffer into which the name will be written. + * @param repo The repository where the branch lives. + * @param refname complete name of the remote tracking branch. + * + * @return 0 on success, GIT_ENOTFOUND when no matching remote was found, + * GIT_EAMBIGUOUS when the branch maps to several remotes, + * otherwise an error code. + */ +GIT_EXTERN(int) git_branch_remote_name( + git_buf *out, + git_repository *repo, + const char *refname); + +/** + * Retrieve the upstream remote of a local branch + * + * This will return the currently configured "branch.*.remote" for a given + * branch. This branch must be local. + * + * @param buf the buffer into which to write the name + * @param repo the repository in which to look + * @param refname the full name of the branch + * @return 0 or an error code + */ + GIT_EXTERN(int) git_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *refname); + +/** + * Retrieve the upstream merge of a local branch + * + * This will return the currently configured "branch.*.merge" for a given + * branch. This branch must be local. + * + * @param buf the buffer into which to write the name + * @param repo the repository in which to look + * @param refname the full name of the branch + * @return 0 or an error code + */ + GIT_EXTERN(int) git_branch_upstream_merge(git_buf *buf, git_repository *repo, const char *refname); + +/** + * Determine whether a branch name is valid, meaning that (when prefixed + * with `refs/heads/`) that it is a valid reference name, and that any + * additional branch name restrictions are imposed (eg, it cannot start + * with a `-`). + * + * @param valid output pointer to set with validity of given branch name + * @param name a branch name to test + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_branch_name_is_valid(int *valid, const char *name); + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/buffer.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/buffer.h new file mode 100644 index 00000000..3fe4f854 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/buffer.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_buf_h__ +#define INCLUDE_git_buf_h__ + +#include "common.h" + +/** + * @file git2/buffer.h + * @brief A data structure to return data to callers + * @ingroup Git + * + * The `git_buf` buffer is used to return arbitrary data - typically + * strings - to callers. Callers are responsible for freeing the memory + * in a buffer with the `git_buf_dispose` function. + * @{ + */ +GIT_BEGIN_DECL + +/** + * A data buffer for exporting data from libgit2 + * + * Sometimes libgit2 wants to return an allocated data buffer to the + * caller and have the caller take responsibility for freeing that memory. + * To make ownership clear in these cases, libgit2 uses `git_buf` to + * return this data. Callers should use `git_buf_dispose()` to release + * the memory when they are done. + * + * A `git_buf` contains a pointer to a NUL-terminated C string, and + * the length of the string (not including the NUL terminator). + */ +typedef struct { + /** + * The buffer contents. `ptr` points to the start of the buffer + * being returned. The buffer's length (in bytes) is specified + * by the `size` member of the structure, and contains a NUL + * terminator at position `(size + 1)`. + */ + char *ptr; + + /** + * This field is reserved and unused. + */ + size_t reserved; + + /** + * The length (in bytes) of the buffer pointed to by `ptr`, + * not including a NUL terminator. + */ + size_t size; +} git_buf; + +/** + * Use to initialize a `git_buf` before passing it to a function that + * will populate it. + */ +#define GIT_BUF_INIT { NULL, 0, 0 } + +/** + * Free the memory referred to by the git_buf. + * + * Note that this does not free the `git_buf` itself, just the memory + * pointed to by `buffer->ptr`. + * + * @param buffer The buffer to deallocate + */ +GIT_EXTERN(void) git_buf_dispose(git_buf *buffer); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cert.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cert.h new file mode 100644 index 00000000..7b91b638 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cert.h @@ -0,0 +1,173 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_cert_h__ +#define INCLUDE_git_cert_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/cert.h + * @brief TLS and SSH certificate handling + * @defgroup git_cert Certificate objects + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Type of host certificate structure that is passed to the check callback + */ +typedef enum git_cert_t { + /** + * No information about the certificate is available. This may + * happen when using curl. + */ + GIT_CERT_NONE, + /** + * The `data` argument to the callback will be a pointer to + * the DER-encoded data. + */ + GIT_CERT_X509, + /** + * The `data` argument to the callback will be a pointer to a + * `git_cert_hostkey` structure. + */ + GIT_CERT_HOSTKEY_LIBSSH2, + /** + * The `data` argument to the callback will be a pointer to a + * `git_strarray` with `name:content` strings containing + * information about the certificate. This is used when using + * curl. + */ + GIT_CERT_STRARRAY +} git_cert_t; + +/** + * Parent type for `git_cert_hostkey` and `git_cert_x509`. + */ +struct git_cert { + /** + * Type of certificate. A `GIT_CERT_` value. + */ + git_cert_t cert_type; +}; + +/** + * Callback for the user's custom certificate checks. + * + * @param cert The host certificate + * @param valid Whether the libgit2 checks (OpenSSL or WinHTTP) think + * this certificate is valid + * @param host Hostname of the host libgit2 connected to + * @param payload Payload provided by the caller + * @return 0 to proceed with the connection, < 0 to fail the connection + * or > 0 to indicate that the callback refused to act and that + * the existing validity determination should be honored + */ +typedef int GIT_CALLBACK(git_transport_certificate_check_cb)(git_cert *cert, int valid, const char *host, void *payload); + +/** + * Type of SSH host fingerprint + */ +typedef enum { + /** MD5 is available */ + GIT_CERT_SSH_MD5 = (1 << 0), + /** SHA-1 is available */ + GIT_CERT_SSH_SHA1 = (1 << 1), + /** SHA-256 is available */ + GIT_CERT_SSH_SHA256 = (1 << 2), + /** Raw hostkey is available */ + GIT_CERT_SSH_RAW = (1 << 3) +} git_cert_ssh_t; + +typedef enum { + /** The raw key is of an unknown type. */ + GIT_CERT_SSH_RAW_TYPE_UNKNOWN = 0, + /** The raw key is an RSA key. */ + GIT_CERT_SSH_RAW_TYPE_RSA = 1, + /** The raw key is a DSS key. */ + GIT_CERT_SSH_RAW_TYPE_DSS = 2, + /** The raw key is a ECDSA 256 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_256 = 3, + /** The raw key is a ECDSA 384 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_384 = 4, + /** The raw key is a ECDSA 521 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_521 = 5, + /** The raw key is a ED25519 key. */ + GIT_CERT_SSH_RAW_TYPE_KEY_ED25519 = 6 +} git_cert_ssh_raw_type_t; + +/** + * Hostkey information taken from libssh2 + */ +typedef struct { + git_cert parent; /**< The parent cert */ + + /** + * A bitmask containing the available fields. + */ + git_cert_ssh_t type; + + /** + * Hostkey hash. If `type` has `GIT_CERT_SSH_MD5` set, this will + * have the MD5 hash of the hostkey. + */ + unsigned char hash_md5[16]; + + /** + * Hostkey hash. If `type` has `GIT_CERT_SSH_SHA1` set, this will + * have the SHA-1 hash of the hostkey. + */ + unsigned char hash_sha1[20]; + + /** + * Hostkey hash. If `type` has `GIT_CERT_SSH_SHA256` set, this will + * have the SHA-256 hash of the hostkey. + */ + unsigned char hash_sha256[32]; + + /** + * Raw hostkey type. If `type` has `GIT_CERT_SSH_RAW` set, this will + * have the type of the raw hostkey. + */ + git_cert_ssh_raw_type_t raw_type; + + /** + * Pointer to the raw hostkey. If `type` has `GIT_CERT_SSH_RAW` set, + * this will have the raw contents of the hostkey. + */ + const char *hostkey; + + /** + * Raw hostkey length. If `type` has `GIT_CERT_SSH_RAW` set, this will + * have the length of the raw contents of the hostkey. + */ + size_t hostkey_len; +} git_cert_hostkey; + +/** + * X.509 certificate information + */ +typedef struct { + git_cert parent; /**< The parent cert */ + + /** + * Pointer to the X.509 certificate data + */ + void *data; + + /** + * Length of the memory block pointed to by `data`. + */ + size_t len; +} git_cert_x509; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/checkout.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/checkout.h new file mode 100644 index 00000000..bdea9284 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/checkout.h @@ -0,0 +1,468 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_checkout_h__ +#define INCLUDE_git_checkout_h__ + +#include "common.h" +#include "types.h" +#include "diff.h" + +/** + * @file git2/checkout.h + * @brief Update the contents of the working directory + * @defgroup git_checkout Git checkout routines + * @ingroup Git + * + * Update the contents of the working directory, or a subset of the + * files in the working directory, to point to the data in the index + * or a specific commit. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Checkout behavior flags + * + * 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. + * + * 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. + * + * You give checkout one of two strategies for update: + * + * - `GIT_CHECKOUT_SAFE` is the default, and similar to git's default, + * which will make modifications that will not lose changes in the + * working directory. + * + * | target == baseline | target != baseline | + * ---------------------|-----------------------|----------------------| + * workdir == baseline | no action | create, update, or | + * | | delete file | + * ---------------------|-----------------------|----------------------| + * workdir exists and | no action | conflict (notify | + * is != baseline | notify dirty MODIFIED | and cancel checkout) | + * ---------------------|-----------------------|----------------------| + * workdir missing, | notify dirty DELETED | create file | + * baseline present | | | + * ---------------------|-----------------------|----------------------| + * + * - `GIT_CHECKOUT_FORCE` will take any action to make the working + * directory match the target (including potentially discarding + * modified files). + * + * 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. + * + * 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. + * + * To emulate `git checkout -f`, use `GIT_CHECKOUT_FORCE`. + * + * + * There are some additional flags to modify the behavior of checkout: + * + * - `GIT_CHECKOUT_DRY_RUN` is a dry-run strategy that checks for conflicts, + * etc., but doesn't make any actual changes. + * + * - GIT_CHECKOUT_ALLOW_CONFLICTS makes SAFE mode apply safe file updates + * even if there are conflicts (instead of cancelling the checkout). + * + * - GIT_CHECKOUT_REMOVE_UNTRACKED means remove untracked files (i.e. not + * in target, baseline, or index, and not ignored) from the working dir. + * + * - GIT_CHECKOUT_REMOVE_IGNORED means remove ignored files (that are also + * untracked) from the working directory as well. + * + * - GIT_CHECKOUT_UPDATE_ONLY means to only update the content of files that + * already exist. Files will not be created nor deleted. This just skips + * applying adds, deletes, and typechanges. + * + * - GIT_CHECKOUT_DONT_UPDATE_INDEX prevents checkout from writing the + * updated files' information to the index. + * + * - Normally, checkout will reload the index and git attributes from disk + * before any operations. GIT_CHECKOUT_NO_REFRESH prevents this reload. + * + * - Unmerged index entries are conflicts. GIT_CHECKOUT_SKIP_UNMERGED skips + * files with unmerged index entries instead. GIT_CHECKOUT_USE_OURS and + * GIT_CHECKOUT_USE_THEIRS to proceed with the checkout using either the + * stage 2 ("ours") or stage 3 ("theirs") version of files in the index. + * + * - GIT_CHECKOUT_DONT_OVERWRITE_IGNORED prevents ignored files from being + * overwritten. Normally, files that are ignored in the working directory + * are not considered "precious" and may be overwritten if the checkout + * target contains that file. + * + * - GIT_CHECKOUT_DONT_REMOVE_EXISTING prevents checkout from removing + * files or folders that fold to the same name on case insensitive + * filesystems. This can cause files to retain their existing names + * and write through existing symbolic links. + * + * @flags + */ +typedef enum { + /** + * Allow safe updates that cannot overwrite uncommitted data. + * If the uncommitted changes don't conflict with the checked + * out files, the checkout will still proceed, leaving the + * changes intact. + */ + GIT_CHECKOUT_SAFE = 0, + + /** + * Allow all updates to force working directory to look like + * the index, potentially losing data in the process. + */ + GIT_CHECKOUT_FORCE = (1u << 1), + + /** Allow checkout to recreate missing files */ + GIT_CHECKOUT_RECREATE_MISSING = (1u << 2), + + /** Allow checkout to make safe updates even if conflicts are found */ + GIT_CHECKOUT_ALLOW_CONFLICTS = (1u << 4), + + /** Remove untracked files not in index (that are not ignored) */ + GIT_CHECKOUT_REMOVE_UNTRACKED = (1u << 5), + + /** Remove ignored files not in index */ + GIT_CHECKOUT_REMOVE_IGNORED = (1u << 6), + + /** Only update existing files, don't create new ones */ + GIT_CHECKOUT_UPDATE_ONLY = (1u << 7), + + /** + * Normally checkout updates index entries as it goes; this stops that. + * Implies `GIT_CHECKOUT_DONT_WRITE_INDEX`. + */ + GIT_CHECKOUT_DONT_UPDATE_INDEX = (1u << 8), + + /** Don't refresh index/config/etc before doing checkout */ + GIT_CHECKOUT_NO_REFRESH = (1u << 9), + + /** Allow checkout to skip unmerged files */ + GIT_CHECKOUT_SKIP_UNMERGED = (1u << 10), + /** For unmerged files, checkout stage 2 from index */ + GIT_CHECKOUT_USE_OURS = (1u << 11), + /** For unmerged files, checkout stage 3 from index */ + GIT_CHECKOUT_USE_THEIRS = (1u << 12), + + /** Treat pathspec as simple list of exact match file paths */ + GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH = (1u << 13), + + /** Ignore directories in use, they will be left empty */ + GIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES = (1u << 18), + + /** Don't overwrite ignored files that exist in the checkout target */ + GIT_CHECKOUT_DONT_OVERWRITE_IGNORED = (1u << 19), + + /** Write normal merge files for conflicts */ + GIT_CHECKOUT_CONFLICT_STYLE_MERGE = (1u << 20), + + /** Include common ancestor data in diff3 format files for conflicts */ + GIT_CHECKOUT_CONFLICT_STYLE_DIFF3 = (1u << 21), + + /** Don't overwrite existing files or folders */ + GIT_CHECKOUT_DONT_REMOVE_EXISTING = (1u << 22), + + /** Normally checkout writes the index upon completion; this prevents that. */ + GIT_CHECKOUT_DONT_WRITE_INDEX = (1u << 23), + + /** + * Perform a "dry run", reporting what _would_ be done but + * without actually making changes in the working directory + * or the index. + */ + GIT_CHECKOUT_DRY_RUN = (1u << 24), + + /** Include common ancestor data in zdiff3 format for conflicts */ + GIT_CHECKOUT_CONFLICT_STYLE_ZDIFF3 = (1u << 25), + + /** + * Do not do a checkout and do not fire callbacks; this is primarily + * useful only for internal functions that will perform the + * checkout themselves but need to pass checkout options into + * another function, for example, `git_clone`. + */ + GIT_CHECKOUT_NONE = (1u << 30), + + /* + * THE FOLLOWING OPTIONS ARE NOT YET IMPLEMENTED + */ + + /** Recursively checkout submodules with same options (NOT IMPLEMENTED) */ + GIT_CHECKOUT_UPDATE_SUBMODULES = (1u << 16), + /** Recursively checkout submodules if HEAD moved in super repo (NOT IMPLEMENTED) */ + GIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED = (1u << 17) +} git_checkout_strategy_t; + +/** + * Checkout notification flags + * + * Checkout will invoke an options notification callback (`notify_cb`) for + * certain cases - you pick which ones via `notify_flags`: + * + * Returning a non-zero value from this callback will cancel the checkout. + * The non-zero return value will be propagated back and returned by the + * git_checkout_... call. + * + * Notification callbacks are made prior to modifying any files on disk, + * so canceling on any notification will still happen prior to any files + * being modified. + * + * @flags + */ +typedef enum { + GIT_CHECKOUT_NOTIFY_NONE = 0, + + /** + * Invokes checkout on conflicting paths. + */ + GIT_CHECKOUT_NOTIFY_CONFLICT = (1u << 0), + + /** + * Notifies about "dirty" files, i.e. those that do not need an update + * but no longer match the baseline. Core git displays these files when + * checkout runs, but won't stop the checkout. + */ + GIT_CHECKOUT_NOTIFY_DIRTY = (1u << 1), + + /** + * Sends notification for any file changed. + */ + GIT_CHECKOUT_NOTIFY_UPDATED = (1u << 2), + + /** + * Notifies about untracked files. + */ + GIT_CHECKOUT_NOTIFY_UNTRACKED = (1u << 3), + + /** + * Notifies about ignored files. + */ + GIT_CHECKOUT_NOTIFY_IGNORED = (1u << 4), + + GIT_CHECKOUT_NOTIFY_ALL = 0x0FFFFu +} git_checkout_notify_t; + +/** Checkout performance-reporting structure */ +typedef struct { + size_t mkdir_calls; + size_t stat_calls; + size_t chmod_calls; +} git_checkout_perfdata; + +/** + * Checkout notification callback function. + * + * @param why the notification reason + * @param path the path to the file being checked out + * @param baseline the baseline's diff file information + * @param target the checkout target diff file information + * @param workdir the working directory diff file information + * @param payload the user-supplied callback payload + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_checkout_notify_cb)( + 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); + +/** + * Checkout progress notification function. + * + * @param path the path to the file being checked out + * @param completed_steps number of checkout steps completed + * @param total_steps number of total steps in the checkout process + * @param payload the user-supplied callback payload + */ +typedef void GIT_CALLBACK(git_checkout_progress_cb)( + const char *path, + size_t completed_steps, + size_t total_steps, + void *payload); + +/** + * Checkout performance data reporting function. + * + * @param perfdata the performance data for the checkout + * @param payload the user-supplied callback payload + */ +typedef void GIT_CALLBACK(git_checkout_perfdata_cb)( + const git_checkout_perfdata *perfdata, + void *payload); + +/** + * Checkout options structure + * + * Initialize with `GIT_CHECKOUT_OPTIONS_INIT`. Alternatively, you can + * use `git_checkout_options_init`. + * + * @options[version] GIT_CHECKOUT_OPTIONS_VERSION + * @options[init_macro] GIT_CHECKOUT_OPTIONS_INIT + * @options[init_function] git_checkout_options_init + */ +typedef struct git_checkout_options { + unsigned int version; /**< The version */ + + /** + * Checkout strategy. Default is a safe checkout. + * + * @type[flags] git_checkout_strategy_t + */ + unsigned int checkout_strategy; /**< default will be a safe checkout */ + + int disable_filters; /**< don't apply filters like CRLF conversion */ + unsigned int dir_mode; /**< default is 0755 */ + unsigned int file_mode; /**< default is 0644 or 0755 as dictated by blob */ + int file_open_flags; /**< default is O_CREAT | O_TRUNC | O_WRONLY */ + + /** + * Checkout notification flags specify what operations the notify + * callback is invoked for. + * + * @type[flags] git_checkout_notify_t + */ + unsigned int notify_flags; + + /** + * Optional callback to get notifications on specific file states. + * @see git_checkout_notify_t + */ + git_checkout_notify_cb notify_cb; + + /** Payload passed to notify_cb */ + void *notify_payload; + + /** Optional callback to notify the consumer of checkout progress. */ + git_checkout_progress_cb progress_cb; + + /** Payload passed to progress_cb */ + void *progress_payload; + + /** + * A list of wildmatch patterns or paths. + * + * By default, all paths are processed. If you pass an array of wildmatch + * patterns, those will be used to filter which paths should be taken into + * account. + * + * Use GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH to treat as a simple list. + */ + git_strarray paths; + + /** + * The expected content of the working directory; defaults to HEAD. + * + * If the working directory does not match this baseline information, + * that will produce a checkout conflict. + */ + git_tree *baseline; + + /** + * Like `baseline` above, though expressed as an index. This + * option overrides `baseline`. + */ + git_index *baseline_index; + + const char *target_directory; /**< alternative checkout path to workdir */ + + const char *ancestor_label; /**< the name of the common ancestor side of conflicts */ + const char *our_label; /**< the name of the "our" side of conflicts */ + const char *their_label; /**< the name of the "their" side of conflicts */ + + /** Optional callback to notify the consumer of performance data. */ + git_checkout_perfdata_cb perfdata_cb; + + /** Payload passed to perfdata_cb */ + void *perfdata_payload; +} git_checkout_options; + + +/** Current version for the `git_checkout_options` structure */ +#define GIT_CHECKOUT_OPTIONS_VERSION 1 + +/** Static constructor for `git_checkout_options` */ +#define GIT_CHECKOUT_OPTIONS_INIT { GIT_CHECKOUT_OPTIONS_VERSION } + +/** + * Initialize git_checkout_options structure + * + * Initializes a `git_checkout_options` with default values. Equivalent to creating + * an instance with GIT_CHECKOUT_OPTIONS_INIT. + * + * @param opts The `git_checkout_options` struct to initialize. + * @param version The struct version; pass `GIT_CHECKOUT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_checkout_options_init( + git_checkout_options *opts, + unsigned int version); + +/** + * Updates files in the index and the working tree to match the content of + * the commit pointed at by HEAD. + * + * Note that this is _not_ the correct mechanism used to switch branches; + * do not change your `HEAD` and then call this method, that would leave + * you with checkout conflicts since your working directory would then + * appear to be dirty. Instead, checkout the target of the branch and + * then update `HEAD` using `git_repository_set_head` to point to the + * branch you checked out. + * + * @param repo repository to check out (must be non-bare) + * @param opts specifies checkout options (may be NULL) + * @return 0 on success, GIT_EUNBORNBRANCH if HEAD points to a non + * existing branch, non-zero value returned by `notify_cb`, or + * other error code < 0 (use git_error_last for error details) + */ +GIT_EXTERN(int) git_checkout_head( + git_repository *repo, + const git_checkout_options *opts); + +/** + * Updates files in the working tree to match the content of the index. + * + * @param repo repository into which to check out (must be non-bare) + * @param index index to be checked out (or NULL to use repository index) + * @param opts specifies checkout options (may be NULL) + * @return 0 on success, non-zero return value from `notify_cb`, or error + * code < 0 (use git_error_last for error details) + */ +GIT_EXTERN(int) git_checkout_index( + git_repository *repo, + git_index *index, + const git_checkout_options *opts); + +/** + * Updates files in the index and working tree to match the content of the + * tree pointed at by the treeish. + * + * @param repo repository to check out (must be non-bare) + * @param treeish a commit, tag or tree which content will be used to update + * the working directory (or NULL to use HEAD) + * @param opts specifies checkout options (may be NULL) + * @return 0 on success, non-zero return value from `notify_cb`, or error + * code < 0 (use git_error_last for error details) + */ +GIT_EXTERN(int) git_checkout_tree( + git_repository *repo, + const git_object *treeish, + const git_checkout_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cherrypick.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cherrypick.h new file mode 100644 index 00000000..e6cf99ea --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cherrypick.h @@ -0,0 +1,99 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_cherrypick_h__ +#define INCLUDE_git_cherrypick_h__ + +#include "common.h" +#include "types.h" +#include "merge.h" + +/** + * @file git2/cherrypick.h + * @brief Cherry-pick the contents of an individual commit + * @defgroup git_cherrypick Git cherry-pick routines + * @ingroup Git + * + * "Cherry-pick" will attempts to re-apply the changes in an + * individual commit to the current index and working directory. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Cherry-pick options + */ +typedef struct { + unsigned int version; + + /** For merge commits, the "mainline" is treated as the parent. */ + unsigned int mainline; + + git_merge_options merge_opts; /**< Options for the merging */ + git_checkout_options checkout_opts; /**< Options for the checkout */ +} git_cherrypick_options; + +/** Current version for the `git_cherrypick_options` structure */ +#define GIT_CHERRYPICK_OPTIONS_VERSION 1 + +/** Static constructor for `git_cherrypick_options` */ +#define GIT_CHERRYPICK_OPTIONS_INIT { \ + GIT_CHERRYPICK_OPTIONS_VERSION, 0, \ + GIT_MERGE_OPTIONS_INIT, GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_cherrypick_options structure + * + * Initializes a `git_cherrypick_options` with default values. Equivalent to creating + * an instance with GIT_CHERRYPICK_OPTIONS_INIT. + * + * @param opts The `git_cherrypick_options` struct to initialize. + * @param version The struct version; pass `GIT_CHERRYPICK_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_cherrypick_options_init( + git_cherrypick_options *opts, + unsigned int version); + +/** + * Cherry-picks the given commit against the given "our" commit, producing an + * index that reflects the result of the cherry-pick. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo the repository that contains the given commits + * @param cherrypick_commit the commit to cherry-pick + * @param our_commit the commit to cherry-pick against (eg, HEAD) + * @param mainline the parent of the `cherrypick_commit`, if it is a merge + * @param merge_options the merge options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_cherrypick_commit( + git_index **out, + git_repository *repo, + git_commit *cherrypick_commit, + git_commit *our_commit, + unsigned int mainline, + const git_merge_options *merge_options); + +/** + * Cherry-pick the given commit, producing changes in the index and working directory. + * + * @param repo the repository to cherry-pick + * @param commit the commit to cherry-pick + * @param cherrypick_options the cherry-pick options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_cherrypick( + git_repository *repo, + git_commit *commit, + const git_cherrypick_options *cherrypick_options); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/clone.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/clone.h new file mode 100644 index 00000000..b7a47ab4 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/clone.h @@ -0,0 +1,225 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_clone_h__ +#define INCLUDE_git_clone_h__ + +#include "common.h" +#include "types.h" +#include "indexer.h" +#include "checkout.h" +#include "remote.h" +#include "transport.h" + + +/** + * @file git2/clone.h + * @brief Clone a remote repository to the local disk + * @defgroup git_clone Git cloning routines + * @ingroup Git + * + * Clone will take a remote repository - located on a remote server + * accessible by HTTPS or SSH, or a repository located elsewhere on + * the local disk - and place a copy in the given local path. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options for bypassing the git-aware transport on clone. Bypassing + * it means that instead of a fetch, libgit2 will copy the object + * database directory instead of figuring out what it needs, which is + * faster. If possible, it will hardlink the files to save space. + */ +typedef enum { + /** + * Auto-detect (default), libgit2 will bypass the git-aware + * transport for local paths, but use a normal fetch for + * `file://` urls. + */ + GIT_CLONE_LOCAL_AUTO, + /** + * Bypass the git-aware transport even for a `file://` url. + */ + GIT_CLONE_LOCAL, + /** + * Do no bypass the git-aware transport + */ + GIT_CLONE_NO_LOCAL, + /** + * Bypass the git-aware transport, but do not try to use + * hardlinks. + */ + GIT_CLONE_LOCAL_NO_LINKS +} git_clone_local_t; + +/** + * The signature of a function matching git_remote_create, with an additional + * void* as a callback payload. + * + * Callers of git_clone may provide a function matching this signature to override + * the remote creation and customization process during a clone operation. + * + * @param[out] out the resulting remote + * @param repo the repository in which to create the remote + * @param name the remote's name + * @param url the remote's url + * @param payload an opaque payload + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +typedef int GIT_CALLBACK(git_remote_create_cb)( + git_remote **out, + git_repository *repo, + const char *name, + const char *url, + void *payload); + +/** + * The signature of a function matching git_repository_init, with an + * additional void * as callback payload. + * + * Callers of git_clone my provide a function matching this signature + * to override the repository creation and customization process + * during a clone operation. + * + * @param[out] out the resulting repository + * @param path path in which to create the repository + * @param bare whether the repository is bare. This is the value from the clone options + * @param payload payload specified by the options + * @return 0, or a negative value to indicate error + */ +typedef int GIT_CALLBACK(git_repository_create_cb)( + git_repository **out, + const char *path, + int bare, + void *payload); + +/** + * Clone options structure + * + * Initialize with `GIT_CLONE_OPTIONS_INIT`. Alternatively, you can + * use `git_clone_options_init`. + * + * @options[version] GIT_CLONE_OPTIONS_VERSION + * @options[init_macro] GIT_CLONE_OPTIONS_INIT + * @options[init_function] git_clone_options_init + */ +typedef struct git_clone_options { + unsigned int version; + + /** + * These options are passed to the checkout step. To disable + * checkout, set the `checkout_strategy` to `GIT_CHECKOUT_NONE` + * or `GIT_CHECKOUT_DRY_RUN`. + */ + git_checkout_options checkout_opts; + + /** + * Options which control the fetch, including callbacks. + * + * The callbacks are used for reporting fetch progress, and for acquiring + * credentials in the event they are needed. + */ + git_fetch_options fetch_opts; + + /** + * Set to zero (false) to create a standard repo, or non-zero + * for a bare repo + */ + int bare; + + /** + * Whether to use a fetch or copy the object database. + */ + git_clone_local_t local; + + /** + * The name of the branch to checkout. NULL means use the + * remote's default branch. + */ + const char *checkout_branch; + + /** + * A callback used to create the new repository into which to + * clone. If NULL, the 'bare' field will be used to determine + * whether to create a bare repository. + */ + git_repository_create_cb repository_cb; + + /** + * An opaque payload to pass to the git_repository creation callback. + * This parameter is ignored unless repository_cb is non-NULL. + */ + void *repository_cb_payload; + + /** + * A callback used to create the git_remote, prior to its being + * used to perform the clone operation. See the documentation for + * git_remote_create_cb for details. This parameter may be NULL, + * indicating that git_clone should provide default behavior. + */ + git_remote_create_cb remote_cb; + + /** + * An opaque payload to pass to the git_remote creation callback. + * This parameter is ignored unless remote_cb is non-NULL. + */ + void *remote_cb_payload; +} git_clone_options; + +/** Current version for the `git_clone_options` structure */ +#define GIT_CLONE_OPTIONS_VERSION 1 + +/** Static constructor for `git_clone_options` */ +#define GIT_CLONE_OPTIONS_INIT \ + { GIT_CLONE_OPTIONS_VERSION, \ + GIT_CHECKOUT_OPTIONS_INIT, \ + GIT_FETCH_OPTIONS_INIT } + +/** + * Initialize git_clone_options structure + * + * Initializes a `git_clone_options` with default values. Equivalent to creating + * an instance with GIT_CLONE_OPTIONS_INIT. + * + * @param opts The `git_clone_options` struct to initialize. + * @param version The struct version; pass `GIT_CLONE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_clone_options_init( + git_clone_options *opts, + unsigned int version); + +/** + * Clone a remote repository. + * + * 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. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out pointer that will receive the resulting repository object + * @param url the remote repository to clone + * @param local_path local directory to clone to + * @param options configuration options for the clone. If NULL, the + * function works as though GIT_OPTIONS_INIT were passed. + * @return 0 on success, any non-zero return value from a callback + * function, or a negative value to indicate an error (use + * `git_error_last` for a detailed error message) + */ +GIT_EXTERN(int) git_clone( + git_repository **out, + const char *url, + const char *local_path, + const git_clone_options *options); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/commit.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/commit.h new file mode 100644 index 00000000..b998e188 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/commit.h @@ -0,0 +1,675 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_commit_h__ +#define INCLUDE_git_commit_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" + +/** + * @file git2/commit.h + * @brief A representation of a set of changes in the repository + * @defgroup git_commit Git commit parsing, formatting routines + * @ingroup Git + * + * A commit represents a set of changes made to the files within a + * repository, and metadata about who made the changes, and when the + * changes were made. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a commit object from a repository. + * + * The returned object should be released with `git_commit_free` when no + * longer needed. + * + * @param commit pointer to the looked up commit + * @param repo the repo to use when locating the commit. + * @param id identity of the commit to locate. If the object is + * an annotated tag it will be peeled back to the commit. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_lookup( + git_commit **commit, git_repository *repo, const git_oid *id); + +/** + * Lookup a commit object from a repository, given a prefix of its + * identifier (short id). + * + * The returned object should be released with `git_commit_free` when no + * longer needed. + * + * @see git_object_lookup_prefix + * + * @param commit pointer to the looked up commit + * @param repo the repo to use when locating the commit. + * @param id identity of the commit to locate. If the object is + * an annotated tag it will be peeled back to the commit. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_lookup_prefix( + git_commit **commit, git_repository *repo, const git_oid *id, size_t len); + +/** + * Close an open commit + * + * This is a wrapper around git_object_free() + * + * IMPORTANT: + * It *is* necessary to call this method when you stop + * using a commit. Failure to do so will cause a memory leak. + * + * @param commit the commit to close + */ + +GIT_EXTERN(void) git_commit_free(git_commit *commit); + +/** + * Get the id of a commit. + * + * @param commit a previously loaded commit. + * @return object identity for the commit. + */ +GIT_EXTERN(const git_oid *) git_commit_id(const git_commit *commit); + +/** + * Get the repository that contains the commit. + * + * @param commit A previously loaded commit. + * @return Repository that contains this commit. + */ +GIT_EXTERN(git_repository *) git_commit_owner(const git_commit *commit); + +/** + * Get the encoding for the message of a commit, + * as a string representing a standard encoding name. + * + * The encoding may be NULL if the `encoding` header + * in the commit is missing; in that case UTF-8 is assumed. + * + * @param commit a previously loaded commit. + * @return NULL, or the encoding + */ +GIT_EXTERN(const char *) git_commit_message_encoding(const git_commit *commit); + +/** + * Get the full message of a commit. + * + * The returned message will be slightly prettified by removing any + * potential leading newlines. + * + * @param commit a previously loaded commit. + * @return the message of a commit + */ +GIT_EXTERN(const char *) git_commit_message(const git_commit *commit); + +/** + * Get the full raw message of a commit. + * + * @param commit a previously loaded commit. + * @return the raw message of a commit + */ +GIT_EXTERN(const char *) git_commit_message_raw(const git_commit *commit); + +/** + * Get the short "summary" of the git commit message. + * + * The returned message is the summary of the commit, comprising the + * first paragraph of the message with whitespace trimmed and squashed. + * + * @param commit a previously loaded commit. + * @return the summary of a commit or NULL on error + */ +GIT_EXTERN(const char *) git_commit_summary(git_commit *commit); + +/** + * Get the long "body" of the git commit message. + * + * The returned message is the body of the commit, comprising + * everything but the first paragraph of the message. Leading and + * trailing whitespaces are trimmed. + * + * @param commit a previously loaded commit. + * @return the body of a commit or NULL when no the message only + * consists of a summary + */ +GIT_EXTERN(const char *) git_commit_body(git_commit *commit); + +/** + * Get the commit time (i.e. committer time) of a commit. + * + * @param commit a previously loaded commit. + * @return the time of a commit + */ +GIT_EXTERN(git_time_t) git_commit_time(const git_commit *commit); + +/** + * Get the commit timezone offset (i.e. committer's preferred timezone) of a commit. + * + * @param commit a previously loaded commit. + * @return positive or negative timezone offset, in minutes from UTC + */ +GIT_EXTERN(int) git_commit_time_offset(const git_commit *commit); + +/** + * Get the committer of a commit. + * + * @param commit a previously loaded commit. + * @return the committer of a commit + */ +GIT_EXTERN(const git_signature *) git_commit_committer(const git_commit *commit); + +/** + * Get the author of a commit. + * + * @param commit a previously loaded commit. + * @return the author of a commit + */ +GIT_EXTERN(const git_signature *) git_commit_author(const git_commit *commit); + +/** + * Get the committer of a commit, using the mailmap to map names and email + * addresses to canonical real names and email addresses. + * + * Call `git_signature_free` to free the signature. + * + * @param out a pointer to store the resolved signature. + * @param commit a previously loaded commit. + * @param mailmap the mailmap to resolve with. (may be NULL) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_committer_with_mailmap( + git_signature **out, const git_commit *commit, const git_mailmap *mailmap); + +/** + * Get the author of a commit, using the mailmap to map names and email + * addresses to canonical real names and email addresses. + * + * Call `git_signature_free` to free the signature. + * + * @param out a pointer to store the resolved signature. + * @param commit a previously loaded commit. + * @param mailmap the mailmap to resolve with. (may be NULL) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_author_with_mailmap( + git_signature **out, const git_commit *commit, const git_mailmap *mailmap); + +/** + * Get the full raw text of the commit header. + * + * @param commit a previously loaded commit + * @return the header text of the commit + */ +GIT_EXTERN(const char *) git_commit_raw_header(const git_commit *commit); + +/** + * Get the tree pointed to by a commit. + * + * @param tree_out pointer where to store the tree object + * @param commit a previously loaded commit. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_tree(git_tree **tree_out, const git_commit *commit); + +/** + * Get the id of the tree pointed to by a commit. This differs from + * `git_commit_tree` in that no attempts are made to fetch an object + * from the ODB. + * + * @param commit a previously loaded commit. + * @return the id of tree pointed to by commit. + */ +GIT_EXTERN(const git_oid *) git_commit_tree_id(const git_commit *commit); + +/** + * Get the number of parents of this commit + * + * @param commit a previously loaded commit. + * @return integer of count of parents + */ +GIT_EXTERN(unsigned int) git_commit_parentcount(const git_commit *commit); + +/** + * Get the specified parent of the commit. + * + * @param out Pointer where to store the parent commit + * @param commit a previously loaded commit. + * @param n the position of the parent (from 0 to `parentcount`) + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_parent( + git_commit **out, + const git_commit *commit, + unsigned int n); + +/** + * Get the oid of a specified parent for a commit. This is different from + * `git_commit_parent`, which will attempt to load the parent commit from + * the ODB. + * + * @param commit a previously loaded commit. + * @param n the position of the parent (from 0 to `parentcount`) + * @return the id of the parent, NULL on error. + */ +GIT_EXTERN(const git_oid *) git_commit_parent_id( + const git_commit *commit, + unsigned int n); + +/** + * Get the commit object that is the th generation ancestor + * of the named commit object, following only the first parents. + * The returned commit has to be freed by the caller. + * + * Passing `0` as the generation number returns another instance of the + * base commit itself. + * + * @param ancestor Pointer where to store the ancestor commit + * @param commit a previously loaded commit. + * @param n the requested generation + * @return 0 on success; GIT_ENOTFOUND if no matching ancestor exists + * or an error code + */ +GIT_EXTERN(int) git_commit_nth_gen_ancestor( + git_commit **ancestor, + const git_commit *commit, + unsigned int n); + +/** + * Get an arbitrary header field + * + * @param out the buffer to fill; existing content will be + * overwritten + * @param commit the commit to look in + * @param field the header field to return + * @return 0 on succeess, GIT_ENOTFOUND if the field does not exist, + * or an error code + */ +GIT_EXTERN(int) git_commit_header_field(git_buf *out, const git_commit *commit, const char *field); + +/** + * Extract the signature from a commit + * + * If the id is not for a commit, the error class will be + * `GIT_ERROR_INVALID`. If the commit does not have a signature, the + * error class will be `GIT_ERROR_OBJECT`. + * + * @param signature the signature block; existing content will be + * overwritten + * @param signed_data signed data; this is the commit contents minus the signature block; + * existing content will be overwritten + * @param repo the repository in which the commit exists + * @param commit_id the commit from which to extract the data + * @param field the name of the header field containing the signature + * block; pass `NULL` to extract the default 'gpgsig' + * @return 0 on success, GIT_ENOTFOUND if the id is not for a commit + * or the commit does not have a signature. + */ +GIT_EXTERN(int) git_commit_extract_signature(git_buf *signature, git_buf *signed_data, git_repository *repo, git_oid *commit_id, const char *field); + +/** + * Create new commit in the repository from a list of `git_object` pointers + * + * The message will **not** be cleaned up automatically. You can do that + * with the `git_message_prettify()` function. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @param parents Array of `parent_count` pointers to `git_commit` + * objects that will be used as the parents for this commit. This + * array may be NULL if `parent_count` is 0 (root commit). All the + * given commits must be owned by the `repo`. + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create( + 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, + const git_commit *parents[]); + +/** + * Create new commit in the repository using a variable argument list. + * + * The message will **not** be cleaned up automatically. You can do that + * with the `git_message_prettify()` function. + * + * 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 + * + * All other parameters remain the same as `git_commit_create()`. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create_v( + 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, + ...); + +typedef struct { + unsigned int version; + + /** + * Flags for creating the commit. + * + * If `allow_empty_commit` is specified, a commit with no changes + * from the prior commit (and "empty" commit) is allowed. Otherwise, + * commit creation will be stopped. + */ + unsigned int allow_empty_commit : 1; + + /** The commit author, or NULL for the default. */ + const git_signature *author; + + /** The committer, or NULL for the default. */ + const git_signature *committer; + + /** Encoding for the commit message; leave NULL for default. */ + const char *message_encoding; +} git_commit_create_options; + +/** Current version for the `git_commit_create_options` structure */ +#define GIT_COMMIT_CREATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_commit_create_options` */ +#define GIT_COMMIT_CREATE_OPTIONS_INIT { GIT_COMMIT_CREATE_OPTIONS_VERSION } + +/** + * Commits the staged changes in the repository; this is a near analog to + * `git commit -m message`. + * + * By default, empty commits are not allowed. + * + * @param id pointer to store the new commit's object id + * @param repo repository to commit changes in + * @param message the commit message + * @param opts options for creating the commit + * @return 0 on success, GIT_EUNCHANGED if there were no changes to commit, or an error code + */ +GIT_EXTERN(int) git_commit_create_from_stage( + git_oid *id, + git_repository *repo, + const char *message, + const git_commit_create_options *opts); + +/** + * Amend an existing commit by replacing only non-NULL values. + * + * 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. + * + * 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. + * + * 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`. + * + * All parameters have the same meanings as in `git_commit_create()`. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param commit_to_amend The commit to amend + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_amend( + 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); + +/** + * Create a commit and write it into a buffer + * + * Create a commit as with `git_commit_create()` but instead of + * writing it to the objectdb, write the contents of the object into a + * buffer. + * + * @param out the buffer into which to write the commit object content + * + * @param repo Repository where the referenced tree and parents live + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @param parents Array of `parent_count` pointers to `git_commit` + * objects that will be used as the parents for this commit. This + * array may be NULL if `parent_count` is 0 (root commit). All the + * given commits must be owned by the `repo`. + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_create_buffer( + git_buf *out, + git_repository *repo, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message, + const git_tree *tree, + size_t parent_count, + const git_commit *parents[]); + +/** + * Create a commit object from the given buffer and signature + * + * Given the unsigned commit object's contents, its signature and the + * header field in which to store the signature, attach the signature + * to the commit and write it into the given repository. + * + * @param out the resulting commit id + * @param repo the repository to create the commit in. + * @param commit_content the content of the unsigned commit object + * @param signature the signature to add to the commit. Leave `NULL` + * to create a commit without adding a signature field. + * @param signature_field which header field should contain this + * signature. Leave `NULL` for the default of "gpgsig" + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_create_with_signature( + git_oid *out, + git_repository *repo, + const char *commit_content, + const char *signature, + const char *signature_field); + +/** + * Create an in-memory copy of a commit. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the commit + * @param source Original commit to copy + * @return 0 + */ +GIT_EXTERN(int) git_commit_dup(git_commit **out, git_commit *source); + +/** + * Commit creation callback: used when a function is going to create + * commits (for example, in `git_rebase_commit`) to allow callers to + * override the commit creation behavior. For example, users may + * wish to sign commits by providing this information to + * `git_commit_create_buffer`, signing that buffer, then calling + * `git_commit_create_with_signature`. The resultant commit id + * should be set in the `out` object id parameter. + * + * @param out pointer that this callback will populate with the object + * id of the commit that is created + * @param author the author name and time of the commit + * @param committer the committer name and time of the commit + * @param message_encoding the encoding of the given message, or NULL + * to assume UTF8 + * @param message the commit message + * @param tree the tree to be committed + * @param parent_count the number of parents for this commit + * @param parents the commit parents + * @param payload the payload pointer in the rebase options + * @return 0 if this callback has created the commit and populated the out + * parameter, GIT_PASSTHROUGH if the callback has not created a + * commit and wants the calling function to create the commit as + * if no callback had been specified, any other value to stop + * and return a failure + */ +typedef int (*git_commit_create_cb)( + git_oid *out, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message, + const git_tree *tree, + size_t parent_count, + const git_commit *parents[], + void *payload); + +/** An array of commits returned from the library */ +typedef struct git_commitarray { + git_commit *const *commits; + size_t count; +} git_commitarray; + +/** + * Free the commits contained in a commit array. This method should + * be called on `git_commitarray` objects that were provided by the + * library. Not doing so will result in a memory leak. + * + * This does not free the `git_commitarray` itself, since the library + * will never allocate that object directly itself. + * + * @param array The git_commitarray that contains commits to free + */ +GIT_EXTERN(void) git_commitarray_dispose(git_commitarray *array); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/common.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/common.h new file mode 100644 index 00000000..40a3903c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/common.h @@ -0,0 +1,574 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_common_h__ +#define INCLUDE_git_common_h__ + +#include +#include + +#ifdef __cplusplus + /** Start declarations in C mode for C++ compatibility */ +# define GIT_BEGIN_DECL extern "C" { + /** End declarations in C mode */ +# define GIT_END_DECL } +#else + /** Start declarations in C mode */ +# define GIT_BEGIN_DECL /* empty */ + /** End declarations in C mode */ +# define GIT_END_DECL /* empty */ +#endif + +#if defined(_MSC_VER) && _MSC_VER < 1800 +# include +#elif !defined(__CLANG_INTTYPES_H) +# include +#endif + +#ifdef DOCURIUM +/* + * This is so clang's doc parser acknowledges comments on functions + * with size_t parameters. + */ +typedef size_t size_t; +#endif + +/** Declare a public function exported for application use. */ +#if __GNUC__ >= 4 +# define GIT_EXTERN(type) extern \ + __attribute__((visibility("default"))) \ + type +#elif defined(_MSC_VER) +# define GIT_EXTERN(type) __declspec(dllexport) type __cdecl +#else +# define GIT_EXTERN(type) extern type +#endif + +/** Declare a callback function for application use. */ +#if defined(_MSC_VER) +# define GIT_CALLBACK(name) (__cdecl *name) +#else +# define GIT_CALLBACK(name) (*name) +#endif + +/** Declare a function as deprecated. */ +#if defined(__GNUC__) +# define GIT_DEPRECATED(func) \ + __attribute__((deprecated)) \ + __attribute__((used)) \ + func +#elif defined(_MSC_VER) +# define GIT_DEPRECATED(func) __declspec(deprecated) func +#else +# define GIT_DEPRECATED(func) func +#endif + +/** Declare a function's takes printf style arguments. */ +#ifdef __GNUC__ +# define GIT_FORMAT_PRINTF(a,b) __attribute__((format (printf, a, b))) +#else +# define GIT_FORMAT_PRINTF(a,b) /* empty */ +#endif + +#ifdef __amigaos4__ +#include +#endif + +/** + * @file git2/common.h + * @brief Base platform functionality + * @defgroup git_common Git common platform definitions + * @ingroup Git + * + * Common platform functionality including introspecting libgit2 + * itself - information like how it was built, and the current + * running version. + * @{ + */ + +GIT_BEGIN_DECL + +/** + * The separator used in path list strings (ie like in the PATH + * environment variable). A semi-colon ";" is used on Windows and + * AmigaOS, and a colon ":" for all other systems. + */ +#if (defined(_WIN32) && !defined(__CYGWIN__)) || defined(AMIGA) +# define GIT_PATH_LIST_SEPARATOR ';' +#else +# define GIT_PATH_LIST_SEPARATOR ':' +#endif + +/** + * The maximum length of a valid git path. + */ +#define GIT_PATH_MAX 4096 + +/** + * Return the version of the libgit2 library + * being currently used. + * + * @param major Store the major version number + * @param minor Store the minor version number + * @param rev Store the revision (patch) number + * @return 0 on success or an error code on failure + */ +GIT_EXTERN(int) git_libgit2_version(int *major, int *minor, int *rev); + +/** + * Return the prerelease state of the libgit2 library currently being + * used. For nightly builds during active development, this will be + * "alpha". Releases may have a "beta" or release candidate ("rc1", + * "rc2", etc) prerelease. For a final release, this function returns + * NULL. + * + * @return the name of the prerelease state or NULL + */ +GIT_EXTERN(const char *) git_libgit2_prerelease(void); + +/** + * Configurable features of libgit2; either optional settings (like + * threading), or features that can be enabled by one of a number of + * different backend "providers" (like HTTPS, which can be provided by + * OpenSSL, mbedTLS, or system libraries). + */ +typedef enum { + /** + * libgit2 is thread-aware and can be used from multiple threads + * (as described in the documentation). + */ + GIT_FEATURE_THREADS = (1 << 0), + + /** HTTPS remotes */ + GIT_FEATURE_HTTPS = (1 << 1), + + /** SSH remotes */ + GIT_FEATURE_SSH = (1 << 2), + + /** Sub-second resolution in index timestamps */ + GIT_FEATURE_NSEC = (1 << 3), + + /** HTTP parsing; always available */ + GIT_FEATURE_HTTP_PARSER = (1 << 4), + + /** Regular expression support; always available */ + GIT_FEATURE_REGEX = (1 << 5), + + /** Internationalization support for filename translation */ + GIT_FEATURE_I18N = (1 << 6), + + /** NTLM support over HTTPS */ + GIT_FEATURE_AUTH_NTLM = (1 << 7), + + /** Kerberos (SPNEGO) authentication support over HTTPS */ + GIT_FEATURE_AUTH_NEGOTIATE = (1 << 8), + + /** zlib support; always available */ + GIT_FEATURE_COMPRESSION = (1 << 9), + + /** SHA1 object support; always available */ + GIT_FEATURE_SHA1 = (1 << 10), + + /** SHA256 object support */ + GIT_FEATURE_SHA256 = (1 << 11) +} git_feature_t; + +/** + * Query compile time options for libgit2. + * + * @return A combination of GIT_FEATURE_* values. + */ +GIT_EXTERN(int) git_libgit2_features(void); + +/** + * Query the backend details for the compile-time feature in libgit2. + * + * 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. + * + * 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. + * + * If the feature is not supported by the library, this API returns + * `NULL`. + * + * @param feature the feature to query details for + * @return the provider details, or NULL if the feature is not supported + */ +GIT_EXTERN(const char *) git_libgit2_feature_backend( + git_feature_t feature); + +/** + * Global library options + * + * These are used to select which global option to set or get and are + * used in `git_libgit2_opts()`. + */ +typedef enum { + GIT_OPT_GET_MWINDOW_SIZE, + GIT_OPT_SET_MWINDOW_SIZE, + GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, + GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, + GIT_OPT_GET_SEARCH_PATH, + GIT_OPT_SET_SEARCH_PATH, + GIT_OPT_SET_CACHE_OBJECT_LIMIT, + GIT_OPT_SET_CACHE_MAX_SIZE, + GIT_OPT_ENABLE_CACHING, + GIT_OPT_GET_CACHED_MEMORY, + GIT_OPT_GET_TEMPLATE_PATH, + GIT_OPT_SET_TEMPLATE_PATH, + GIT_OPT_SET_SSL_CERT_LOCATIONS, + GIT_OPT_SET_USER_AGENT, + GIT_OPT_ENABLE_STRICT_OBJECT_CREATION, + GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION, + GIT_OPT_SET_SSL_CIPHERS, + GIT_OPT_GET_USER_AGENT, + GIT_OPT_ENABLE_OFS_DELTA, + GIT_OPT_ENABLE_FSYNC_GITDIR, + GIT_OPT_GET_WINDOWS_SHAREMODE, + GIT_OPT_SET_WINDOWS_SHAREMODE, + GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, + GIT_OPT_SET_ALLOCATOR, + GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, + GIT_OPT_GET_PACK_MAX_OBJECTS, + GIT_OPT_SET_PACK_MAX_OBJECTS, + GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS, + GIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE, + GIT_OPT_GET_MWINDOW_FILE_LIMIT, + GIT_OPT_SET_MWINDOW_FILE_LIMIT, + GIT_OPT_SET_ODB_PACKED_PRIORITY, + GIT_OPT_SET_ODB_LOOSE_PRIORITY, + GIT_OPT_GET_EXTENSIONS, + GIT_OPT_SET_EXTENSIONS, + GIT_OPT_GET_OWNER_VALIDATION, + GIT_OPT_SET_OWNER_VALIDATION, + GIT_OPT_GET_HOMEDIR, + GIT_OPT_SET_HOMEDIR, + GIT_OPT_SET_SERVER_CONNECT_TIMEOUT, + GIT_OPT_GET_SERVER_CONNECT_TIMEOUT, + GIT_OPT_SET_SERVER_TIMEOUT, + GIT_OPT_GET_SERVER_TIMEOUT, + GIT_OPT_SET_USER_AGENT_PRODUCT, + GIT_OPT_GET_USER_AGENT_PRODUCT, + GIT_OPT_ADD_SSL_X509_CERT +} git_libgit2_opt_t; + +/** + * Set or query a library global option + * + * Available options: + * + * * opts(GIT_OPT_GET_MWINDOW_SIZE, size_t *): + * + * > Get the maximum mmap window size + * + * * opts(GIT_OPT_SET_MWINDOW_SIZE, size_t): + * + * > Set the maximum mmap window size + * + * * opts(GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, size_t *): + * + * > Get the maximum memory that will be mapped in total by the library + * + * * opts(GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, size_t): + * + * > Set the maximum amount of memory that can be mapped at any time + * > by the library + * + * * opts(GIT_OPT_GET_MWINDOW_FILE_LIMIT, size_t *): + * + * > Get the maximum number of files that will be mapped at any time by the + * > library + * + * * opts(GIT_OPT_SET_MWINDOW_FILE_LIMIT, size_t): + * + * > Set the maximum number of files that can be mapped at any time + * > by the library. The default (0) is unlimited. + * + * * opts(GIT_OPT_GET_SEARCH_PATH, int level, git_buf *buf) + * + * > 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. + * + * * opts(GIT_OPT_SET_SEARCH_PATH, int level, const char *path) + * + * > 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`. + * + * * opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_object_t type, size_t size) + * + * > 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. + * + * * opts(GIT_OPT_SET_CACHE_MAX_SIZE, ssize_t max_storage_bytes) + * + * > 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. + * + * * opts(GIT_OPT_ENABLE_CACHING, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_GET_CACHED_MEMORY, ssize_t *current, ssize_t *allowed) + * + * > Get the current bytes in cache and the maximum that would be + * > allowed in the cache. + * + * * opts(GIT_OPT_GET_TEMPLATE_PATH, git_buf *out) + * + * > Get the default template path. + * > The path is written to the `out` buffer. + * + * * opts(GIT_OPT_SET_TEMPLATE_PATH, const char *path) + * + * > Set the default template path. + * > + * > - `path` directory of template. + * + * * opts(GIT_OPT_SET_SSL_CERT_LOCATIONS, const char *file, const char *path) + * + * > 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. + * + * * opts(GIT_OPT_ADD_SSL_X509_CERT, const X509 *cert) + * + * > Add a raw X509 certificate into the SSL certs store. + * > This certificate is only used by libgit2 invocations + * > during the application lifetime and is not persisted + * > to disk. This certificate cannot be removed from the + * > application once is has been added. + * > + * > - `cert` is the raw X509 cert will be added to cert store. + * + * * opts(GIT_OPT_SET_USER_AGENT, const char *user_agent) + * + * > 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. + * + * * opts(GIT_OPT_GET_USER_AGENT, git_buf *out) + * + * > Get the value of the User-Agent header. + * > The User-Agent is written to the `out` buffer. + * + * * opts(GIT_OPT_SET_USER_AGENT_PRODUCT, const char *user_agent_product) + * + * > 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/ 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. + * + * * opts(GIT_OPT_GET_USER_AGENT_PRODUCT, git_buf *out) + * + * > Get the value of the User-Agent product header. + * > The User-Agent product is written to the `out` buffer. + * + * * opts(GIT_OPT_SET_WINDOWS_SHAREMODE, unsigned long value) + * + * > 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. + * + * * opts(GIT_OPT_GET_WINDOWS_SHAREMODE, unsigned long *value) + * + * > Get the share mode used when opening files on Windows. + * + * * opts(GIT_OPT_ENABLE_STRICT_OBJECT_CREATION, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_SET_SSL_CIPHERS, const char *ciphers) + * + * > Set the SSL ciphers use for HTTPS connections. + * > + * > - `ciphers` is the list of ciphers that are eanbled. + * + * * opts(GIT_OPT_ENABLE_OFS_DELTA, int enabled) + * + * > 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. + * + * * opts(GIT_OPT_ENABLE_FSYNC_GITDIR, int enabled) + * + * > 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. + * + * opts(GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, int enabled) + * + * > 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. + * + * opts(GIT_OPT_SET_ALLOCATOR, git_allocator *allocator) + * + * > 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. + * + * opts(GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, int enabled) + * + * > 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.) + * + * opts(GIT_OPT_GET_PACK_MAX_OBJECTS, size_t *out) + * + * > 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. + * + * opts(GIT_OPT_SET_PACK_MAX_OBJECTS, size_t objects) + * + * > Set the maximum number of objects libgit2 will allow in a pack + * > file when downloading a pack file from a remote. + * + * 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. + * + * 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. + * + * 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 + * + * 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 + * + * 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`. + * + * 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. + * + * opts(GIT_OPT_GET_OWNER_VALIDATION, int *enabled) + * > Gets the owner validation setting for repository + * > directories. + * + * 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. + * + * 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. + * + * 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. + * + * opts(GIT_OPT_GET_SERVER_CONNECT_TIMEOUT, int *timeout) + * > Gets the timeout (in milliseconds) to attempt connections to + * > a remote server. + * + * 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. + * + * opts(GIT_OPT_GET_SERVER_TIMEOUT, int *timeout) + * > Gets the timeout (in milliseconds) for reading from and writing + * > to a remote server. + * + * 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. + * + * @param option Option key + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_libgit2_opts(int option, ...); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/config.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/config.h new file mode 100644 index 00000000..f9c26675 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/config.h @@ -0,0 +1,852 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_config_h__ +#define INCLUDE_git_config_h__ + +#include "common.h" +#include "types.h" +#include "buffer.h" + +/** + * @file git2/config.h + * @brief Per-repository, per-user or per-system configuration + * @defgroup git_config Git config management routines + * @ingroup Git + * + * Git configuration affects the operation of the version control + * system, and can be specified on a per-repository basis, in user + * settings, or at the system level. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Priority level of a config file. + * + * These priority levels correspond to the natural escalation logic + * (from higher to lower) when reading or searching for config entries + * in git.git. Meaning that for the same key, the configuration in + * the local configuration is preferred over the configuration in + * the system configuration file. + * + * Callers can add their own custom configuration, beginning at the + * `GIT_CONFIG_LEVEL_APP` level. + * + * Writes, by default, occur in the highest priority level backend + * that is writable. This ordering can be overridden with + * `git_config_set_writeorder`. + * + * git_config_open_default() and git_repository_config() honor those + * priority levels as well. + * + * @see git_config_open_default + * @see git_repository_config + */ +typedef enum { + /** + * System-wide on Windows, for compatibility with "Portable Git". + */ + GIT_CONFIG_LEVEL_PROGRAMDATA = 1, + + /** + * System-wide configuration file; `/etc/gitconfig` on Linux. + */ + GIT_CONFIG_LEVEL_SYSTEM = 2, + + /** + * XDG compatible configuration file; typically + * `~/.config/git/config`. + */ + GIT_CONFIG_LEVEL_XDG = 3, + + /** + * Global configuration file is the user-specific configuration; + * typically `~/.gitconfig`. + */ + GIT_CONFIG_LEVEL_GLOBAL = 4, + + /** + * Local configuration, the repository-specific configuration file; + * typically `$GIT_DIR/config`. + */ + GIT_CONFIG_LEVEL_LOCAL = 5, + + /** + * Worktree-specific configuration; typically + * `$GIT_DIR/config.worktree`. + */ + GIT_CONFIG_LEVEL_WORKTREE = 6, + + /** + * Application-specific configuration file. Callers into libgit2 + * can add their own configuration beginning at this level. + */ + GIT_CONFIG_LEVEL_APP = 7, + + /** + * Not a configuration level; callers can use this value when + * querying configuration levels to specify that they want to + * have data from the highest-level currently configuration. + * This can be used to indicate that callers want the most + * specific config file available that actually is loaded. + */ + GIT_CONFIG_HIGHEST_LEVEL = -1 +} git_config_level_t; + +/** + * An entry in a configuration file + */ +typedef struct git_config_entry { + /** Name of the configuration entry (normalized). */ + const char *name; + + /** Literal (string) value of the entry. */ + const char *value; + + /** The type of backend that this entry exists in (eg, "file"). */ + const char *backend_type; + + /** + * The path to the origin of this entry. For config files, this is + * the path to the file. + */ + const char *origin_path; + + /** Depth of includes where this variable was found. */ + unsigned int include_depth; + + /** Configuration level for the file this was found in. */ + git_config_level_t level; +} git_config_entry; + +/** + * Free a config entry. + * + * @param entry The entry to free. + */ +GIT_EXTERN(void) git_config_entry_free(git_config_entry *entry); + +/** + * A config enumeration callback. + * + * @param entry the entry currently being enumerated + * @param payload a user-specified pointer + * @return non-zero to terminate the iteration. + */ +typedef int GIT_CALLBACK(git_config_foreach_cb)(const git_config_entry *entry, void *payload); + +/** + * An opaque structure for a configuration iterator. + */ +typedef struct git_config_iterator git_config_iterator; + +/** + * Config var type + */ +typedef enum { + GIT_CONFIGMAP_FALSE = 0, + GIT_CONFIGMAP_TRUE = 1, + GIT_CONFIGMAP_INT32, + GIT_CONFIGMAP_STRING +} git_configmap_t; + +/** + * Mapping from config variables to values. + */ +typedef struct { + git_configmap_t type; + const char *str_match; + int map_value; +} git_configmap; + +/** + * Locate the path to the global configuration file + * + * The user or global configuration file is usually + * located in `$HOME/.gitconfig`. + * + * This method will try to guess the full path to that + * file, if the file exists. The returned path + * may be used on any `git_config` call to load the + * global configuration file. + * + * This method will not guess the path to the xdg compatible + * config file (`.config/git/config`). + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a global configuration file has been found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_global(git_buf *out); + +/** + * Locate the path to the global xdg compatible configuration file + * + * The xdg compatible configuration file is usually + * located in `$HOME/.config/git/config`. + * + * This method will try to guess the full path to that + * file, if the file exists. The returned path + * may be used on any `git_config` call to load the + * xdg compatible configuration file. + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a xdg compatible configuration file has been + * found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_xdg(git_buf *out); + +/** + * Locate the path to the system configuration file + * + * If `/etc/gitconfig` doesn't exist, it will look for + * `%PROGRAMFILES%\Git\etc\gitconfig`. + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a system configuration file has been + * found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_system(git_buf *out); + +/** + * Locate the path to the configuration file in ProgramData + * + * Look for the file in `%PROGRAMDATA%\Git\config` used by portable git. + * + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a ProgramData configuration file has been + * found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) git_config_find_programdata(git_buf *out); + +/** + * Open the global, XDG and system configuration files + * + * Utility wrapper that finds the global, XDG and system configuration files + * and opens them into a single prioritized config object that can be + * used when accessing default config data outside a repository. + * + * @param out Pointer to store the config instance + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_open_default(git_config **out); + +/** + * Allocate a new configuration object + * + * This object is empty, so you have to add a file to it before you + * can do anything with it. + * + * @param out pointer to the new configuration + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_new(git_config **out); + +/** + * Add an on-disk config file instance to an existing config + * + * The on-disk file pointed at by `path` will be opened and + * parsed; it's expected to be a native Git config file following + * the default Git config syntax (see man git-config). + * + * If the file does not exist, the file will still be added and it + * will be created the first time we write to it. + * + * Note that the configuration object will free the file + * automatically. + * + * Further queries on this config object will access each + * of the config file instances in order (instances with + * a higher priority level will be accessed first). + * + * @param cfg the configuration to add the file to + * @param path path to the configuration file to add + * @param level the priority level of the backend + * @param repo optional repository to allow parsing of + * conditional includes + * @param force replace config file at the given priority level + * @return 0 on success, GIT_EEXISTS when adding more than one file + * for a given priority level (and force_replace set to 0), + * GIT_ENOTFOUND when the file doesn't exist or error code + */ +GIT_EXTERN(int) git_config_add_file_ondisk( + git_config *cfg, + const char *path, + git_config_level_t level, + const git_repository *repo, + int force); + +/** + * Create a new config instance containing a single on-disk file + * + * This method is a simple utility wrapper for the following sequence + * of calls: + * - git_config_new + * - git_config_add_file_ondisk + * + * @param out The configuration instance to create + * @param path Path to the on-disk file to open + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_config_open_ondisk(git_config **out, const char *path); + +/** + * Build a single-level focused config object from a multi-level one. + * + * The returned config object can be used to perform get/set/delete operations + * on a single specific level. + * + * Getting several times the same level from the same parent multi-level config + * will return different config instances, but containing the same config_file + * instance. + * + * @param out The configuration instance to create + * @param parent Multi-level config to search for the given level + * @param level Configuration level to search for + * @return 0, GIT_ENOTFOUND if the passed level cannot be found in the + * multi-level parent config, or an error code + */ +GIT_EXTERN(int) git_config_open_level( + git_config **out, + const git_config *parent, + git_config_level_t level); + +/** + * Open the global/XDG configuration file according to git's rules + * + * 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. + * + * @param out pointer in which to store the config object + * @param config the config object in which to look + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_open_global(git_config **out, git_config *config); + +/** + * Set the write order for configuration backends. By default, the + * write ordering does not match the read ordering; for example, the + * worktree configuration is a high-priority for reading, but is not + * written to unless explicitly chosen. + * + * @param cfg the configuration to change write order of + * @param levels the ordering of levels for writing + * @param len the length of the levels array + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_writeorder( + git_config *cfg, + git_config_level_t *levels, + size_t len); + +/** + * Create a snapshot of the configuration + * + * Create a snapshot of the current state of a configuration, which + * allows you to look into a consistent view of the configuration for + * looking up complex values (e.g. a remote, submodule). + * + * The string returned when querying such a config object is valid + * until it is freed. + * + * @param out pointer in which to store the snapshot config object + * @param config configuration to snapshot + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_snapshot(git_config **out, git_config *config); + +/** + * Free the configuration and its associated memory and files + * + * @param cfg the configuration to free + */ +GIT_EXTERN(void) git_config_free(git_config *cfg); + +/** + * Get the git_config_entry of a config variable. + * + * Free the git_config_entry after use with `git_config_entry_free()`. + * + * @param out pointer to the variable git_config_entry + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_entry( + git_config_entry **out, + const git_config *cfg, + const char *name); + +/** + * Get the value of an integer config variable. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_int32(int32_t *out, const git_config *cfg, const char *name); + +/** + * Get the value of a long integer config variable. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_int64(int64_t *out, const git_config *cfg, const char *name); + +/** + * Get the value of a boolean config variable. + * + * This function uses the usual C convention of 0 being false and + * anything else true. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the variable where the value should be stored + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_bool(int *out, const git_config *cfg, const char *name); + +/** + * Get the value of a path config variable. + * + * A leading '~' will be expanded to the global search path (which + * defaults to the user's home directory but can be overridden via + * `git_libgit2_opts()`. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out the buffer in which to store the result + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_path(git_buf *out, const git_config *cfg, const char *name); + +/** + * Get the value of a string config variable. + * + * This function can only be used on snapshot config objects. The + * string is owned by the config and should not be freed by the + * user. The pointer will be valid until the config is freed. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out pointer to the string + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_string(const char **out, const git_config *cfg, const char *name); + +/** + * Get the value of a string config variable. + * + * The value of the config will be copied into the buffer. + * + * All config files will be looked into, in the order of their + * defined level. A higher level means a higher priority. The + * first occurrence of the variable will be returned here. + * + * @param out buffer in which to store the string + * @param cfg where to look for the variable + * @param name the variable's name + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_get_string_buf(git_buf *out, const git_config *cfg, const char *name); + +/** + * Get each value of a multivar in a foreach callback + * + * The callback will be called on each variable found + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp regular expression to filter which variables we're + * interested in. Use NULL to indicate all + * @param callback the function to be called on each value of the variable + * @param payload opaque pointer to pass to the callback + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_get_multivar_foreach(const git_config *cfg, const char *name, const char *regexp, git_config_foreach_cb callback, void *payload); + +/** + * Get each value of a multivar + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param out pointer to store the iterator + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp regular expression to filter which variables we're + * interested in. Use NULL to indicate all + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_multivar_iterator_new(git_config_iterator **out, const git_config *cfg, const char *name, const char *regexp); + +/** + * Return the current entry and advance the iterator + * + * The pointers returned by this function are valid until the next call + * to `git_config_next` or until the iterator is freed. + * + * @param entry pointer to store the entry + * @param iter the iterator + * @return 0 or an error code. GIT_ITEROVER if the iteration has completed + */ +GIT_EXTERN(int) git_config_next(git_config_entry **entry, git_config_iterator *iter); + +/** + * Free a config iterator + * + * @param iter the iterator to free + */ +GIT_EXTERN(void) git_config_iterator_free(git_config_iterator *iter); + +/** + * Set the value of an integer config variable in the config file + * with the highest level (usually the local one). + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value Integer value for the variable + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_int32(git_config *cfg, const char *name, int32_t value); + +/** + * Set the value of a long integer config variable in the config file + * with the highest level (usually the local one). + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value Long integer value for the variable + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_int64(git_config *cfg, const char *name, int64_t value); + +/** + * Set the value of a boolean config variable in the config file + * with the highest level (usually the local one). + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value the value to store + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_bool(git_config *cfg, const char *name, int value); + +/** + * Set the value of a string config variable in the config file + * with the highest level (usually the local one). + * + * A copy of the string is made and the user is free to use it + * afterwards. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param value the string to store. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_set_string(git_config *cfg, const char *name, const char *value); + +/** + * Set a multivar in the local config file. + * + * The regular expression is applied case-sensitively on the value. + * + * @param cfg where to look for the variable + * @param name the variable's name + * @param regexp a regular expression to indicate which values to replace + * @param value the new value. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_set_multivar(git_config *cfg, const char *name, const char *regexp, const char *value); + +/** + * Delete a config variable from the config file + * with the highest level (usually the local one). + * + * @param cfg the configuration + * @param name the variable to delete + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_delete_entry(git_config *cfg, const char *name); + +/** + * Deletes one or several entries from a multivar in the local config file. + * + * The regular expression is applied case-sensitively on the value. + * + * @param cfg where to look for the variables + * @param name the variable's name + * @param regexp a regular expression to indicate which values to delete + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_delete_multivar(git_config *cfg, const char *name, const char *regexp); + +/** + * Perform an operation on each config variable. + * + * The callback receives the normalized name and value of each variable + * in the config backend, and the data pointer passed to this function. + * If the callback returns a non-zero value, the function stops iterating + * and returns that value to the caller. + * + * The pointers passed to the callback are only valid as long as the + * iteration is ongoing. + * + * @param cfg where to get the variables from + * @param callback the function to call on each variable + * @param payload the data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_config_foreach( + const git_config *cfg, + git_config_foreach_cb callback, + void *payload); + +/** + * Iterate over all the config variables + * + * Use `git_config_next` to advance the iteration and + * `git_config_iterator_free` when done. + * + * @param out pointer to store the iterator + * @param cfg where to get the variables from + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_iterator_new(git_config_iterator **out, const git_config *cfg); + +/** + * Iterate over all the config variables whose name matches a pattern + * + * Use `git_config_next` to advance the iteration and + * `git_config_iterator_free` when done. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param out pointer to store the iterator + * @param cfg where to ge the variables from + * @param regexp regular expression to match the names + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_iterator_glob_new(git_config_iterator **out, const git_config *cfg, const char *regexp); + +/** + * Perform an operation on each config variable matching a regular expression. + * + * This behaves like `git_config_foreach` with an additional filter of a + * regular expression that filters which config keys are passed to the + * callback. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the case-insensitive parts are lower-case. + * + * @param cfg where to get the variables from + * @param regexp regular expression to match against config names + * @param callback the function to call on each variable + * @param payload the data to pass to the callback + * @return 0 or the return value of the callback which didn't return 0 + */ +GIT_EXTERN(int) git_config_foreach_match( + const git_config *cfg, + const char *regexp, + git_config_foreach_cb callback, + void *payload); + +/** + * Query the value of a config variable and return it mapped to + * an integer constant. + * + * This is a helper method to easily map different possible values + * to a variable to integer constants that easily identify them. + * + * A mapping array looks as follows: + * + * git_configmap autocrlf_mapping[] = { + * {GIT_CVAR_FALSE, NULL, GIT_AUTO_CRLF_FALSE}, + * {GIT_CVAR_TRUE, NULL, GIT_AUTO_CRLF_TRUE}, + * {GIT_CVAR_STRING, "input", GIT_AUTO_CRLF_INPUT}, + * {GIT_CVAR_STRING, "default", GIT_AUTO_CRLF_DEFAULT}}; + * + * On any "false" value for the variable (e.g. "false", "FALSE", "no"), the + * mapping will store `GIT_AUTO_CRLF_FALSE` in the `out` parameter. + * + * The same thing applies for any "true" value such as "true", "yes" or "1", storing + * the `GIT_AUTO_CRLF_TRUE` variable. + * + * Otherwise, if the value matches the string "input" (with case insensitive comparison), + * the given constant will be stored in `out`, and likewise for "default". + * + * If not a single match can be made to store in `out`, an error code will be + * returned. + * + * @param out place to store the result of the mapping + * @param cfg config file to get the variables from + * @param name name of the config variable to lookup + * @param maps array of `git_configmap` objects specifying the possible mappings + * @param map_n number of mapping objects in `maps` + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_config_get_mapped( + int *out, + const git_config *cfg, + const char *name, + const git_configmap *maps, + size_t map_n); + +/** + * Maps a string value to an integer constant + * + * @param out place to store the result of the parsing + * @param maps array of `git_configmap` objects specifying the possible mappings + * @param map_n number of mapping objects in `maps` + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_lookup_map_value( + int *out, + const git_configmap *maps, + size_t map_n, + const char *value); + +/** + * Parse a string value as a bool. + * + * Valid values for true are: 'true', 'yes', 'on', 1 or any + * number different from 0 + * Valid values for false are: 'false', 'no', 'off', 0 + * + * @param out place to store the result of the parsing + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_bool(int *out, const char *value); + +/** + * Parse a string value as an int32. + * + * An optional value suffix of 'k', 'm', or 'g' will + * cause the value to be multiplied by 1024, 1048576, + * or 1073741824 prior to output. + * + * @param out place to store the result of the parsing + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_int32(int32_t *out, const char *value); + +/** + * Parse a string value as an int64. + * + * An optional value suffix of 'k', 'm', or 'g' will + * cause the value to be multiplied by 1024, 1048576, + * or 1073741824 prior to output. + * + * @param out place to store the result of the parsing + * @param value value to parse + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value); + +/** + * Parse a string value as a path. + * + * A leading '~' will be expanded to the global search path (which + * defaults to the user's home directory but can be overridden via + * `git_libgit2_opts()`. + * + * If the value does not begin with a tilde, the input will be + * returned. + * + * @param out placae to store the result of parsing + * @param value the path to evaluate + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_parse_path(git_buf *out, const char *value); + +/** + * Perform an operation on each config variable in a given config backend, + * matching a regular expression. + * + * This behaves like `git_config_foreach_match` except that only config + * entries from the given backend entry are enumerated. + * + * The regular expression is applied case-sensitively on the normalized form of + * the variable name: the section and variable parts are lower-cased. The + * subsection is left unchanged. + * + * @param backend where to get the variables from + * @param regexp regular expression to match against config names (can be NULL) + * @param callback the function to call on each variable + * @param payload the data to pass to the callback + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_config_backend_foreach_match( + git_config_backend *backend, + const char *regexp, + git_config_foreach_cb callback, + void *payload); + + +/** + * Lock the backend with the highest priority + * + * Locking disallows anybody else from writing to that backend. Any + * updates made after locking will not be visible to a reader until + * the file is unlocked. + * + * You can apply the changes by calling `git_transaction_commit()` + * before freeing the transaction. Either of these actions will unlock + * the config. + * + * @param tx the resulting transaction, use this to commit or undo the + * changes + * @param cfg the configuration in which to lock + * @return 0 or an error code + */ +GIT_EXTERN(int) git_config_lock(git_transaction **tx, git_config *cfg); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cred_helpers.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cred_helpers.h new file mode 100644 index 00000000..3721b6d8 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/cred_helpers.h @@ -0,0 +1,15 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_cred_helpers_h__ +#define INCLUDE_git_cred_helpers_h__ + +/* These declarations have moved. */ +#ifndef GIT_DEPRECATE_HARD +# include "git2/credential_helpers.h" +#endif + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/credential.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/credential.h new file mode 100644 index 00000000..33755ca9 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/credential.h @@ -0,0 +1,343 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_credential_h__ +#define INCLUDE_git_credential_h__ + +#include "common.h" + +/** + * @file git2/credential.h + * @brief Authentication and credential management + * @defgroup git_credential Authentication & credential management + * @ingroup Git + * + * Credentials specify how to authenticate to a remote system + * over HTTPS or SSH. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Supported credential types + * + * This represents the various types of authentication methods supported by + * the library. + */ +typedef enum { + /** + * A vanilla user/password request + * @see git_credential_userpass_plaintext_new + */ + GIT_CREDENTIAL_USERPASS_PLAINTEXT = (1u << 0), + + /** + * An SSH key-based authentication request + * @see git_credential_ssh_key_new + */ + GIT_CREDENTIAL_SSH_KEY = (1u << 1), + + /** + * An SSH key-based authentication request, with a custom signature + * @see git_credential_ssh_custom_new + */ + GIT_CREDENTIAL_SSH_CUSTOM = (1u << 2), + + /** + * An NTLM/Negotiate-based authentication request. + * @see git_credential_default + */ + GIT_CREDENTIAL_DEFAULT = (1u << 3), + + /** + * An SSH interactive authentication request + * @see git_credential_ssh_interactive_new + */ + GIT_CREDENTIAL_SSH_INTERACTIVE = (1u << 4), + + /** + * Username-only authentication request + * + * Used as a pre-authentication step if the underlying transport + * (eg. SSH, with no username in its URL) does not know which username + * to use. + * + * @see git_credential_username_new + */ + GIT_CREDENTIAL_USERNAME = (1u << 5), + + /** + * An SSH key-based authentication request + * + * Allows credentials to be read from memory instead of files. + * Note that because of differences in crypto backend support, it might + * not be functional. + * + * @see git_credential_ssh_key_memory_new + */ + GIT_CREDENTIAL_SSH_MEMORY = (1u << 6) +} git_credential_t; + +/** + * The base structure for all credential types + */ +typedef struct git_credential git_credential; + +typedef struct git_credential_userpass_plaintext git_credential_userpass_plaintext; + +/** Username-only credential information */ +typedef struct git_credential_username git_credential_username; + +/** A key for NTLM/Kerberos "default" credentials */ +typedef struct git_credential git_credential_default; + +/** + * A ssh key from disk + */ +typedef struct git_credential_ssh_key git_credential_ssh_key; + +/** + * Keyboard-interactive based ssh authentication + */ +typedef struct git_credential_ssh_interactive git_credential_ssh_interactive; + +/** + * A key with a custom signature function + */ +typedef struct git_credential_ssh_custom git_credential_ssh_custom; + +/** + * Credential acquisition callback. + * + * 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). + * + * 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. + * + * @param[out] out The newly created credential object. + * @param url The resource for which we are demanding a credential. + * @param username_from_url The username that was embedded in a "user\@host" + * remote url, or NULL if not included. + * @param allowed_types A bitmask stating which credential types are OK to return. + * @param payload The payload provided when specifying this callback. + * @return 0 for success, < 0 to indicate an error, > 0 to indicate + * no credential was acquired + */ +typedef int GIT_CALLBACK(git_credential_acquire_cb)( + git_credential **out, + const char *url, + const char *username_from_url, + unsigned int allowed_types, + void *payload); + +/** + * Free a credential. + * + * This is only necessary if you own the object; that is, if you are a + * transport. + * + * @param cred the object to free + */ +GIT_EXTERN(void) git_credential_free(git_credential *cred); + +/** + * Check whether a credential object contains username information. + * + * @param cred object to check + * @return 1 if the credential object has non-NULL username, 0 otherwise + */ +GIT_EXTERN(int) git_credential_has_username(git_credential *cred); + +/** + * Return the username associated with a credential object. + * + * @param cred object to check + * @return the credential username, or NULL if not applicable + */ +GIT_EXTERN(const char *) git_credential_get_username(git_credential *cred); + +/** + * Create a new plain-text username and password credential object. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username The username of the credential. + * @param password The password of the credential. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_userpass_plaintext_new( + git_credential **out, + const char *username, + const char *password); + +/** + * Create a "default" credential usable for Negotiate mechanisms like NTLM + * or Kerberos authentication. + * + * @param out The newly created credential object. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_default_new(git_credential **out); + +/** + * Create a credential to specify a username. + * + * This is used with ssh authentication to query for the username if + * none is specified in the url. + * + * @param out The newly created credential object. + * @param username The username to authenticate with + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_username_new(git_credential **out, const char *username); + +/** + * Create a new passphrase-protected ssh key credential object. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username username to use to authenticate + * @param publickey The path to the public key of the credential. + * @param privatekey The path to the private key of the credential. + * @param passphrase The passphrase of the credential. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_key_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); + +/** + * Create a new ssh key credential object reading the keys from memory. + * + * @param out The newly created credential object. + * @param username username to use to authenticate. + * @param publickey The public key of the credential. + * @param privatekey The private key of the credential. + * @param passphrase The passphrase of the credential. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_key_memory_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); + +/* + * If the user hasn't included libssh2.h before git2.h, we need to + * define a few types for the callback signatures. + */ +#ifndef LIBSSH2_VERSION +typedef struct _LIBSSH2_SESSION LIBSSH2_SESSION; +typedef struct _LIBSSH2_USERAUTH_KBDINT_PROMPT LIBSSH2_USERAUTH_KBDINT_PROMPT; +typedef struct _LIBSSH2_USERAUTH_KBDINT_RESPONSE LIBSSH2_USERAUTH_KBDINT_RESPONSE; +#endif + +/** + * Callback for interactive SSH credentials. + * + * @param name the name + * @param name_len the length of the name + * @param instruction the authentication instruction + * @param instruction_len the length of the instruction + * @param num_prompts the number of prompts + * @param prompts the prompts + * @param responses the responses + * @param abstract the abstract + */ +typedef void GIT_CALLBACK(git_credential_ssh_interactive_cb)( + 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); + + +/** + * Create a new ssh keyboard-interactive based credential object. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username Username to use to authenticate. + * @param prompt_callback The callback method used for prompts. + * @param payload Additional data to pass to the callback. + * @return 0 for success or an error code for failure. + */ +GIT_EXTERN(int) git_credential_ssh_interactive_new( + git_credential **out, + const char *username, + git_credential_ssh_interactive_cb prompt_callback, + void *payload); + +/** + * Create a new ssh key credential object used for querying an ssh-agent. + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username username to use to authenticate + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_key_from_agent( + git_credential **out, + const char *username); + +/** + * Callback for credential signing. + * + * @param session the libssh2 session + * @param sig the signature + * @param sig_len the length of the signature + * @param data the data + * @param data_len the length of the data + * @param abstract the abstract + * @return 0 for success, < 0 to indicate an error, > 0 to indicate + * no credential was acquired + */ +typedef int GIT_CALLBACK(git_credential_sign_cb)( + LIBSSH2_SESSION *session, + unsigned char **sig, size_t *sig_len, + const unsigned char *data, size_t data_len, + void **abstract); + +/** + * Create an ssh key credential with a custom signing function. + * + * This lets you use your own function to sign the challenge. + * + * This function and its credential type is provided for completeness + * and wraps `libssh2_userauth_publickey()`, which is undocumented. + * + * The supplied credential parameter will be internally duplicated. + * + * @param out The newly created credential object. + * @param username username to use to authenticate + * @param publickey The bytes of the public key. + * @param publickey_len The length of the public key in bytes. + * @param sign_callback The callback method to sign the data during the challenge. + * @param payload Additional data to pass to the callback. + * @return 0 for success or an error code for failure + */ +GIT_EXTERN(int) git_credential_ssh_custom_new( + git_credential **out, + const char *username, + const char *publickey, + size_t publickey_len, + git_credential_sign_cb sign_callback, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/credential_helpers.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/credential_helpers.h new file mode 100644 index 00000000..706558d5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/credential_helpers.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_credential_helpers_h__ +#define INCLUDE_git_credential_helpers_h__ + +#include "transport.h" + +/** + * @file git2/credential_helpers.h + * @brief Utility functions for credential management + * @defgroup git_credential_helpers credential management helpers + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Payload for git_credential_userpass_plaintext. + */ +typedef struct git_credential_userpass_payload { + const char *username; + const char *password; +} git_credential_userpass_payload; + + +/** + * Stock callback usable as a git_credential_acquire_cb. This calls + * git_cred_userpass_plaintext_new unless the protocol has not specified + * `GIT_CREDENTIAL_USERPASS_PLAINTEXT` as an allowed type. + * + * @param out The newly created credential object. + * @param url The resource for which we are demanding a credential. + * @param user_from_url The username that was embedded in a "user\@host" + * remote url, or NULL if not included. + * @param allowed_types A bitmask stating which credential types are OK to return. + * @param payload The payload provided when specifying this callback. (This is + * interpreted as a `git_credential_userpass_payload*`.) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_credential_userpass( + git_credential **out, + const char *url, + const char *user_from_url, + unsigned int allowed_types, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/deprecated.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/deprecated.h new file mode 100644 index 00000000..b8b0238d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/deprecated.h @@ -0,0 +1,1069 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_deprecated_h__ +#define INCLUDE_git_deprecated_h__ + +#include "attr.h" +#include "config.h" +#include "common.h" +#include "blame.h" +#include "buffer.h" +#include "checkout.h" +#include "cherrypick.h" +#include "clone.h" +#include "describe.h" +#include "diff.h" +#include "errors.h" +#include "filter.h" +#include "index.h" +#include "indexer.h" +#include "merge.h" +#include "object.h" +#include "proxy.h" +#include "refs.h" +#include "rebase.h" +#include "remote.h" +#include "trace.h" +#include "repository.h" +#include "revert.h" +#include "revparse.h" +#include "stash.h" +#include "status.h" +#include "submodule.h" +#include "worktree.h" +#include "credential.h" +#include "credential_helpers.h" + +/* + * Users can avoid deprecated functions by defining `GIT_DEPRECATE_HARD`. + */ +#ifndef GIT_DEPRECATE_HARD + +/* + * The credential structures are now opaque by default, and their + * definition has moved into the `sys/credential.h` header; include + * them here for backward compatibility. + */ +#include "sys/credential.h" + +/** + * @file git2/deprecated.h + * @brief Deprecated functions and values + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** @name Deprecated Attribute Constants + * + * These enumeration values are retained for backward compatibility. + * The newer versions of these functions should be preferred in all + * new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecated use GIT_ATTR_VALUE_UNSPECIFIED */ +#define GIT_ATTR_UNSPECIFIED_T GIT_ATTR_VALUE_UNSPECIFIED +/** @deprecated use GIT_ATTR_VALUE_TRUE */ +#define GIT_ATTR_TRUE_T GIT_ATTR_VALUE_TRUE +/** @deprecated use GIT_ATTR_VALUE_FALSE */ +#define GIT_ATTR_FALSE_T GIT_ATTR_VALUE_FALSE +/** @deprecated use GIT_ATTR_VALUE_STRING */ +#define GIT_ATTR_VALUE_T GIT_ATTR_VALUE_STRING + +/** @deprecated use GIT_ATTR_IS_TRUE */ +#define GIT_ATTR_TRUE(attr) GIT_ATTR_IS_TRUE(attr) +/** @deprecated use GIT_ATTR_IS_FALSE */ +#define GIT_ATTR_FALSE(attr) GIT_ATTR_IS_FALSE(attr) +/** @deprecated use GIT_ATTR_IS_UNSPECIFIED */ +#define GIT_ATTR_UNSPECIFIED(attr) GIT_ATTR_IS_UNSPECIFIED(attr) + +/** @deprecated use git_attr_value_t */ +typedef git_attr_value_t git_attr_t; + +/**@}*/ + +/** @name Deprecated Blob Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions and values + * should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecated use GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD */ +#define GIT_BLOB_FILTER_ATTTRIBUTES_FROM_HEAD GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD + +GIT_EXTERN(int) git_blob_create_fromworkdir(git_oid *id, git_repository *repo, const char *relative_path); +GIT_EXTERN(int) git_blob_create_fromdisk(git_oid *id, git_repository *repo, const char *path); +GIT_EXTERN(int) git_blob_create_fromstream( + git_writestream **out, + git_repository *repo, + const char *hintpath); +GIT_EXTERN(int) git_blob_create_fromstream_commit( + git_oid *out, + git_writestream *stream); +GIT_EXTERN(int) git_blob_create_frombuffer( + git_oid *id, git_repository *repo, const void *buffer, size_t len); + +/** Deprecated in favor of `git_blob_filter`. + * + * @deprecated Use git_blob_filter + * @see git_blob_filter + */ +GIT_EXTERN(int) git_blob_filtered_content( + git_buf *out, + git_blob *blob, + const char *as_path, + int check_for_binary_data); + +/**@}*/ + +/** @name Deprecated Filter Functions + * + * These functions are retained for backward compatibility. The + * newer versions of these functions should be preferred in all + * new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** Deprecated in favor of `git_filter_list_stream_buffer`. + * + * @deprecated Use git_filter_list_stream_buffer + * @see Use git_filter_list_stream_buffer + */ +GIT_EXTERN(int) git_filter_list_stream_data( + git_filter_list *filters, + git_buf *data, + git_writestream *target); + +/** Deprecated in favor of `git_filter_list_apply_to_buffer`. + * + * @deprecated Use git_filter_list_apply_to_buffer + * @see Use git_filter_list_apply_to_buffer + */ +GIT_EXTERN(int) git_filter_list_apply_to_data( + git_buf *out, + git_filter_list *filters, + git_buf *in); + +/**@}*/ + +/** @name Deprecated Tree Functions + * + * These functions are retained for backward compatibility. The + * newer versions of these functions and values should be preferred + * in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Write the contents of the tree builder as a tree object. + * This is an alias of `git_treebuilder_write` and is preserved + * for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_treebuilder_write + * @see git_treebuilder_write + */ +GIT_EXTERN(int) git_treebuilder_write_with_buffer( + git_oid *oid, git_treebuilder *bld, git_buf *tree); + +/**@}*/ + +/** @name Deprecated Buffer Functions + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions should be + * preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Static initializer for git_buf from static buffer + */ +#define GIT_BUF_INIT_CONST(STR,LEN) { (char *)(STR), 0, (size_t)(LEN) } + +/** + * Resize the buffer allocation to make more space. + * + * This will attempt to grow the buffer to accommodate the target size. + * + * If the buffer refers to memory that was not allocated by libgit2 (i.e. + * the `asize` field is zero), then `ptr` will be replaced with a newly + * allocated block of data. Be careful so that memory allocated by the + * caller is not lost. As a special variant, if you pass `target_size` as + * 0 and the memory is not allocated by libgit2, this will allocate a new + * buffer of size `size` and copy the external data into it. + * + * Currently, this will never shrink a buffer, only expand it. + * + * If the allocation fails, this will return an error and the buffer will be + * marked as invalid for future operations, invaliding the contents. + * + * @param buffer The buffer to be resized; may or may not be allocated yet + * @param target_size The desired available size + * @return 0 on success, -1 on allocation failure + */ +GIT_EXTERN(int) git_buf_grow(git_buf *buffer, size_t target_size); + +/** + * Set buffer to a copy of some raw data. + * + * @param buffer The buffer to set + * @param data The data to copy into the buffer + * @param datalen The length of the data to copy into the buffer + * @return 0 on success, -1 on allocation failure + */ +GIT_EXTERN(int) git_buf_set( + git_buf *buffer, const void *data, size_t datalen); + +/** +* Check quickly if buffer looks like it contains binary data +* +* @param buf Buffer to check +* @return 1 if buffer looks like non-text data +*/ +GIT_EXTERN(int) git_buf_is_binary(const git_buf *buf); + +/** +* Check quickly if buffer contains a NUL byte +* +* @param buf Buffer to check +* @return 1 if buffer contains a NUL byte +*/ +GIT_EXTERN(int) git_buf_contains_nul(const git_buf *buf); + +/** + * Free the memory referred to by the git_buf. This is an alias of + * `git_buf_dispose` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_buf_dispose + * @see git_buf_dispose + */ +GIT_EXTERN(void) git_buf_free(git_buf *buffer); + +/**@}*/ + +/** @name Deprecated Commit Definitions + */ +/**@{*/ + +/** + * Provide a commit signature during commit creation. + * + * Callers should instead define a `git_commit_create_cb` that + * generates a commit buffer using `git_commit_create_buffer`, sign + * that buffer and call `git_commit_create_with_signature`. + * + * @deprecated use a `git_commit_create_cb` instead + */ +typedef int (*git_commit_signing_cb)( + git_buf *signature, + git_buf *signature_field, + const char *commit_content, + void *payload); + +/**@}*/ + +/** @name Deprecated Config Functions and Constants + */ +/**@{*/ + +/** @deprecated use GIT_CONFIGMAP_FALSE */ +#define GIT_CVAR_FALSE GIT_CONFIGMAP_FALSE +/** @deprecated use GIT_CONFIGMAP_TRUE */ +#define GIT_CVAR_TRUE GIT_CONFIGMAP_TRUE +/** @deprecated use GIT_CONFIGMAP_INT32 */ +#define GIT_CVAR_INT32 GIT_CONFIGMAP_INT32 +/** @deprecated use GIT_CONFIGMAP_STRING */ +#define GIT_CVAR_STRING GIT_CONFIGMAP_STRING + +/** @deprecated use git_cvar_map */ +typedef git_configmap git_cvar_map; + +/**@}*/ + +/** @name Deprecated Diff Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions and values + * should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Formatting options for diff e-mail generation + */ +typedef enum { + /** Normal patch, the default */ + GIT_DIFF_FORMAT_EMAIL_NONE = 0, + + /** Don't insert "[PATCH]" in the subject header*/ + GIT_DIFF_FORMAT_EMAIL_EXCLUDE_SUBJECT_PATCH_MARKER = (1 << 0) +} git_diff_format_email_flags_t; + +/** + * Options for controlling the formatting of the generated e-mail. + * + * @deprecated use `git_email_create_options` + */ +typedef struct { + unsigned int version; + + /** see `git_diff_format_email_flags_t` above */ + uint32_t flags; + + /** This patch number */ + size_t patch_no; + + /** Total number of patches in this series */ + size_t total_patches; + + /** id to use for the commit */ + const git_oid *id; + + /** Summary of the change */ + const char *summary; + + /** Commit message's body */ + const char *body; + + /** Author of the change */ + const git_signature *author; +} git_diff_format_email_options; + +/** @deprecated use `git_email_create_options` */ +#define GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION 1 +/** @deprecated use `git_email_create_options` */ +#define GIT_DIFF_FORMAT_EMAIL_OPTIONS_INIT {GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION, 0, 1, 1, NULL, NULL, NULL, NULL} + +/** + * Create an e-mail ready patch from a diff. + * + * @deprecated git_email_create_from_diff + * @see git_email_create_from_diff + */ +GIT_EXTERN(int) git_diff_format_email( + git_buf *out, + git_diff *diff, + const git_diff_format_email_options *opts); + +/** + * Create an e-mail ready patch for a commit. + * + * @deprecated git_email_create_from_commit + * @see git_email_create_from_commit + */ +GIT_EXTERN(int) git_diff_commit_as_email( + git_buf *out, + git_repository *repo, + git_commit *commit, + size_t patch_no, + size_t total_patches, + uint32_t flags, + const git_diff_options *diff_opts); + +/** + * Initialize git_diff_format_email_options structure + * + * Initializes a `git_diff_format_email_options` with default values. Equivalent + * to creating an instance with GIT_DIFF_FORMAT_EMAIL_OPTIONS_INIT. + * + * @param opts The `git_blame_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_format_email_options_init( + git_diff_format_email_options *opts, + unsigned int version); + +/**@}*/ + +/** @name Deprecated Error Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these functions and values + * should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecated use `GIT_ERROR_NONE` */ +#define GITERR_NONE GIT_ERROR_NONE +/** @deprecated use `GIT_ERROR_NOMEMORY` */ +#define GITERR_NOMEMORY GIT_ERROR_NOMEMORY +/** @deprecated use `GIT_ERROR_OS` */ +#define GITERR_OS GIT_ERROR_OS +/** @deprecated use `GIT_ERROR_INVALID` */ +#define GITERR_INVALID GIT_ERROR_INVALID +/** @deprecated use `GIT_ERROR_REFERENCE` */ +#define GITERR_REFERENCE GIT_ERROR_REFERENCE +/** @deprecated use `GIT_ERROR_ZLIB` */ +#define GITERR_ZLIB GIT_ERROR_ZLIB +/** @deprecated use `GIT_ERROR_REPOSITORY` */ +#define GITERR_REPOSITORY GIT_ERROR_REPOSITORY +/** @deprecated use `GIT_ERROR_CONFIG` */ +#define GITERR_CONFIG GIT_ERROR_CONFIG +/** @deprecated use `GIT_ERROR_REGEX` */ +#define GITERR_REGEX GIT_ERROR_REGEX +/** @deprecated use `GIT_ERROR_ODB` */ +#define GITERR_ODB GIT_ERROR_ODB +/** @deprecated use `GIT_ERROR_INDEX` */ +#define GITERR_INDEX GIT_ERROR_INDEX +/** @deprecated use `GIT_ERROR_OBJECT` */ +#define GITERR_OBJECT GIT_ERROR_OBJECT +/** @deprecated use `GIT_ERROR_NET` */ +#define GITERR_NET GIT_ERROR_NET +/** @deprecated use `GIT_ERROR_TAG` */ +#define GITERR_TAG GIT_ERROR_TAG +/** @deprecated use `GIT_ERROR_TREE` */ +#define GITERR_TREE GIT_ERROR_TREE +/** @deprecated use `GIT_ERROR_INDEXER` */ +#define GITERR_INDEXER GIT_ERROR_INDEXER +/** @deprecated use `GIT_ERROR_SSL` */ +#define GITERR_SSL GIT_ERROR_SSL +/** @deprecated use `GIT_ERROR_SUBMODULE` */ +#define GITERR_SUBMODULE GIT_ERROR_SUBMODULE +/** @deprecated use `GIT_ERROR_THREAD` */ +#define GITERR_THREAD GIT_ERROR_THREAD +/** @deprecated use `GIT_ERROR_STASH` */ +#define GITERR_STASH GIT_ERROR_STASH +/** @deprecated use `GIT_ERROR_CHECKOUT` */ +#define GITERR_CHECKOUT GIT_ERROR_CHECKOUT +/** @deprecated use `GIT_ERROR_FETCHHEAD` */ +#define GITERR_FETCHHEAD GIT_ERROR_FETCHHEAD +/** @deprecated use `GIT_ERROR_MERGE` */ +#define GITERR_MERGE GIT_ERROR_MERGE +/** @deprecated use `GIT_ERROR_SSH` */ +#define GITERR_SSH GIT_ERROR_SSH +/** @deprecated use `GIT_ERROR_FILTER` */ +#define GITERR_FILTER GIT_ERROR_FILTER +/** @deprecated use `GIT_ERROR_REVERT` */ +#define GITERR_REVERT GIT_ERROR_REVERT +/** @deprecated use `GIT_ERROR_CALLBACK` */ +#define GITERR_CALLBACK GIT_ERROR_CALLBACK +/** @deprecated use `GIT_ERROR_CHERRYPICK` */ +#define GITERR_CHERRYPICK GIT_ERROR_CHERRYPICK +/** @deprecated use `GIT_ERROR_DESCRIBE` */ +#define GITERR_DESCRIBE GIT_ERROR_DESCRIBE +/** @deprecated use `GIT_ERROR_REBASE` */ +#define GITERR_REBASE GIT_ERROR_REBASE +/** @deprecated use `GIT_ERROR_FILESYSTEM` */ +#define GITERR_FILESYSTEM GIT_ERROR_FILESYSTEM +/** @deprecated use `GIT_ERROR_PATCH` */ +#define GITERR_PATCH GIT_ERROR_PATCH +/** @deprecated use `GIT_ERROR_WORKTREE` */ +#define GITERR_WORKTREE GIT_ERROR_WORKTREE +/** @deprecated use `GIT_ERROR_SHA1` */ +#define GITERR_SHA1 GIT_ERROR_SHA1 +/** @deprecated use `GIT_ERROR_SHA` */ +#define GIT_ERROR_SHA1 GIT_ERROR_SHA + +/** + * Return the last `git_error` object that was generated for the + * current thread. This is an alias of `git_error_last` and is + * preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_last + * @see git_error_last + */ +GIT_EXTERN(const git_error *) giterr_last(void); + +/** + * Clear the last error. This is an alias of `git_error_last` and is + * preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_clear + * @see git_error_clear + */ +GIT_EXTERN(void) giterr_clear(void); + +/** + * Sets the error message to the given string. This is an alias of + * `git_error_set_str` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_set_str + * @see git_error_set_str + */ +GIT_EXTERN(void) giterr_set_str(int error_class, const char *string); + +/** + * Indicates that an out-of-memory situation occurred. This is an alias + * of `git_error_set_oom` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_error_set_oom + * @see git_error_set_oom + */ +GIT_EXTERN(void) giterr_set_oom(void); + +/**@}*/ + +/** @name Deprecated Index Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these values should be + * preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/* The git_idxentry_extended_flag_t enum */ +/** @deprecated use `GIT_INDEX_ENTRY_NAMEMASK` */ +#define GIT_IDXENTRY_NAMEMASK GIT_INDEX_ENTRY_NAMEMASK +/** @deprecated use `GIT_INDEX_ENTRY_STAGEMASK` */ +#define GIT_IDXENTRY_STAGEMASK GIT_INDEX_ENTRY_STAGEMASK +/** @deprecated use `GIT_INDEX_ENTRY_STAGESHIFT` */ +#define GIT_IDXENTRY_STAGESHIFT GIT_INDEX_ENTRY_STAGESHIFT + +/* The git_indxentry_flag_t enum */ +/** @deprecated use `GIT_INDEX_ENTRY_EXTENDED` */ +#define GIT_IDXENTRY_EXTENDED GIT_INDEX_ENTRY_EXTENDED +/** @deprecated use `GIT_INDEX_ENTRY_VALID` */ +#define GIT_IDXENTRY_VALID GIT_INDEX_ENTRY_VALID + +/** @deprecated use `GIT_INDEX_ENTRY_STAGE` */ +#define GIT_IDXENTRY_STAGE(E) GIT_INDEX_ENTRY_STAGE(E) +/** @deprecated use `GIT_INDEX_ENTRY_STAGE_SET` */ +#define GIT_IDXENTRY_STAGE_SET(E,S) GIT_INDEX_ENTRY_STAGE_SET(E,S) + +/* The git_idxentry_extended_flag_t enum */ +/** @deprecated use `GIT_INDEX_ENTRY_INTENT_TO_ADD` */ +#define GIT_IDXENTRY_INTENT_TO_ADD GIT_INDEX_ENTRY_INTENT_TO_ADD +/** @deprecated use `GIT_INDEX_ENTRY_SKIP_WORKTREE` */ +#define GIT_IDXENTRY_SKIP_WORKTREE GIT_INDEX_ENTRY_SKIP_WORKTREE +/** @deprecated use `GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE` */ +#define GIT_IDXENTRY_EXTENDED_FLAGS (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_EXTENDED2 (1 << 15) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UPDATE (1 << 0) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_REMOVE (1 << 1) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UPTODATE (1 << 2) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_ADDED (1 << 3) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_HASHED (1 << 4) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UNHASHED (1 << 5) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_WT_REMOVE (1 << 6) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_CONFLICTED (1 << 7) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_UNPACKED (1 << 8) +/** @deprecated this value is not public */ +#define GIT_IDXENTRY_NEW_SKIP_WORKTREE (1 << 9) + +/* The git_index_capability_t enum */ +/** @deprecated use `GIT_INDEX_CAPABILITY_IGNORE_CASE` */ +#define GIT_INDEXCAP_IGNORE_CASE GIT_INDEX_CAPABILITY_IGNORE_CASE +/** @deprecated use `GIT_INDEX_CAPABILITY_NO_FILEMODE` */ +#define GIT_INDEXCAP_NO_FILEMODE GIT_INDEX_CAPABILITY_NO_FILEMODE +/** @deprecated use `GIT_INDEX_CAPABILITY_NO_SYMLINKS` */ +#define GIT_INDEXCAP_NO_SYMLINKS GIT_INDEX_CAPABILITY_NO_SYMLINKS +/** @deprecated use `GIT_INDEX_CAPABILITY_FROM_OWNER` */ +#define GIT_INDEXCAP_FROM_OWNER GIT_INDEX_CAPABILITY_FROM_OWNER + +GIT_EXTERN(int) git_index_add_frombuffer( + git_index *index, + const git_index_entry *entry, + const void *buffer, size_t len); + +/**@}*/ + +/** @name Deprecated Object Constants + * + * These enumeration values are retained for backward compatibility. The + * newer versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** @deprecate use `git_object_t` */ +#define git_otype git_object_t + +/** @deprecate use `GIT_OBJECT_ANY` */ +#define GIT_OBJ_ANY GIT_OBJECT_ANY +/** @deprecate use `GIT_OBJECT_INVALID` */ +#define GIT_OBJ_BAD GIT_OBJECT_INVALID +/** @deprecated this value is not public */ +#define GIT_OBJ__EXT1 0 +/** @deprecate use `GIT_OBJECT_COMMIT` */ +#define GIT_OBJ_COMMIT GIT_OBJECT_COMMIT +/** @deprecate use `GIT_OBJECT_TREE` */ +#define GIT_OBJ_TREE GIT_OBJECT_TREE +/** @deprecate use `GIT_OBJECT_BLOB` */ +#define GIT_OBJ_BLOB GIT_OBJECT_BLOB +/** @deprecate use `GIT_OBJECT_TAG` */ +#define GIT_OBJ_TAG GIT_OBJECT_TAG +/** @deprecated this value is not public */ +#define GIT_OBJ__EXT2 5 +/** @deprecate use `GIT_OBJECT_OFS_DELTA` */ +#define GIT_OBJ_OFS_DELTA GIT_OBJECT_OFS_DELTA +/** @deprecate use `GIT_OBJECT_REF_DELTA` */ +#define GIT_OBJ_REF_DELTA GIT_OBJECT_REF_DELTA + +/** + * Get the size in bytes for the structure which + * acts as an in-memory representation of any given + * object type. + * + * For all the core types, this would the equivalent + * of calling `sizeof(git_commit)` if the core types + * were not opaque on the external API. + * + * @param type object type to get its size + * @return size in bytes of the object + */ +GIT_EXTERN(size_t) git_object__size(git_object_t type); + +/**@}*/ + +/** @name Deprecated Remote Functions + * + * These functions are retained for backward compatibility. The newer + * versions of these functions should be preferred in all new code. + * + * There is no plan to remove these backward compatibility functions at + * this time. + */ +/**@{*/ + +/** + * Ensure the remote name is well-formed. + * + * @deprecated Use git_remote_name_is_valid + * @param remote_name name to be checked. + * @return 1 if the reference name is acceptable; 0 if it isn't + */ +GIT_EXTERN(int) git_remote_is_valid_name(const char *remote_name); + +/**@}*/ + +/** @name Deprecated Reference Functions and Constants + * + * These functions and enumeration values are retained for backward + * compatibility. The newer versions of these values should be + * preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + + /** Basic type of any Git reference. */ +/** @deprecate use `git_reference_t` */ +#define git_ref_t git_reference_t +/** @deprecate use `git_reference_format_t` */ +#define git_reference_normalize_t git_reference_format_t + +/** @deprecate use `GIT_REFERENCE_INVALID` */ +#define GIT_REF_INVALID GIT_REFERENCE_INVALID +/** @deprecate use `GIT_REFERENCE_DIRECT` */ +#define GIT_REF_OID GIT_REFERENCE_DIRECT +/** @deprecate use `GIT_REFERENCE_SYMBOLIC` */ +#define GIT_REF_SYMBOLIC GIT_REFERENCE_SYMBOLIC +/** @deprecate use `GIT_REFERENCE_ALL` */ +#define GIT_REF_LISTALL GIT_REFERENCE_ALL + +/** @deprecate use `GIT_REFERENCE_FORMAT_NORMAL` */ +#define GIT_REF_FORMAT_NORMAL GIT_REFERENCE_FORMAT_NORMAL +/** @deprecate use `GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL` */ +#define GIT_REF_FORMAT_ALLOW_ONELEVEL GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL +/** @deprecate use `GIT_REFERENCE_FORMAT_REFSPEC_PATTERN` */ +#define GIT_REF_FORMAT_REFSPEC_PATTERN GIT_REFERENCE_FORMAT_REFSPEC_PATTERN +/** @deprecate use `GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND` */ +#define GIT_REF_FORMAT_REFSPEC_SHORTHAND GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND + +/** + * Ensure the reference name is well-formed. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * @deprecated Use git_reference_name_is_valid + * @param refname name to be checked. + * @return 1 if the reference name is acceptable; 0 if it isn't + */ +GIT_EXTERN(int) git_reference_is_valid_name(const char *refname); + +GIT_EXTERN(int) git_tag_create_frombuffer( + git_oid *oid, + git_repository *repo, + const char *buffer, + int force); + +/**@}*/ + +/** @name Deprecated Revspec Constants + * + * These enumeration values are retained for backward compatibility. + * The newer versions of these values should be preferred in all new + * code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +typedef git_revspec_t git_revparse_mode_t; + +/** @deprecated use `GIT_REVSPEC_SINGLE` */ +#define GIT_REVPARSE_SINGLE GIT_REVSPEC_SINGLE +/** @deprecated use `GIT_REVSPEC_RANGE` */ +#define GIT_REVPARSE_RANGE GIT_REVSPEC_RANGE +/** @deprecated use `GIT_REVSPEC_MERGE_BASE` */ +#define GIT_REVPARSE_MERGE_BASE GIT_REVSPEC_MERGE_BASE + +/**@}*/ + +/** @name Deprecated Credential Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +typedef git_credential git_cred; +typedef git_credential_userpass_plaintext git_cred_userpass_plaintext; +typedef git_credential_username git_cred_username; +typedef git_credential_default git_cred_default; +typedef git_credential_ssh_key git_cred_ssh_key; +typedef git_credential_ssh_interactive git_cred_ssh_interactive; +typedef git_credential_ssh_custom git_cred_ssh_custom; + +typedef git_credential_acquire_cb git_cred_acquire_cb; +typedef git_credential_sign_cb git_cred_sign_callback; +typedef git_credential_sign_cb git_cred_sign_cb; +typedef git_credential_ssh_interactive_cb git_cred_ssh_interactive_callback; +typedef git_credential_ssh_interactive_cb git_cred_ssh_interactive_cb; + +/** @deprecated use `git_credential_t` */ +#define git_credtype_t git_credential_t + +/** @deprecated use `GIT_CREDENTIAL_USERPASS_PLAINTEXT` */ +#define GIT_CREDTYPE_USERPASS_PLAINTEXT GIT_CREDENTIAL_USERPASS_PLAINTEXT +/** @deprecated use `GIT_CREDENTIAL_SSH_KEY` */ +#define GIT_CREDTYPE_SSH_KEY GIT_CREDENTIAL_SSH_KEY +/** @deprecated use `GIT_CREDENTIAL_SSH_CUSTOM` */ +#define GIT_CREDTYPE_SSH_CUSTOM GIT_CREDENTIAL_SSH_CUSTOM +/** @deprecated use `GIT_CREDENTIAL_DEFAULT` */ +#define GIT_CREDTYPE_DEFAULT GIT_CREDENTIAL_DEFAULT +/** @deprecated use `GIT_CREDENTIAL_SSH_INTERACTIVE` */ +#define GIT_CREDTYPE_SSH_INTERACTIVE GIT_CREDENTIAL_SSH_INTERACTIVE +/** @deprecated use `GIT_CREDENTIAL_USERNAME` */ +#define GIT_CREDTYPE_USERNAME GIT_CREDENTIAL_USERNAME +/** @deprecated use `GIT_CREDENTIAL_SSH_MEMORY` */ +#define GIT_CREDTYPE_SSH_MEMORY GIT_CREDENTIAL_SSH_MEMORY + +GIT_EXTERN(void) git_cred_free(git_credential *cred); +GIT_EXTERN(int) git_cred_has_username(git_credential *cred); +GIT_EXTERN(const char *) git_cred_get_username(git_credential *cred); +GIT_EXTERN(int) git_cred_userpass_plaintext_new( + git_credential **out, + const char *username, + const char *password); +GIT_EXTERN(int) git_cred_default_new(git_credential **out); +GIT_EXTERN(int) git_cred_username_new(git_credential **out, const char *username); +GIT_EXTERN(int) git_cred_ssh_key_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); +GIT_EXTERN(int) git_cred_ssh_key_memory_new( + git_credential **out, + const char *username, + const char *publickey, + const char *privatekey, + const char *passphrase); +GIT_EXTERN(int) git_cred_ssh_interactive_new( + git_credential **out, + const char *username, + git_credential_ssh_interactive_cb prompt_callback, + void *payload); +GIT_EXTERN(int) git_cred_ssh_key_from_agent( + git_credential **out, + const char *username); +GIT_EXTERN(int) git_cred_ssh_custom_new( + git_credential **out, + const char *username, + const char *publickey, + size_t publickey_len, + git_credential_sign_cb sign_callback, + void *payload); + +/* Deprecated Credential Helper Types */ + +typedef git_credential_userpass_payload git_cred_userpass_payload; + +GIT_EXTERN(int) git_cred_userpass( + git_credential **out, + const char *url, + const char *user_from_url, + unsigned int allowed_types, + void *payload); + +/**@}*/ + +/** @name Deprecated Trace Callback Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +typedef git_trace_cb git_trace_callback; + +/**@}*/ + +/** @name Deprecated Object ID Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +#ifndef GIT_EXPERIMENTAL_SHA256 +/** Deprecated OID "raw size" definition */ +# define GIT_OID_RAWSZ GIT_OID_SHA1_SIZE +/** Deprecated OID "hex size" definition */ +# define GIT_OID_HEXSZ GIT_OID_SHA1_HEXSIZE +/** Deprecated OID "hex zero" definition */ +# define GIT_OID_HEX_ZERO GIT_OID_SHA1_HEXZERO +#endif + +GIT_EXTERN(int) git_oid_iszero(const git_oid *id); + +/**@}*/ + +/** @name Deprecated OID Array Functions + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Free the memory referred to by the git_oidarray. This is an alias of + * `git_oidarray_dispose` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_oidarray_dispose + * @see git_oidarray_dispose + */ +GIT_EXTERN(void) git_oidarray_free(git_oidarray *array); + +/**@}*/ + +/** @name Deprecated Transfer Progress Types + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * This structure is used to provide callers information about the + * progress of indexing a packfile. + * + * This type is deprecated, but there is no plan to remove this + * type definition at this time. + */ +typedef git_indexer_progress git_transfer_progress; + +/** + * Type definition for progress callbacks during indexing. + * + * This type is deprecated, but there is no plan to remove this + * type definition at this time. + */ +typedef git_indexer_progress_cb git_transfer_progress_cb; + +/** + * Type definition for push transfer progress callbacks. + * + * This type is deprecated, but there is no plan to remove this + * type definition at this time. + */ +typedef git_push_transfer_progress_cb git_push_transfer_progress; + + /** The type of a remote completion event */ +#define git_remote_completion_type git_remote_completion_t + +/** + * Callback for listing the remote heads + */ +typedef int GIT_CALLBACK(git_headlist_cb)(git_remote_head *rhead, void *payload); + +/**@}*/ + +/** @name Deprecated String Array Functions + * + * These types are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * Copy a string array object from source to target. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @param tgt target + * @param src source + * @return 0 on success, < 0 on allocation failure + */ +GIT_EXTERN(int) git_strarray_copy(git_strarray *tgt, const git_strarray *src); + +/** + * Free the memory referred to by the git_strarray. This is an alias of + * `git_strarray_dispose` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Use git_strarray_dispose + * @see git_strarray_dispose + */ +GIT_EXTERN(void) git_strarray_free(git_strarray *array); + +/**@}*/ + +/** @name Deprecated Version Constants + * + * These constants are retained for backward compatibility. The newer + * versions of these constants should be preferred in all new code. + * + * There is no plan to remove these backward compatibility constants at + * this time. + */ +/**@{*/ + +#define LIBGIT2_VER_MAJOR LIBGIT2_VERSION_MAJOR +#define LIBGIT2_VER_MINOR LIBGIT2_VERSION_MINOR +#define LIBGIT2_VER_REVISION LIBGIT2_VERSION_REVISION +#define LIBGIT2_VER_PATCH LIBGIT2_VERSION_PATCH +#define LIBGIT2_VER_PRERELEASE LIBGIT2_VERSION_PRERELEASE + +/**@}*/ + +/** @name Deprecated Options Initialization Functions + * + * These functions are retained for backward compatibility. The newer + * versions of these functions should be preferred in all new code. + * + * There is no plan to remove these backward compatibility functions at + * this time. + */ +/**@{*/ + +GIT_EXTERN(int) git_blame_init_options(git_blame_options *opts, unsigned int version); +GIT_EXTERN(int) git_checkout_init_options(git_checkout_options *opts, unsigned int version); +GIT_EXTERN(int) git_cherrypick_init_options(git_cherrypick_options *opts, unsigned int version); +GIT_EXTERN(int) git_clone_init_options(git_clone_options *opts, unsigned int version); +GIT_EXTERN(int) git_describe_init_options(git_describe_options *opts, unsigned int version); +GIT_EXTERN(int) git_describe_init_format_options(git_describe_format_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_init_options(git_diff_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_find_init_options(git_diff_find_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_format_email_init_options(git_diff_format_email_options *opts, unsigned int version); +GIT_EXTERN(int) git_diff_patchid_init_options(git_diff_patchid_options *opts, unsigned int version); +GIT_EXTERN(int) git_fetch_init_options(git_fetch_options *opts, unsigned int version); +GIT_EXTERN(int) git_indexer_init_options(git_indexer_options *opts, unsigned int version); +GIT_EXTERN(int) git_merge_init_options(git_merge_options *opts, unsigned int version); +GIT_EXTERN(int) git_merge_file_init_input(git_merge_file_input *input, unsigned int version); +GIT_EXTERN(int) git_merge_file_init_options(git_merge_file_options *opts, unsigned int version); +GIT_EXTERN(int) git_proxy_init_options(git_proxy_options *opts, unsigned int version); +GIT_EXTERN(int) git_push_init_options(git_push_options *opts, unsigned int version); +GIT_EXTERN(int) git_rebase_init_options(git_rebase_options *opts, unsigned int version); +GIT_EXTERN(int) git_remote_create_init_options(git_remote_create_options *opts, unsigned int version); +GIT_EXTERN(int) git_repository_init_init_options(git_repository_init_options *opts, unsigned int version); +GIT_EXTERN(int) git_revert_init_options(git_revert_options *opts, unsigned int version); +GIT_EXTERN(int) git_stash_apply_init_options(git_stash_apply_options *opts, unsigned int version); +GIT_EXTERN(int) git_status_init_options(git_status_options *opts, unsigned int version); +GIT_EXTERN(int) git_submodule_update_init_options(git_submodule_update_options *opts, unsigned int version); +GIT_EXTERN(int) git_worktree_add_init_options(git_worktree_add_options *opts, unsigned int version); +GIT_EXTERN(int) git_worktree_prune_init_options(git_worktree_prune_options *opts, unsigned int version); + +/**@}*/ + +/** @} */ +GIT_END_DECL + +#endif + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/describe.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/describe.h new file mode 100644 index 00000000..938c470d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/describe.h @@ -0,0 +1,206 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_describe_h__ +#define INCLUDE_git_describe_h__ + +#include "common.h" +#include "types.h" +#include "buffer.h" + +/** + * @file git2/describe.h + * @brief Describe a commit in reference to tags + * @defgroup git_describe Git describing routines + * @ingroup Git + * @{ + * + * Describe a commit, showing information about how the current commit + * relates to the tags. This can be useful for showing how the current + * commit has changed from a particular tagged version of the repository. + */ +GIT_BEGIN_DECL + +/** + * Reference lookup strategy + * + * These behave like the --tags and --all options to git-describe, + * namely they say to look for any reference in either refs/tags/ or + * refs/ respectively. + */ +typedef enum { + GIT_DESCRIBE_DEFAULT, + GIT_DESCRIBE_TAGS, + GIT_DESCRIBE_ALL +} git_describe_strategy_t; + +/** + * Describe options structure + * + * Initialize with `GIT_DESCRIBE_OPTIONS_INIT`. Alternatively, you can + * use `git_describe_options_init`. + * + */ +typedef struct git_describe_options { + unsigned int version; + + unsigned int max_candidates_tags; /**< default: 10 */ + unsigned int describe_strategy; /**< default: GIT_DESCRIBE_DEFAULT */ + const char *pattern; + /** + * When calculating the distance from the matching tag or + * reference, only walk down the first-parent ancestry. + */ + int only_follow_first_parent; + /** + * If no matching tag or reference is found, the describe + * operation would normally fail. If this option is set, it + * will instead fall back to showing the full id of the + * commit. + */ + int show_commit_oid_as_fallback; +} git_describe_options; + +/** Default maximum candidate tags */ +#define GIT_DESCRIBE_DEFAULT_MAX_CANDIDATES_TAGS 10 +/** Default abbreviated size */ +#define GIT_DESCRIBE_DEFAULT_ABBREVIATED_SIZE 7 + +/** Current version for the `git_describe_options` structure */ +#define GIT_DESCRIBE_OPTIONS_VERSION 1 + +/** Static constructor for `git_describe_options` */ +#define GIT_DESCRIBE_OPTIONS_INIT { \ + GIT_DESCRIBE_OPTIONS_VERSION, \ + GIT_DESCRIBE_DEFAULT_MAX_CANDIDATES_TAGS, \ +} + +/** + * Initialize git_describe_options structure + * + * Initializes a `git_describe_options` with default values. Equivalent to creating + * an instance with GIT_DESCRIBE_OPTIONS_INIT. + * + * @param opts The `git_describe_options` struct to initialize. + * @param version The struct version; pass `GIT_DESCRIBE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_describe_options_init(git_describe_options *opts, unsigned int version); + +/** + * Describe format options structure + * + * Initialize with `GIT_DESCRIBE_FORMAT_OPTIONS_INIT`. Alternatively, you can + * use `git_describe_format_options_init`. + * + */ +typedef struct { + unsigned int version; + + /** + * Size of the abbreviated commit id to use. This value is the + * lower bound for the length of the abbreviated string. The + * default is 7. + */ + unsigned int abbreviated_size; + + /** + * Set to use the long format even when a shorter name could be used. + */ + int always_use_long_format; + + /** + * If the workdir is dirty and this is set, this string will + * be appended to the description string. + */ + const char *dirty_suffix; +} git_describe_format_options; + +/** Current version for the `git_describe_format_options` structure */ +#define GIT_DESCRIBE_FORMAT_OPTIONS_VERSION 1 + +/** Static constructor for `git_describe_format_options` */ +#define GIT_DESCRIBE_FORMAT_OPTIONS_INIT { \ + GIT_DESCRIBE_FORMAT_OPTIONS_VERSION, \ + GIT_DESCRIBE_DEFAULT_ABBREVIATED_SIZE, \ + } + +/** + * Initialize git_describe_format_options structure + * + * Initializes a `git_describe_format_options` with default values. Equivalent to creating + * an instance with GIT_DESCRIBE_FORMAT_OPTIONS_INIT. + * + * @param opts The `git_describe_format_options` struct to initialize. + * @param version The struct version; pass `GIT_DESCRIBE_FORMAT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_describe_format_options_init(git_describe_format_options *opts, unsigned int version); + +/** + * A struct that stores the result of a describe operation. + */ +typedef struct git_describe_result git_describe_result; + +/** + * Describe a commit + * + * Perform the describe operation on the given committish object. + * + * @param result pointer to store the result. You must free this once + * you're done with it. + * @param committish a committish to describe + * @param opts the lookup options (or NULL for defaults) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_describe_commit( + git_describe_result **result, + git_object *committish, + git_describe_options *opts); + +/** + * Describe a commit + * + * 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. + * + * @param out pointer to store the result. You must free this once + * you're done with it. + * @param repo the repository in which to perform the describe + * @param opts the lookup options (or NULL for defaults) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_describe_workdir( + git_describe_result **out, + git_repository *repo, + git_describe_options *opts); + +/** + * Print the describe result to a buffer + * + * @param out The buffer to store the result + * @param result the result from `git_describe_commit()` or + * `git_describe_workdir()`. + * @param opts the formatting options (or NULL for defaults) + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_describe_format( + git_buf *out, + const git_describe_result *result, + const git_describe_format_options *opts); + +/** + * Free the describe result. + * + * @param result The result to free. + */ +GIT_EXTERN(void) git_describe_result_free(git_describe_result *result); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/diff.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/diff.h new file mode 100644 index 00000000..262ba2e5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/diff.h @@ -0,0 +1,1512 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_diff_h__ +#define INCLUDE_git_diff_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "tree.h" +#include "refs.h" + +/** + * @file git2/diff.h + * @brief Indicate the differences between two versions of the repository + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Flags for diff options. A combination of these flags can be passed + * in via the `flags` value in the `git_diff_options`. + */ +typedef enum { + /** Normal diff, the default */ + GIT_DIFF_NORMAL = 0, + + /* + * Options controlling which files will be in the diff + */ + + /** Reverse the sides of the diff */ + GIT_DIFF_REVERSE = (1u << 0), + + /** Include ignored files in the diff */ + GIT_DIFF_INCLUDE_IGNORED = (1u << 1), + + /** Even with GIT_DIFF_INCLUDE_IGNORED, an entire ignored directory + * will be marked with only a single entry in the diff; this flag + * adds all files under the directory as IGNORED entries, too. + */ + GIT_DIFF_RECURSE_IGNORED_DIRS = (1u << 2), + + /** Include untracked files in the diff */ + GIT_DIFF_INCLUDE_UNTRACKED = (1u << 3), + + /** Even with GIT_DIFF_INCLUDE_UNTRACKED, an entire untracked + * directory will be marked with only a single entry in the diff + * (a la what core Git does in `git status`); this flag adds *all* + * files under untracked directories as UNTRACKED entries, too. + */ + GIT_DIFF_RECURSE_UNTRACKED_DIRS = (1u << 4), + + /** Include unmodified files in the diff */ + GIT_DIFF_INCLUDE_UNMODIFIED = (1u << 5), + + /** Normally, a type change between files will be converted into a + * DELETED record for the old and an ADDED record for the new; this + * options enabled the generation of TYPECHANGE delta records. + */ + GIT_DIFF_INCLUDE_TYPECHANGE = (1u << 6), + + /** Even with GIT_DIFF_INCLUDE_TYPECHANGE, blob->tree changes still + * generally show as a DELETED blob. This flag tries to correctly + * label blob->tree transitions as TYPECHANGE records with new_file's + * mode set to tree. Note: the tree SHA will not be available. + */ + GIT_DIFF_INCLUDE_TYPECHANGE_TREES = (1u << 7), + + /** Ignore file mode changes */ + GIT_DIFF_IGNORE_FILEMODE = (1u << 8), + + /** Treat all submodules as unmodified */ + GIT_DIFF_IGNORE_SUBMODULES = (1u << 9), + + /** Use case insensitive filename comparisons */ + GIT_DIFF_IGNORE_CASE = (1u << 10), + + /** May be combined with `GIT_DIFF_IGNORE_CASE` to specify that a file + * that has changed case will be returned as an add/delete pair. + */ + GIT_DIFF_INCLUDE_CASECHANGE = (1u << 11), + + /** If the pathspec is set in the diff options, this flags indicates + * that the paths will be treated as literal paths instead of + * fnmatch patterns. Each path in the list must either be a full + * path to a file or a directory. (A trailing slash indicates that + * the path will _only_ match a directory). If a directory is + * specified, all children will be included. + */ + GIT_DIFF_DISABLE_PATHSPEC_MATCH = (1u << 12), + + /** Disable updating of the `binary` flag in delta records. This is + * useful when iterating over a diff if you don't need hunk and data + * callbacks and want to avoid having to load file completely. + */ + GIT_DIFF_SKIP_BINARY_CHECK = (1u << 13), + + /** When diff finds an untracked directory, to match the behavior of + * core Git, it scans the contents for IGNORED and UNTRACKED files. + * If *all* contents are IGNORED, then the directory is IGNORED; if + * any contents are not IGNORED, then the directory is UNTRACKED. + * This is extra work that may not matter in many cases. This flag + * turns off that scan and immediately labels an untracked directory + * as UNTRACKED (changing the behavior to not match core Git). + */ + GIT_DIFF_ENABLE_FAST_UNTRACKED_DIRS = (1u << 14), + + /** When diff finds a file in the working directory with stat + * information different from the index, but the OID ends up being the + * same, write the correct stat information into the index. Note: + * without this flag, diff will always leave the index untouched. + */ + GIT_DIFF_UPDATE_INDEX = (1u << 15), + + /** Include unreadable files in the diff */ + GIT_DIFF_INCLUDE_UNREADABLE = (1u << 16), + + /** Include unreadable files in the diff */ + GIT_DIFF_INCLUDE_UNREADABLE_AS_UNTRACKED = (1u << 17), + + /* + * Options controlling how output will be generated + */ + + /** Use a heuristic that takes indentation and whitespace into account + * which generally can produce better diffs when dealing with ambiguous + * diff hunks. + */ + GIT_DIFF_INDENT_HEURISTIC = (1u << 18), + + /** Ignore blank lines */ + GIT_DIFF_IGNORE_BLANK_LINES = (1u << 19), + + /** Treat all files as text, disabling binary attributes & detection */ + GIT_DIFF_FORCE_TEXT = (1u << 20), + /** Treat all files as binary, disabling text diffs */ + GIT_DIFF_FORCE_BINARY = (1u << 21), + + /** Ignore all whitespace */ + GIT_DIFF_IGNORE_WHITESPACE = (1u << 22), + /** Ignore changes in amount of whitespace */ + GIT_DIFF_IGNORE_WHITESPACE_CHANGE = (1u << 23), + /** Ignore whitespace at end of line */ + GIT_DIFF_IGNORE_WHITESPACE_EOL = (1u << 24), + + /** When generating patch text, include the content of untracked + * files. This automatically turns on GIT_DIFF_INCLUDE_UNTRACKED but + * it does not turn on GIT_DIFF_RECURSE_UNTRACKED_DIRS. Add that + * flag if you want the content of every single UNTRACKED file. + */ + GIT_DIFF_SHOW_UNTRACKED_CONTENT = (1u << 25), + + /** When generating output, include the names of unmodified files if + * they are included in the git_diff. Normally these are skipped in + * the formats that list files (e.g. name-only, name-status, raw). + * Even with this, these will not be included in patch format. + */ + GIT_DIFF_SHOW_UNMODIFIED = (1u << 26), + + /** Use the "patience diff" algorithm */ + GIT_DIFF_PATIENCE = (1u << 28), + /** Take extra time to find minimal diff */ + GIT_DIFF_MINIMAL = (1u << 29), + + /** Include the necessary deflate / delta information so that `git-apply` + * can apply given diff information to binary files. + */ + GIT_DIFF_SHOW_BINARY = (1u << 30) +} git_diff_option_t; + +/** + * The diff object that contains all individual file deltas. + * + * A `diff` represents the cumulative list of differences between two + * snapshots of a repository (possibly filtered by a set of file name + * patterns). + * + * Calculating diffs is generally done in two phases: building a list of + * diffs then traversing it. This makes is easier to share logic across + * the various types of diffs (tree vs tree, workdir vs index, etc.), and + * also allows you to insert optional diff post-processing phases, + * such as rename detection, in between the steps. When you are done with + * a diff object, it must be freed. + * + * This is an opaque structure which will be allocated by one of the diff + * generator functions below (such as `git_diff_tree_to_tree`). You are + * responsible for releasing the object memory when done, using the + * `git_diff_free()` function. + * + */ +typedef struct git_diff git_diff; + +/** + * Flags for the delta object and the file objects on each side. + * + * These flags are used for both the `flags` value of the `git_diff_delta` + * and the flags for the `git_diff_file` objects representing the old and + * new sides of the delta. Values outside of this public range should be + * considered reserved for internal or future use. + */ +typedef enum { + GIT_DIFF_FLAG_BINARY = (1u << 0), /**< file(s) treated as binary data */ + GIT_DIFF_FLAG_NOT_BINARY = (1u << 1), /**< file(s) treated as text data */ + GIT_DIFF_FLAG_VALID_ID = (1u << 2), /**< `id` value is known correct */ + GIT_DIFF_FLAG_EXISTS = (1u << 3), /**< file exists at this side of the delta */ + GIT_DIFF_FLAG_VALID_SIZE = (1u << 4) /**< file size value is known correct */ +} git_diff_flag_t; + +/** + * What type of change is described by a git_diff_delta? + * + * `GIT_DELTA_RENAMED` and `GIT_DELTA_COPIED` will only show up if you run + * `git_diff_find_similar()` on the diff object. + * + * `GIT_DELTA_TYPECHANGE` only shows up given `GIT_DIFF_INCLUDE_TYPECHANGE` + * in the option flags (otherwise type changes will be split into ADDED / + * DELETED pairs). + */ +typedef enum { + GIT_DELTA_UNMODIFIED = 0, /**< no changes */ + GIT_DELTA_ADDED = 1, /**< entry does not exist in old version */ + GIT_DELTA_DELETED = 2, /**< entry does not exist in new version */ + GIT_DELTA_MODIFIED = 3, /**< entry content changed between old and new */ + GIT_DELTA_RENAMED = 4, /**< entry was renamed between old and new */ + GIT_DELTA_COPIED = 5, /**< entry was copied from another old entry */ + GIT_DELTA_IGNORED = 6, /**< entry is ignored item in workdir */ + GIT_DELTA_UNTRACKED = 7, /**< entry is untracked item in workdir */ + GIT_DELTA_TYPECHANGE = 8, /**< type of entry changed between old and new */ + GIT_DELTA_UNREADABLE = 9, /**< entry is unreadable */ + GIT_DELTA_CONFLICTED = 10 /**< entry in the index is conflicted */ +} git_delta_t; + +/** + * Description of one side of a delta. + * + * Although this is called a "file", it could represent a file, a symbolic + * link, a submodule commit id, or even a tree (although that only if you + * are tracking type changes or ignored/untracked directories). + */ +typedef struct { + /** + * The `git_oid` of the item. If the entry represents an + * absent side of a diff (e.g. the `old_file` of a `GIT_DELTA_ADDED` delta), + * then the oid will be zeroes. + */ + git_oid id; + + /** + * The NUL-terminated path to the entry relative to the working + * directory of the repository. + */ + const char *path; + + /** + * The size of the entry in bytes. + */ + git_object_size_t size; + + /** + * A combination of the `git_diff_flag_t` types + */ + uint32_t flags; + + /** + * Roughly, the stat() `st_mode` value for the item. This will + * be restricted to one of the `git_filemode_t` values. + */ + uint16_t mode; + + /** + * Represents the known length of the `id` field, when + * converted to a hex string. It is generally `GIT_OID_SHA1_HEXSIZE`, unless this + * delta was created from reading a patch file, in which case it may be + * abbreviated to something reasonable, like 7 characters. + */ + uint16_t id_abbrev; + + /// Use later GIT_EXTERN(const git_index_entry *) git_index_get_bypath(git_index *index, const char *path, int stage); + /// PATCH + git_time_t ctime; + git_time_t mtime; +} git_diff_file; + +/** + * Description of changes to one entry. + * + * A `delta` is a file pair with an old and new revision. The old version + * may be absent if the file was just created and the new version may be + * absent if the file was deleted. A diff is mostly just a list of deltas. + * + * When iterating over a diff, this will be passed to most callbacks and + * you can use the contents to understand exactly what has changed. + * + * The `old_file` represents the "from" side of the diff and the `new_file` + * represents to "to" side of the diff. What those means depend on the + * function that was used to generate the diff and will be documented below. + * You can also use the `GIT_DIFF_REVERSE` flag to flip it around. + * + * Although the two sides of the delta are named "old_file" and "new_file", + * they actually may correspond to entries that represent a file, a symbolic + * link, a submodule commit id, or even a tree (if you are tracking type + * changes or ignored/untracked directories). + * + * Under some circumstances, in the name of efficiency, not all fields will + * be filled in, but we generally try to fill in as much as possible. One + * example is that the "flags" field may not have either the `BINARY` or the + * `NOT_BINARY` flag set to avoid examining file contents if you do not pass + * in hunk and/or line callbacks to the diff foreach iteration function. It + * will just use the git attributes for those files. + * + * The similarity score is zero unless you call `git_diff_find_similar()` + * which does a similarity analysis of files in the diff. Use that + * function to do rename and copy detection, and to split heavily modified + * files in add/delete pairs. After that call, deltas with a status of + * GIT_DELTA_RENAMED or GIT_DELTA_COPIED will have a similarity score + * between 0 and 100 indicating how similar the old and new sides are. + * + * If you ask `git_diff_find_similar` to find heavily modified files to + * break, but to not *actually* break the records, then GIT_DELTA_MODIFIED + * records may have a non-zero similarity score if the self-similarity is + * below the split threshold. To display this value like core Git, invert + * the score (a la `printf("M%03d", 100 - delta->similarity)`). + */ +typedef struct { + git_delta_t status; + uint32_t flags; /**< git_diff_flag_t values */ + uint16_t similarity; /**< for RENAMED and COPIED, value 0-100 */ + uint16_t nfiles; /**< number of files in this delta */ + git_diff_file old_file; + git_diff_file new_file; +} git_diff_delta; + +/** + * Diff notification callback function. + * + * The callback will be called for each file, just before the `git_diff_delta` + * gets inserted into the diff. + * + * 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. + * + * @param diff_so_far the diff structure as it currently exists + * @param delta_to_add the delta that is to be added + * @param matched_pathspec the pathspec + * @param payload the user-specified callback payload + * @return 0 on success, 1 to skip this delta, or an error code + */ +typedef int GIT_CALLBACK(git_diff_notify_cb)( + const git_diff *diff_so_far, + const git_diff_delta *delta_to_add, + const char *matched_pathspec, + void *payload); + +/** + * Diff progress callback. + * + * Called before each file comparison. + * + * @param diff_so_far The diff being generated. + * @param old_path The path to the old file or NULL. + * @param new_path The path to the new file or NULL. + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_progress_cb)( + const git_diff *diff_so_far, + const char *old_path, + const char *new_path, + void *payload); + +/** + * Structure describing options about how the diff should be executed. + * + * Setting all values of the structure to zero will yield the default + * values. Similarly, passing NULL for the options structure will + * give the defaults. The default values are marked below. + * + */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** + * A combination of `git_diff_option_t` values above. + * Defaults to GIT_DIFF_NORMAL + */ + uint32_t flags; + + /* options controlling which files are in the diff */ + + /** Overrides the submodule ignore setting for all submodules in the diff. */ + git_submodule_ignore_t ignore_submodules; + + /** + * An array of paths / fnmatch patterns to constrain diff. + * All paths are included by default. + */ + git_strarray pathspec; + + /** + * An optional callback function, notifying the consumer of changes to + * the diff as new deltas are added. + */ + git_diff_notify_cb notify_cb; + + /** + * An optional callback function, notifying the consumer of which files + * are being examined as the diff is generated. + */ + git_diff_progress_cb progress_cb; + + /** The payload to pass to the callback functions. */ + void *payload; + + /* options controlling how to diff text is generated */ + + /** + * The number of unchanged lines that define the boundary of a hunk + * (and to display before and after). Defaults to 3. + */ + uint32_t context_lines; + /** + * The maximum number of unchanged lines between hunk boundaries before + * the hunks will be merged into one. Defaults to 0. + */ + uint32_t interhunk_lines; + + /** + * The object ID type to emit in diffs; this is used by functions + * that operate without a repository - namely `git_diff_buffers`, + * or `git_diff_blobs` and `git_diff_blob_to_buffer` when one blob + * is `NULL`. + * + * This may be omitted (set to `0`). If a repository is available, + * the object ID format of the repository will be used. If no + * repository is available then the default is `GIT_OID_SHA`. + * + * If this is specified and a repository is available, then the + * specified `oid_type` must match the repository's object ID + * format. + */ + git_oid_t oid_type; + + /** + * The abbreviation length to use when formatting object ids. + * Defaults to the value of 'core.abbrev' from the config, or 7 if unset. + */ + uint16_t id_abbrev; + + /** + * A size (in bytes) above which a blob will be marked as binary + * automatically; pass a negative value to disable. + * Defaults to 512MB. + */ + git_off_t max_size; + + /** + * The virtual "directory" prefix for old file names in hunk headers. + * Default is "a". + */ + const char *old_prefix; + + /** + * The virtual "directory" prefix for new file names in hunk headers. + * Defaults to "b". + */ + const char *new_prefix; +} git_diff_options; + +/** The current version of the diff options structure */ +#define GIT_DIFF_OPTIONS_VERSION 1 + +/** Stack initializer for diff options. Alternatively use + * `git_diff_options_init` programmatic initialization. + */ +#define GIT_DIFF_OPTIONS_INIT \ + {GIT_DIFF_OPTIONS_VERSION, 0, GIT_SUBMODULE_IGNORE_UNSPECIFIED, {NULL,0}, NULL, NULL, NULL, 3} + +/** + * Initialize git_diff_options structure + * + * Initializes a `git_diff_options` with default values. Equivalent to creating + * an instance with GIT_DIFF_OPTIONS_INIT. + * + * @param opts The `git_diff_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_options_init( + git_diff_options *opts, + unsigned int version); + +/** + * When iterating over a diff, callback that will be made per file. + * + * @param delta A pointer to the delta data for the file + * @param progress Goes from 0 to 1 over the diff + * @param payload User-specified pointer from foreach function + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_file_cb)( + const git_diff_delta *delta, + float progress, + void *payload); + +/** Maximum size of the hunk header */ +#define GIT_DIFF_HUNK_HEADER_SIZE 128 + +/** + * When producing a binary diff, the binary data returned will be + * either the deflated full ("literal") contents of the file, or + * the deflated binary delta between the two sides (whichever is + * smaller). + */ +typedef enum { + /** There is no binary delta. */ + GIT_DIFF_BINARY_NONE, + + /** The binary data is the literal contents of the file. */ + GIT_DIFF_BINARY_LITERAL, + + /** The binary data is the delta from one side to the other. */ + GIT_DIFF_BINARY_DELTA +} git_diff_binary_t; + +/** The contents of one of the files in a binary diff. */ +typedef struct { + /** The type of binary data for this file. */ + git_diff_binary_t type; + + /** The binary data, deflated. */ + const char *data; + + /** The length of the binary data. */ + size_t datalen; + + /** The length of the binary data after inflation. */ + size_t inflatedlen; +} git_diff_binary_file; + +/** + * Structure describing the binary contents of a diff. + * + * A `binary` file / delta is a file (or pair) for which no text diffs + * should be generated. A diff can contain delta entries that are + * binary, but no diff content will be output for those files. There is + * a base heuristic for binary detection and you can further tune the + * behavior with git attributes or diff flags and option settings. + */ +typedef struct { + /** + * Whether there is data in this binary structure or not. + * + * If this is `1`, then this was produced and included binary content. + * If this is `0` then this was generated knowing only that a binary + * file changed but without providing the data, probably from a patch + * that said `Binary files a/file.txt and b/file.txt differ`. + */ + unsigned int contains_data; + git_diff_binary_file old_file; /**< The contents of the old file. */ + git_diff_binary_file new_file; /**< The contents of the new file. */ +} git_diff_binary; + +/** + * When iterating over a diff, callback that will be made for + * binary content within the diff. + * + * @param delta the delta + * @param binary the binary content + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_binary_cb)( + const git_diff_delta *delta, + const git_diff_binary *binary, + void *payload); + +/** + * Structure describing a hunk of a diff. + * + * A `hunk` is a span of modified lines in a delta along with some stable + * surrounding context. You can configure the amount of context and other + * properties of how hunks are generated. Each hunk also comes with a + * header that described where it starts and ends in both the old and new + * versions in the delta. + */ +typedef struct { + int old_start; /**< Starting line number in old_file */ + int old_lines; /**< Number of lines in old_file */ + int new_start; /**< Starting line number in new_file */ + int new_lines; /**< Number of lines in new_file */ + size_t header_len; /**< Number of bytes in header text */ + char header[GIT_DIFF_HUNK_HEADER_SIZE]; /**< Header text, NUL-byte terminated */ +} git_diff_hunk; + +/** + * When iterating over a diff, callback that will be made per hunk. + * + * @param delta the delta + * @param hunk the hunk + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_hunk_cb)( + const git_diff_delta *delta, + const git_diff_hunk *hunk, + void *payload); + +/** + * Line origin constants. + * + * These values describe where a line came from and will be passed to + * the git_diff_line_cb when iterating over a diff. There are some + * special origin constants at the end that are used for the text + * output callbacks to demarcate lines that are actually part of + * the file or hunk headers. + */ +typedef enum { + /* These values will be sent to `git_diff_line_cb` along with the line */ + GIT_DIFF_LINE_CONTEXT = ' ', + GIT_DIFF_LINE_ADDITION = '+', + GIT_DIFF_LINE_DELETION = '-', + + GIT_DIFF_LINE_CONTEXT_EOFNL = '=', /**< Both files have no LF at end */ + GIT_DIFF_LINE_ADD_EOFNL = '>', /**< Old has no LF at end, new does */ + GIT_DIFF_LINE_DEL_EOFNL = '<', /**< Old has LF at end, new does not */ + + /* The following values will only be sent to a `git_diff_line_cb` when + * the content of a diff is being formatted through `git_diff_print`. + */ + GIT_DIFF_LINE_FILE_HDR = 'F', + GIT_DIFF_LINE_HUNK_HDR = 'H', + GIT_DIFF_LINE_BINARY = 'B' /**< For "Binary files x and y differ" */ +} git_diff_line_t; + +/** + * Structure describing a line (or data span) of a diff. + * + * A `line` is a range of characters inside a hunk. It could be a context + * line (i.e. in both old and new versions), an added line (i.e. only in + * the new version), or a removed line (i.e. only in the old version). + * Unfortunately, we don't know anything about the encoding of data in the + * file being diffed, so we cannot tell you much about the line content. + * Line data will not be NUL-byte terminated, however, because it will be + * just a span of bytes inside the larger file. + */ +typedef struct { + char origin; /**< A git_diff_line_t value */ + int old_lineno; /**< Line number in old file or -1 for added line */ + int new_lineno; /**< Line number in new file or -1 for deleted line */ + int num_lines; /**< Number of newline characters in content */ + size_t content_len; /**< Number of bytes of data */ + git_off_t content_offset; /**< Offset in the original file to the content */ + const char *content; /**< Pointer to diff text, not NUL-byte terminated */ +} git_diff_line; + +/** + * When iterating over a diff, callback that will be made per text diff + * line. In this context, the provided range will be NULL. + * + * 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. + * + * @param delta the delta that contains the line + * @param hunk the hunk that contains the line + * @param line the line in the diff + * @param payload the user-specified callback payload + * @return 0 or an error code + */ +typedef int GIT_CALLBACK(git_diff_line_cb)( + const git_diff_delta *delta, /**< delta that contains this data */ + const git_diff_hunk *hunk, /**< hunk containing this data */ + const git_diff_line *line, /**< line data */ + void *payload); /**< user reference data */ + +/** + * Flags to control the behavior of diff rename/copy detection. + */ +typedef enum { + /** Obey `diff.renames`. Overridden by any other GIT_DIFF_FIND_... flag. */ + GIT_DIFF_FIND_BY_CONFIG = 0, + + /** Look for renames? (`--find-renames`) */ + GIT_DIFF_FIND_RENAMES = (1u << 0), + + /** Consider old side of MODIFIED for renames? (`--break-rewrites=N`) */ + GIT_DIFF_FIND_RENAMES_FROM_REWRITES = (1u << 1), + + /** Look for copies? (a la `--find-copies`). */ + GIT_DIFF_FIND_COPIES = (1u << 2), + + /** Consider UNMODIFIED as copy sources? (`--find-copies-harder`). + * + * For this to work correctly, use GIT_DIFF_INCLUDE_UNMODIFIED when + * the initial `git_diff` is being generated. + */ + GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED = (1u << 3), + + /** Mark significant rewrites for split (`--break-rewrites=/M`) */ + GIT_DIFF_FIND_REWRITES = (1u << 4), + /** Actually split large rewrites into delete/add pairs */ + GIT_DIFF_BREAK_REWRITES = (1u << 5), + /** Mark rewrites for split and break into delete/add pairs */ + GIT_DIFF_FIND_AND_BREAK_REWRITES = + (GIT_DIFF_FIND_REWRITES | GIT_DIFF_BREAK_REWRITES), + + /** Find renames/copies for UNTRACKED items in working directory. + * + * For this to work correctly, use GIT_DIFF_INCLUDE_UNTRACKED when the + * initial `git_diff` is being generated (and obviously the diff must + * be against the working directory for this to make sense). + */ + GIT_DIFF_FIND_FOR_UNTRACKED = (1u << 6), + + /** Turn on all finding features. */ + GIT_DIFF_FIND_ALL = (0x0ff), + + /** Measure similarity ignoring leading whitespace (default) */ + GIT_DIFF_FIND_IGNORE_LEADING_WHITESPACE = 0, + /** Measure similarity ignoring all whitespace */ + GIT_DIFF_FIND_IGNORE_WHITESPACE = (1u << 12), + /** Measure similarity including all data */ + GIT_DIFF_FIND_DONT_IGNORE_WHITESPACE = (1u << 13), + /** Measure similarity only by comparing SHAs (fast and cheap) */ + GIT_DIFF_FIND_EXACT_MATCH_ONLY = (1u << 14), + + /** Do not break rewrites unless they contribute to a rename. + * + * Normally, GIT_DIFF_FIND_AND_BREAK_REWRITES will measure the self- + * similarity of modified files and split the ones that have changed a + * lot into a DELETE / ADD pair. Then the sides of that pair will be + * considered candidates for rename and copy detection. + * + * If you add this flag in and the split pair is *not* used for an + * actual rename or copy, then the modified record will be restored to + * a regular MODIFIED record instead of being split. + */ + GIT_DIFF_BREAK_REWRITES_FOR_RENAMES_ONLY = (1u << 15), + + /** Remove any UNMODIFIED deltas after find_similar is done. + * + * Using GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED to emulate the + * --find-copies-harder behavior requires building a diff with the + * GIT_DIFF_INCLUDE_UNMODIFIED flag. If you do not want UNMODIFIED + * records in the final result, pass this flag to have them removed. + */ + GIT_DIFF_FIND_REMOVE_UNMODIFIED = (1u << 16) +} git_diff_find_t; + +/** + * Pluggable similarity metric + */ +typedef struct { + int GIT_CALLBACK(file_signature)( + void **out, const git_diff_file *file, + const char *fullpath, void *payload); + int GIT_CALLBACK(buffer_signature)( + void **out, const git_diff_file *file, + const char *buf, size_t buflen, void *payload); + void GIT_CALLBACK(free_signature)(void *sig, void *payload); + int GIT_CALLBACK(similarity)(int *score, void *siga, void *sigb, void *payload); + void *payload; +} git_diff_similarity_metric; + +/** + * Control behavior of rename and copy detection + * + * These options mostly mimic parameters that can be passed to git-diff. + */ +typedef struct { + unsigned int version; + + /** + * Combination of git_diff_find_t values (default GIT_DIFF_FIND_BY_CONFIG). + * NOTE: if you don't explicitly set this, `diff.renames` could be set + * to false, resulting in `git_diff_find_similar` doing nothing. + */ + uint32_t flags; + + /** + * Threshold above which similar files will be considered renames. + * This is equivalent to the -M option. Defaults to 50. + */ + uint16_t rename_threshold; + + /** + * Threshold below which similar files will be eligible to be a rename source. + * This is equivalent to the first part of the -B option. Defaults to 50. + */ + uint16_t rename_from_rewrite_threshold; + + /** + * Threshold above which similar files will be considered copies. + * This is equivalent to the -C option. Defaults to 50. + */ + uint16_t copy_threshold; + + /** + * Threshold below which similar files will be split into a delete/add pair. + * This is equivalent to the last part of the -B option. Defaults to 60. + */ + uint16_t break_rewrite_threshold; + + /** + * Maximum number of matches to consider for a particular file. + * + * This is a little different from the `-l` option from Git because we + * will still process up to this many matches before abandoning the search. + * Defaults to 1000. + */ + size_t rename_limit; + + /** + * The `metric` option allows you to plug in a custom similarity metric. + * + * Set it to NULL to use the default internal metric. + * + * The default metric is based on sampling hashes of ranges of data in + * the file, which is a pretty good similarity approximation that should + * work fairly well for both text and binary data while still being + * pretty fast with a fixed memory overhead. + */ + git_diff_similarity_metric *metric; +} git_diff_find_options; + +/** Current version for the `git_diff_find_options` structure */ +#define GIT_DIFF_FIND_OPTIONS_VERSION 1 + +/** Static constructor for `git_diff_find_options` */ +#define GIT_DIFF_FIND_OPTIONS_INIT {GIT_DIFF_FIND_OPTIONS_VERSION} + +/** + * Initialize git_diff_find_options structure + * + * Initializes a `git_diff_find_options` with default values. Equivalent to creating + * an instance with GIT_DIFF_FIND_OPTIONS_INIT. + * + * @param opts The `git_diff_find_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_FIND_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_find_options_init( + git_diff_find_options *opts, + unsigned int version); + +/** @name Diff Generator Functions + * + * These are the functions you would use to create (or destroy) a + * git_diff from various objects in a repository. + */ +/**@{*/ + +/** + * Deallocate a diff. + * + * @param diff The previously created diff; cannot be used after free. + */ +GIT_EXTERN(void) git_diff_free(git_diff *diff); + +/** + * Create a diff with the difference between two tree objects. + * + * This is equivalent to `git diff ` + * + * 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`. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository containing the trees. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param new_tree A git_tree object to diff to, or NULL for empty tree. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_tree( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + git_tree *new_tree, + const git_diff_options *opts); + +/** + * Create a diff between a tree and repository index. + * + * This is equivalent to `git diff --cached ` or if you pass + * the HEAD tree, then like `git diff --cached`. + * + * 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. + * + * 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. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository containing the tree and index. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param index The index to diff with; repo index used if NULL. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_index( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + git_index *index, + const git_diff_options *opts); + +/** + * Create a diff between the repository index and the workdir directory. + * + * 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 ` + * using libgit2. + * + * 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. + * + * 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. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository. + * @param index The index to diff from; repo index used if NULL. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_index_to_workdir( + git_diff **diff, + git_repository *repo, + git_index *index, + const git_diff_options *opts); + +/** + * Create a diff between a tree and the working directory. + * + * 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. + * + * This is not the same as `git diff ` or `git diff-index + * `. 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. + * + * 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. + * + * @param diff A pointer to a git_diff pointer that will be allocated. + * @param repo The repository containing the tree. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_workdir( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + const git_diff_options *opts); + +/** + * Create a diff between a tree and the working directory using index data + * to account for staged deletes, tracked files, etc. + * + * This emulates `git diff ` 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. + * + * @param diff A pointer to a git_diff pointer that will be allocated. + * @param repo The repository containing the tree. + * @param old_tree A git_tree object to diff from, or NULL for empty tree. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_tree_to_workdir_with_index( + git_diff **diff, + git_repository *repo, + git_tree *old_tree, + const git_diff_options *opts); + +/** + * Create a diff with the difference between two index objects. + * + * The first index will be used for the "old_file" side of the delta and the + * second index will be used for the "new_file" side of the delta. + * + * @param diff Output pointer to a git_diff pointer to be allocated. + * @param repo The repository containing the indexes. + * @param old_index A git_index object to diff from. + * @param new_index A git_index object to diff to. + * @param opts Structure with options to influence diff or NULL for defaults. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_index_to_index( + git_diff **diff, + git_repository *repo, + git_index *old_index, + git_index *new_index, + const git_diff_options *opts); + +/** + * Merge one diff into another. + * + * This merges items from the "from" list into the "onto" list. The + * resulting diff will have all items that appear in either list. + * If an item appears in both lists, then it will be "merged" to appear + * as if the old version was from the "onto" list and the new version + * is from the "from" list (with the exception that if the item has a + * pending DELETE in the middle, then it will show as deleted). + * + * @param onto Diff to merge into. + * @param from Diff to merge. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_diff_merge( + git_diff *onto, + const git_diff *from); + +/** + * Transform a diff marking file renames, copies, etc. + * + * 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. + * + * @param diff diff to run detection algorithms on + * @param options Control how detection should be run, NULL for defaults + * @return 0 on success, -1 on failure + */ +GIT_EXTERN(int) git_diff_find_similar( + git_diff *diff, + const git_diff_find_options *options); + +/**@}*/ + + +/** @name Diff Processor Functions + * + * These are the functions you apply to a diff to process it + * or read it in some way. + */ +/**@{*/ + +/** + * Query how many diff records are there in a diff. + * + * @param diff A git_diff generated by one of the above functions + * @return Count of number of deltas in the list + */ +GIT_EXTERN(size_t) git_diff_num_deltas(const git_diff *diff); + +/** + * Query how many diff deltas are there in a diff filtered by type. + * + * This works just like `git_diff_num_deltas()` with an extra parameter + * that is a `git_delta_t` and returns just the count of how many deltas + * match that particular type. + * + * @param diff A git_diff generated by one of the above functions + * @param type A git_delta_t value to filter the count + * @return Count of number of deltas matching delta_t type + */ +GIT_EXTERN(size_t) git_diff_num_deltas_of_type( + const git_diff *diff, git_delta_t type); + +/** + * Return the diff delta for an entry in the diff list. + * + * The `git_diff_delta` pointer points to internal data and you do not + * have to release it when you are done with it. It will go away when + * the * `git_diff` (or any associated `git_patch`) goes away. + * + * Note that the flags on the delta related to whether it has binary + * content or not may not be set if there are no attributes set for the + * file and there has been no reason to load the file data at this point. + * For now, if you need those flags to be up to date, your only option is + * to either use `git_diff_foreach` or create a `git_patch`. + * + * @param diff Diff list object + * @param idx Index into diff list + * @return Pointer to git_diff_delta (or NULL if `idx` out of range) + */ +GIT_EXTERN(const git_diff_delta *) git_diff_get_delta( + const git_diff *diff, size_t idx); + +/** + * Check if deltas are sorted case sensitively or insensitively. + * + * @param diff diff to check + * @return 0 if case sensitive, 1 if case is ignored + */ +GIT_EXTERN(int) git_diff_is_sorted_icase(const git_diff *diff); + +/** + * Loop over all deltas in a diff issuing callbacks. + * + * This will iterate through all of the files described in a diff. You + * should provide a file callback to learn about each file. + * + * The "hunk" and "line" callbacks are optional, and the text diff of the + * files will only be calculated if they are not NULL. Of course, these + * callbacks will not be invoked for binary files on the diff or for + * files whose only changed is a file mode change. + * + * Returning a non-zero value from any of the callbacks will terminate + * the iteration and return the value to the user. + * + * @param diff A git_diff generated by one of the above functions. + * @param file_cb Callback function to make per file in the diff. + * @param binary_cb Optional callback to make for binary files. + * @param hunk_cb Optional callback to make per hunk of text diff. This + * callback is called to describe a range of lines in the + * diff. It will not be issued for binary files. + * @param line_cb Optional callback to make per line of diff text. This + * same callback will be made for context lines, added, and + * removed lines, and even for a deleted trailing newline. + * @param payload Reference pointer that will be passed to your callbacks. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_foreach( + git_diff *diff, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/** + * Look up the single character abbreviation for a delta status code. + * + * When you run `git diff --name-status` it uses single letter codes in + * the output such as 'A' for added, 'D' for deleted, 'M' for modified, + * etc. This function converts a git_delta_t value into these letters for + * your own purposes. GIT_DELTA_UNTRACKED will return a space (i.e. ' '). + * + * @param status The git_delta_t value to look up + * @return The single character label for that code + */ +GIT_EXTERN(char) git_diff_status_char(git_delta_t status); + +/** + * Possible output formats for diff data + */ +typedef enum { + GIT_DIFF_FORMAT_PATCH = 1u, /**< full git diff */ + GIT_DIFF_FORMAT_PATCH_HEADER = 2u, /**< just the file headers of patch */ + GIT_DIFF_FORMAT_RAW = 3u, /**< like git diff --raw */ + GIT_DIFF_FORMAT_NAME_ONLY = 4u, /**< like git diff --name-only */ + GIT_DIFF_FORMAT_NAME_STATUS = 5u, /**< like git diff --name-status */ + GIT_DIFF_FORMAT_PATCH_ID = 6u /**< git diff as used by git patch-id */ +} git_diff_format_t; + +/** + * Iterate over a diff generating formatted text output. + * + * Returning a non-zero value from the callbacks will terminate the + * iteration and return the non-zero value to the caller. + * + * @param diff A git_diff generated by one of the above functions. + * @param format A git_diff_format_t value to pick the text format. + * @param print_cb Callback to make per line of diff text. + * @param payload Reference pointer that will be passed to your callback. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_print( + git_diff *diff, + git_diff_format_t format, + git_diff_line_cb print_cb, + void *payload); + +/** + * Produce the complete formatted text output from a diff into a + * buffer. + * + * @param out A pointer to a user-allocated git_buf that will + * contain the diff text + * @param diff A git_diff generated by one of the above functions. + * @param format A git_diff_format_t value to pick the text format. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_diff_to_buf( + git_buf *out, + git_diff *diff, + git_diff_format_t format); + +/**@}*/ + +/* + * Low-level file comparison, invoking callbacks per difference. + */ + +/** + * Directly run a diff on two blobs. + * + * Compared to a file, a blob lacks some contextual information. As such, + * the `git_diff_file` given to the callback will have some fake data; i.e. + * `mode` will be 0 and `path` will be NULL. + * + * NULL is allowed for either `old_blob` or `new_blob` and will be treated + * as an empty blob, with the `oid` set to NULL in the `git_diff_file` data. + * Passing NULL for both blobs is a noop; no callbacks will be made at all. + * + * We do run a binary content check on the blob content and if either blob + * looks like binary data, the `git_diff_delta` binary attribute will be set + * to 1 and no call to the hunk_cb nor line_cb will be made (unless you pass + * `GIT_DIFF_FORCE_TEXT` of course). + * + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param new_blob Blob for new side of diff, or NULL for empty blob + * @param new_as_path Treat new blob as if it had this filename; can be NULL + * @param options Options for diff, or NULL for default options + * @param file_cb Callback for "file"; made once if there is a diff; can be NULL + * @param binary_cb Callback for binary files; can be NULL + * @param hunk_cb Callback for each hunk in diff; can be NULL + * @param line_cb Callback for each line in diff; can be NULL + * @param payload Payload passed to each callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_blobs( + const git_blob *old_blob, + const char *old_as_path, + const git_blob *new_blob, + const char *new_as_path, + const git_diff_options *options, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/** + * Directly run a diff between a blob and a buffer. + * + * As with `git_diff_blobs`, comparing a blob and buffer lacks some context, + * so the `git_diff_file` parameters to the callbacks will be faked a la the + * rules for `git_diff_blobs()`. + * + * Passing NULL for `old_blob` will be treated as an empty blob (i.e. the + * `file_cb` will be invoked with GIT_DELTA_ADDED and the diff will be the + * entire content of the buffer added). Passing NULL to the buffer will do + * the reverse, with GIT_DELTA_REMOVED and blob content removed. + * + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param buffer Raw data for new side of diff, or NULL for empty + * @param buffer_len Length of raw data for new side of diff + * @param buffer_as_path Treat buffer as if it had this filename; can be NULL + * @param options Options for diff, or NULL for default options + * @param file_cb Callback for "file"; made once if there is a diff; can be NULL + * @param binary_cb Callback for binary files; can be NULL + * @param hunk_cb Callback for each hunk in diff; can be NULL + * @param line_cb Callback for each line in diff; can be NULL + * @param payload Payload passed to each callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_blob_to_buffer( + const git_blob *old_blob, + const char *old_as_path, + const char *buffer, + size_t buffer_len, + const char *buffer_as_path, + const git_diff_options *options, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/** + * Directly run a diff between two buffers. + * + * Even more than with `git_diff_blobs`, comparing two buffer lacks + * context, so the `git_diff_file` parameters to the callbacks will be + * faked a la the rules for `git_diff_blobs()`. + * + * @param old_buffer Raw data for old side of diff, or NULL for empty + * @param old_len Length of the raw data for old side of the diff + * @param old_as_path Treat old buffer as if it had this filename; can be NULL + * @param new_buffer Raw data for new side of diff, or NULL for empty + * @param new_len Length of raw data for new side of diff + * @param new_as_path Treat buffer as if it had this filename; can be NULL + * @param options Options for diff, or NULL for default options + * @param file_cb Callback for "file"; made once if there is a diff; can be NULL + * @param binary_cb Callback for binary files; can be NULL + * @param hunk_cb Callback for each hunk in diff; can be NULL + * @param line_cb Callback for each line in diff; can be NULL + * @param payload Payload passed to each callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_diff_buffers( + const void *old_buffer, + size_t old_len, + const char *old_as_path, + const void *new_buffer, + size_t new_len, + const char *new_as_path, + const git_diff_options *options, + git_diff_file_cb file_cb, + git_diff_binary_cb binary_cb, + git_diff_hunk_cb hunk_cb, + git_diff_line_cb line_cb, + void *payload); + +/* Patch file parsing. */ + +/** + * Options for parsing a diff / patch file. + */ +typedef struct { + unsigned int version; + git_oid_t oid_type; +} git_diff_parse_options; + +/** The current version of the diff parse options structure */ +#define GIT_DIFF_PARSE_OPTIONS_VERSION 1 + +/** Stack initializer for diff parse options. Alternatively use + * `git_diff_parse_options_init` programmatic initialization. + */ +#define GIT_DIFF_PARSE_OPTIONS_INIT \ + { GIT_DIFF_PARSE_OPTIONS_VERSION, GIT_OID_DEFAULT } + +/** + * Read the contents of a git patch file into a `git_diff` object. + * + * The diff object produced is similar to the one that would be + * produced if you actually produced it computationally by comparing + * two trees, however there may be subtle differences. For example, + * a patch file likely contains abbreviated object IDs, so the + * object IDs in a `git_diff_delta` produced by this function will + * also be abbreviated. + * + * This function will only read patch files created by a git + * implementation, it will not read unified diffs produced by + * the `diff` program, nor any other types of patch files. + * + * @param out A pointer to a git_diff pointer that will be allocated. + * @param content The contents of a patch file + * @param content_len The length of the patch file contents + * @return 0 or an error code + */ +GIT_EXTERN(int) git_diff_from_buffer( + git_diff **out, + const char *content, + size_t content_len +#ifdef GIT_EXPERIMENTAL_SHA256 + , git_diff_parse_options *opts +#endif + ); + +/** + * This is an opaque structure which is allocated by `git_diff_get_stats`. + * You are responsible for releasing the object memory when done, using the + * `git_diff_stats_free()` function. + */ +typedef struct git_diff_stats git_diff_stats; + +/** + * Formatting options for diff stats + */ +typedef enum { + /** No stats*/ + GIT_DIFF_STATS_NONE = 0, + + /** Full statistics, equivalent of `--stat` */ + GIT_DIFF_STATS_FULL = (1u << 0), + + /** Short statistics, equivalent of `--shortstat` */ + GIT_DIFF_STATS_SHORT = (1u << 1), + + /** Number statistics, equivalent of `--numstat` */ + GIT_DIFF_STATS_NUMBER = (1u << 2), + + /** Extended header information such as creations, renames and mode changes, equivalent of `--summary` */ + GIT_DIFF_STATS_INCLUDE_SUMMARY = (1u << 3) +} git_diff_stats_format_t; + +/** + * Accumulate diff statistics for all patches. + * + * @param out Structure containing the diff statistics. + * @param diff A git_diff generated by one of the above functions. + * @return 0 on success; non-zero on error + */ +GIT_EXTERN(int) git_diff_get_stats( + git_diff_stats **out, + git_diff *diff); + +/** + * Get the total number of files changed in a diff + * + * @param stats A `git_diff_stats` generated by one of the above functions. + * @return total number of files changed in the diff + */ +GIT_EXTERN(size_t) git_diff_stats_files_changed( + const git_diff_stats *stats); + +/** + * Get the total number of insertions in a diff + * + * @param stats A `git_diff_stats` generated by one of the above functions. + * @return total number of insertions in the diff + */ +GIT_EXTERN(size_t) git_diff_stats_insertions( + const git_diff_stats *stats); + +/** + * Get the total number of deletions in a diff + * + * @param stats A `git_diff_stats` generated by one of the above functions. + * @return total number of deletions in the diff + */ +GIT_EXTERN(size_t) git_diff_stats_deletions( + const git_diff_stats *stats); + +/** + * Print diff statistics to a `git_buf`. + * + * @param out buffer to store the formatted diff statistics in. + * @param stats A `git_diff_stats` generated by one of the above functions. + * @param format Formatting option. + * @param width Target width for output (only affects GIT_DIFF_STATS_FULL) + * @return 0 on success; non-zero on error + */ +GIT_EXTERN(int) git_diff_stats_to_buf( + git_buf *out, + const git_diff_stats *stats, + git_diff_stats_format_t format, + size_t width); + +/** + * Deallocate a `git_diff_stats`. + * + * @param stats The previously created statistics object; + * cannot be used after free. + */ +GIT_EXTERN(void) git_diff_stats_free(git_diff_stats *stats); + +/** + * Patch ID options structure + * + * Initialize with `GIT_PATCHID_OPTIONS_INIT`. Alternatively, you can + * use `git_diff_patchid_options_init`. + * + */ +typedef struct git_diff_patchid_options { + unsigned int version; +} git_diff_patchid_options; + +/** Current version for the `git_diff_patchid_options` structure */ +#define GIT_DIFF_PATCHID_OPTIONS_VERSION 1 + +/** Static constructor for `git_diff_patchid_options` */ +#define GIT_DIFF_PATCHID_OPTIONS_INIT { GIT_DIFF_PATCHID_OPTIONS_VERSION } + +/** + * Initialize git_diff_patchid_options structure + * + * Initializes a `git_diff_patchid_options` with default values. Equivalent to + * creating an instance with `GIT_DIFF_PATCHID_OPTIONS_INIT`. + * + * @param opts The `git_diff_patchid_options` struct to initialize. + * @param version The struct version; pass `GIT_DIFF_PATCHID_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_diff_patchid_options_init( + git_diff_patchid_options *opts, + unsigned int version); + +/** + * Calculate the patch ID for the given patch. + * + * 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. + * + * 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. + * + * @param out Pointer where the calculated patch ID should be stored + * @param diff The diff to calculate the ID for + * @param opts Options for how to calculate the patch ID. This is + * intended for future changes, as currently no options are + * available. + * @return 0 on success, an error code otherwise. + */ +GIT_EXTERN(int) git_diff_patchid(git_oid *out, git_diff *diff, git_diff_patchid_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/email.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/email.h new file mode 100644 index 00000000..ad37e424 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/email.h @@ -0,0 +1,107 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_email_h__ +#define INCLUDE_git_email_h__ + +#include "common.h" +#include "diff.h" + +/** + * @file git2/email.h + * @brief Produce email-ready patches + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Formatting options for diff e-mail generation + */ +typedef enum { + /** Normal patch, the default */ + GIT_EMAIL_CREATE_DEFAULT = 0, + + /** Do not include patch numbers in the subject prefix. */ + GIT_EMAIL_CREATE_OMIT_NUMBERS = (1u << 0), + + /** + * Include numbers in the subject prefix even when the + * patch is for a single commit (1/1). + */ + GIT_EMAIL_CREATE_ALWAYS_NUMBER = (1u << 1), + + /** Do not perform rename or similarity detection. */ + GIT_EMAIL_CREATE_NO_RENAMES = (1u << 2) +} git_email_create_flags_t; + +/** + * Options for controlling the formatting of the generated e-mail. + */ +typedef struct { + unsigned int version; + + /** see `git_email_create_flags_t` above */ + uint32_t flags; + + /** Options to use when creating diffs */ + git_diff_options diff_opts; + + /** Options for finding similarities within diffs */ + git_diff_find_options diff_find_opts; + + /** + * The subject prefix, by default "PATCH". If set to an empty + * string ("") then only the patch numbers will be shown in the + * prefix. If the subject_prefix is empty and patch numbers + * are not being shown, the prefix will be omitted entirely. + */ + const char *subject_prefix; + + /** + * The starting patch number; this cannot be 0. By default, + * this is 1. + */ + size_t start_number; + + /** The "re-roll" number. By default, there is no re-roll. */ + size_t reroll_number; +} git_email_create_options; + +/** Current version for the `git_email_create_options` structure */ +#define GIT_EMAIL_CREATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_email_create_options` + * + * By default, our options include rename detection and binary + * diffs to match `git format-patch`. + */ +#define GIT_EMAIL_CREATE_OPTIONS_INIT \ +{ \ + GIT_EMAIL_CREATE_OPTIONS_VERSION, \ + GIT_EMAIL_CREATE_DEFAULT, \ + { GIT_DIFF_OPTIONS_VERSION, GIT_DIFF_SHOW_BINARY, GIT_SUBMODULE_IGNORE_UNSPECIFIED, {NULL,0}, NULL, NULL, NULL, 3 }, \ + GIT_DIFF_FIND_OPTIONS_INIT \ +} + +/** + * Create a diff for a commit in mbox format for sending via email. + * The commit must not be a merge commit. + * + * @param out buffer to store the e-mail patch in + * @param commit commit to create a patch for + * @param opts email creation options + * @return 0 or an error code + */ +GIT_EXTERN(int) git_email_create_from_commit( + git_buf *out, + git_commit *commit, + const git_email_create_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/errors.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/errors.h new file mode 100644 index 00000000..11413907 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/errors.h @@ -0,0 +1,154 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_errors_h__ +#define INCLUDE_git_errors_h__ + +#include "common.h" + +/** + * @file git2/errors.h + * @brief Error handling routines and variables + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Generic return codes */ +typedef enum { + /** + * No error occurred; the call was successful. + */ + GIT_OK = 0, + + /** + * An error occurred; call `git_error_last` for more information. + */ + GIT_ERROR = -1, + + GIT_ENOTFOUND = -3, /**< Requested object could not be found. */ + GIT_EEXISTS = -4, /**< Object exists preventing operation. */ + GIT_EAMBIGUOUS = -5, /**< More than one object matches. */ + GIT_EBUFS = -6, /**< Output buffer too short to hold data. */ + + /** + * GIT_EUSER is a special error that is never generated by libgit2 + * code. You can return it from a callback (e.g to stop an iteration) + * to know that it was generated by the callback and not by libgit2. + */ + GIT_EUSER = -7, + + GIT_EBAREREPO = -8, /**< Operation not allowed on bare repository. */ + GIT_EUNBORNBRANCH = -9, /**< HEAD refers to branch with no commits. */ + GIT_EUNMERGED = -10, /**< Merge in progress prevented operation */ + GIT_ENONFASTFORWARD = -11, /**< Reference was not fast-forwardable */ + GIT_EINVALIDSPEC = -12, /**< Name/ref spec was not in a valid format */ + GIT_ECONFLICT = -13, /**< Checkout conflicts prevented operation */ + GIT_ELOCKED = -14, /**< Lock file prevented operation */ + GIT_EMODIFIED = -15, /**< Reference value does not match expected */ + GIT_EAUTH = -16, /**< Authentication error */ + GIT_ECERTIFICATE = -17, /**< Server certificate is invalid */ + GIT_EAPPLIED = -18, /**< Patch/merge has already been applied */ + GIT_EPEEL = -19, /**< The requested peel operation is not possible */ + GIT_EEOF = -20, /**< Unexpected EOF */ + GIT_EINVALID = -21, /**< Invalid operation or input */ + GIT_EUNCOMMITTED = -22, /**< Uncommitted changes in index prevented operation */ + GIT_EDIRECTORY = -23, /**< The operation is not valid for a directory */ + GIT_EMERGECONFLICT = -24, /**< A merge conflict exists and cannot continue */ + + GIT_PASSTHROUGH = -30, /**< A user-configured callback refused to act */ + GIT_ITEROVER = -31, /**< Signals end of iteration with iterator */ + GIT_RETRY = -32, /**< Internal only */ + GIT_EMISMATCH = -33, /**< Hashsum mismatch in object */ + GIT_EINDEXDIRTY = -34, /**< Unsaved changes in the index would be overwritten */ + GIT_EAPPLYFAIL = -35, /**< Patch application failed */ + GIT_EOWNER = -36, /**< The object is not owned by the current user */ + GIT_TIMEOUT = -37, /**< The operation timed out */ + GIT_EUNCHANGED = -38, /**< There were no changes */ + GIT_ENOTSUPPORTED = -39, /**< An option is not supported */ + GIT_EREADONLY = -40 /**< The subject is read-only */ +} git_error_code; + +/** + * Error classes are the category of error. They reflect the area of the + * code where an error occurred. + */ +typedef enum { + GIT_ERROR_NONE = 0, + GIT_ERROR_NOMEMORY, + GIT_ERROR_OS, + GIT_ERROR_INVALID, + GIT_ERROR_REFERENCE, + GIT_ERROR_ZLIB, + GIT_ERROR_REPOSITORY, + GIT_ERROR_CONFIG, + GIT_ERROR_REGEX, + GIT_ERROR_ODB, + GIT_ERROR_INDEX, + GIT_ERROR_OBJECT, + GIT_ERROR_NET, + GIT_ERROR_TAG, + GIT_ERROR_TREE, + GIT_ERROR_INDEXER, + GIT_ERROR_SSL, + GIT_ERROR_SUBMODULE, + GIT_ERROR_THREAD, + GIT_ERROR_STASH, + GIT_ERROR_CHECKOUT, + GIT_ERROR_FETCHHEAD, + GIT_ERROR_MERGE, + GIT_ERROR_SSH, + GIT_ERROR_FILTER, + GIT_ERROR_REVERT, + GIT_ERROR_CALLBACK, + GIT_ERROR_CHERRYPICK, + GIT_ERROR_DESCRIBE, + GIT_ERROR_REBASE, + GIT_ERROR_FILESYSTEM, + GIT_ERROR_PATCH, + GIT_ERROR_WORKTREE, + GIT_ERROR_SHA, + GIT_ERROR_HTTP, + GIT_ERROR_INTERNAL, + GIT_ERROR_GRAFTS +} git_error_t; + +/** + * Structure to store extra details of the last error that occurred. + * + * 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 + */ +typedef struct { + char *message; /**< The error message for the last error. */ + int klass; /**< The category of the last error. @type git_error_t */ +} git_error; + +/** + * Return the last `git_error` object that was generated for the + * current thread. + * + * This function will never return NULL. + * + * 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. + * + * 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.) + * + * The memory for this object is managed by libgit2. It should not + * be freed. + * + * @return A pointer to a `git_error` object that describes the error. + */ +GIT_EXTERN(const git_error *) git_error_last(void); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/experimental.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/experimental.h new file mode 100644 index 00000000..543f62f9 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/experimental.h @@ -0,0 +1,13 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_experimental_h__ +#define INCLUDE_experimental_h__ + +/* #undef GIT_EXPERIMENTAL_SHA256 */ + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/filter.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/filter.h new file mode 100644 index 00000000..cf6c5f59 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/filter.h @@ -0,0 +1,283 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_filter_h__ +#define INCLUDE_git_filter_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "buffer.h" + +/** + * @file git2/filter.h + * @brief Filters modify files during checkout or commit + * @ingroup Git + * + * During checkout, filters update a file from a "canonical" state to + * a format appropriate for the local filesystem; during commit, filters + * produce the canonical state. For example, on Windows, the line ending + * filters _may_ take a canonical state (with Unix-style newlines) in + * the repository, and place the contents on-disk with Windows-style + * `\r\n` line endings. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Filters are applied in one of two directions: smudging - which is + * exporting a file from the Git object database to the working directory, + * and cleaning - which is importing a file from the working directory to + * the Git object database. These values control which direction of + * change is being applied. + */ +typedef enum { + GIT_FILTER_TO_WORKTREE = 0, + GIT_FILTER_SMUDGE = GIT_FILTER_TO_WORKTREE, + GIT_FILTER_TO_ODB = 1, + GIT_FILTER_CLEAN = GIT_FILTER_TO_ODB +} git_filter_mode_t; + +/** + * Filter option flags. + */ +typedef enum { + GIT_FILTER_DEFAULT = 0u, + + /** Don't error for `safecrlf` violations, allow them to continue. */ + GIT_FILTER_ALLOW_UNSAFE = (1u << 0), + + /** Don't load `/etc/gitattributes` (or the system equivalent) */ + GIT_FILTER_NO_SYSTEM_ATTRIBUTES = (1u << 1), + + /** Load attributes from `.gitattributes` in the root of HEAD */ + GIT_FILTER_ATTRIBUTES_FROM_HEAD = (1u << 2), + + /** + * Load attributes from `.gitattributes` in a given commit. + * This can only be specified in a `git_filter_options`. + */ + GIT_FILTER_ATTRIBUTES_FROM_COMMIT = (1u << 3) +} git_filter_flag_t; + +/** + * Filtering options + */ +typedef struct { + unsigned int version; + + /** See `git_filter_flag_t` above */ + uint32_t flags; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + git_oid *commit_id; +#endif + + /** + * The commit to load attributes from, when + * `GIT_FILTER_ATTRIBUTES_FROM_COMMIT` is specified. + */ + git_oid attr_commit_id; +} git_filter_options; + +/** Current version for the `git_filter_options` structure */ +#define GIT_FILTER_OPTIONS_VERSION 1 + +/** Static constructor for `git_filter_options` */ +#define GIT_FILTER_OPTIONS_INIT {GIT_FILTER_OPTIONS_VERSION} + +/** + * A filter that can transform file data + * + * 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). + * + * The two builtin filters are: + * + * * "crlf" which uses the complex rules with the "text", "eol", and + * "crlf" file attributes to decide how to convert between LF and CRLF + * line endings + * * "ident" which replaces "$Id$" in a blob with "$Id: $" upon + * checkout and replaced "$Id: $" with "$Id$" on checkin. + */ +typedef struct git_filter git_filter; + +/** + * List of filters to be applied + * + * 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. + */ +typedef struct git_filter_list git_filter_list; + +/** + * Load the filter list for a given path. + * + * This will return 0 (success) but set the output git_filter_list to NULL + * if no filters are requested for the given file. + * + * @param filters Output newly created git_filter_list (or NULL) + * @param repo Repository object that contains `path` + * @param blob The blob to which the filter will be applied (if known) + * @param path Relative path of the file to be filtered + * @param mode Filtering direction (WT->ODB or ODB->WT) + * @param flags Combination of `git_filter_flag_t` flags + * @return 0 on success (which could still return NULL if no filters are + * needed for the requested file), <0 on error + */ +GIT_EXTERN(int) git_filter_list_load( + git_filter_list **filters, + git_repository *repo, + git_blob *blob, /* can be NULL */ + const char *path, + git_filter_mode_t mode, + uint32_t flags); + +/** + * Load the filter list for a given path. + * + * This will return 0 (success) but set the output git_filter_list to NULL + * if no filters are requested for the given file. + * + * @param filters Output newly created git_filter_list (or NULL) + * @param repo Repository object that contains `path` + * @param blob The blob to which the filter will be applied (if known) + * @param path Relative path of the file to be filtered + * @param mode Filtering direction (WT->ODB or ODB->WT) + * @param opts The `git_filter_options` to use when loading filters + * @return 0 on success (which could still return NULL if no filters are + * needed for the requested file), <0 on error + */ +GIT_EXTERN(int) git_filter_list_load_ext( + git_filter_list **filters, + git_repository *repo, + git_blob *blob, + const char *path, + git_filter_mode_t mode, + git_filter_options *opts); + +/** + * Query the filter list to see if a given filter (by name) will run. + * The built-in filters "crlf" and "ident" can be queried, otherwise this + * is the name of the filter specified by the filter attribute. + * + * This will return 0 if the given filter is not in the list, or 1 if + * the filter will be applied. + * + * @param filters A loaded git_filter_list (or NULL) + * @param name The name of the filter to query + * @return 1 if the filter is in the list, 0 otherwise + */ +GIT_EXTERN(int) git_filter_list_contains( + git_filter_list *filters, + const char *name); + +/** + * Apply filter list to a data buffer. + * + * @param out Buffer to store the result of the filtering + * @param filters A loaded git_filter_list (or NULL) + * @param in Buffer containing the data to filter + * @param in_len The length of the input buffer + * @return 0 on success, an error code otherwise + */ +GIT_EXTERN(int) git_filter_list_apply_to_buffer( + git_buf *out, + git_filter_list *filters, + const char *in, + size_t in_len); + +/** + * Apply a filter list to the contents of a file on disk + * + * @param out buffer into which to store the filtered file + * @param filters the list of filters to apply + * @param repo the repository in which to perform the filtering + * @param path the path of the file to filter, a relative path will be + * taken as relative to the workdir + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_apply_to_file( + git_buf *out, + git_filter_list *filters, + git_repository *repo, + const char *path); + +/** + * Apply a filter list to the contents of a blob + * + * @param out buffer into which to store the filtered file + * @param filters the list of filters to apply + * @param blob the blob to filter + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_apply_to_blob( + git_buf *out, + git_filter_list *filters, + git_blob *blob); + +/** + * Apply a filter list to an arbitrary buffer as a stream + * + * @param filters the list of filters to apply + * @param buffer the buffer to filter + * @param len the size of the buffer + * @param target the stream into which the data will be written + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_stream_buffer( + git_filter_list *filters, + const char *buffer, + size_t len, + git_writestream *target); + +/** + * Apply a filter list to a file as a stream + * + * @param filters the list of filters to apply + * @param repo the repository in which to perform the filtering + * @param path the path of the file to filter, a relative path will be + * taken as relative to the workdir + * @param target the stream into which the data will be written + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_stream_file( + git_filter_list *filters, + git_repository *repo, + const char *path, + git_writestream *target); + +/** + * Apply a filter list to a blob as a stream + * + * @param filters the list of filters to apply + * @param blob the blob to filter + * @param target the stream into which the data will be written + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_filter_list_stream_blob( + git_filter_list *filters, + git_blob *blob, + git_writestream *target); + +/** + * Free a git_filter_list + * + * @param filters A git_filter_list created by `git_filter_list_load` + */ +GIT_EXTERN(void) git_filter_list_free(git_filter_list *filters); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_branch.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_branch.h new file mode 100644 index 00000000..8135a22a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_branch.h @@ -0,0 +1,24 @@ +#include "common.h" +#include "oid.h" +#include "types.h" +#include "branch.h" + +/** + * @file git2/branch.h + * @brief Git branch parsing routines + * @defgroup git_branch Git branch management + * @ingroup Git + * @{ + */ + +GIT_BEGIN_DECL +// PATCH +// These functions are aliases and can be safely removed. +// Use `git_#{func}` instead. +// Replace and remove this file later. +GIT_EXTERN(int) gitup_branch_upstream_name(git_buf *out, git_repository *repo, const char *refname); +GIT_EXTERN(int) gitup_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *refname); +GIT_EXTERN(int) gitup_branch_upstream_merge(git_buf *buf, git_repository *repo, const char *refname); + +/** @} */ +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_clone.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_clone.h new file mode 100644 index 00000000..be1b6cd5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_clone.h @@ -0,0 +1,24 @@ +#include "clone.h" +#include "common.h" +#include "types.h" +#include "indexer.h" +#include "checkout.h" +#include "remote.h" +#include "transport.h" + +/** + * @file git2/clone.h + * @brief Git cloning routines + * @defgroup git_clone Git cloning routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +GIT_EXTERN(int) gitup_clone_into(git_repository *repo, + git_remote *remote, + const git_fetch_options *fetch_opts, + const git_checkout_options *checkout_opts, + const char *branch); + +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_config.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_config.h new file mode 100644 index 00000000..af563bd5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_config.h @@ -0,0 +1,19 @@ +#include "config.h" + +GIT_BEGIN_DECL + +/** + * Locate the path to the local configuration file + * + * The returned path may be used on any `git_config` call to load the local + * configuration file. + * + * @param repo The repository whose local configuration file to find + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a local configuration file has been found. Its path will be stored in `out`. + */ +/// This function uses repository method item path. +/// Maybe it is better to use `repository` method `gitup_repository_find_local_config` +GIT_EXTERN(int) gitup_config_find_local(git_repository *repo, git_buf *out); + +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_refs.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_refs.h new file mode 100644 index 00000000..18d8c406 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_refs.h @@ -0,0 +1,35 @@ +#include "refs.h" + +GIT_BEGIN_DECL + +/** + * Create a virtual direct reference. + * + * This is wrapper for + * git_reference_create(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const char *log_message); + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference virtually lives + * @param name The name of the reference + * @param id The object id pointed to by the reference + * @return 0 on success or an error code + */ +GIT_EXTERN(int) gitup_reference_create_virtual(git_reference **out, git_repository *repo, const char *name, const git_oid *id); + +/** + * Create a virtual symbolic reference. + * + * Discussion + * + * This is a wrapper for + * git_reference_symbolic_create(git_reference **out, git_repository *repo, const char *name, const char *target, int force, const char *log_message); + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference virtually lives + * @param name The name of the reference + * @param target The target of the reference + * @return 0 on success or an error code + */ +GIT_EXTERN(int) gitup_reference_symbolic_create_virtual(git_reference **out, git_repository *repo, const char *name, const char *target); + +GIT_END_DECL \ No newline at end of file diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_repository.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_repository.h new file mode 100644 index 00000000..330f9408 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_repository.h @@ -0,0 +1,35 @@ +#include "repository.h" +#include "common.h" +#include "types.h" +#include "oid.h" +#include "buffer.h" + +/** + * @file git2/gitup_repository.h + * @brief Git repository management routines + * @defgroup git_repository Git repository management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Update or rewrite the gitlink in the workdir + */ +GIT_EXTERN(int) gitup_repository_update_gitlink( + git_repository *repo, int use_relative_path); + +/** + * Locate the path to the local configuration file + * + * The returned path may be used on any `git_config` call to load the local + * configuration file. + * + * @param repo The repository whose local configuration file to find + * @param out Pointer to a user-allocated git_buf in which to store the path + * @return 0 if a local configuration file has been found. Its path will be stored in `out`. + */ +GIT_EXTERN(int) gitup_repository_local_config_path(git_buf *out, git_repository *repo); + +/** @} */ +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_submodule.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_submodule.h new file mode 100644 index 00000000..9ca1cc20 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/gitup_submodule.h @@ -0,0 +1,12 @@ +#include "submodule.h" + +GIT_BEGIN_DECL + +/** + * Retains a submodule + * + * @param submodule Submodule object + */ +GIT_EXTERN(void) gitup_submodule_dup(git_submodule *submodule); + +GIT_END_DECL diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/global.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/global.h new file mode 100644 index 00000000..f15eb2d2 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/global.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_global_h__ +#define INCLUDE_git_global_h__ + +#include "common.h" + +/** + * @file git2/global.h + * @brief libgit2 library initializer and shutdown functionality + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Init the global state + * + * This function must be called before any other libgit2 function in + * order to set up global state and threading. + * + * 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. + * + * @return the number of initializations of the library, or an error code. + */ +GIT_EXTERN(int) git_libgit2_init(void); + +/** + * Shutdown the global state + * + * Clean up the global state and threading context after calling it as + * many times as `git_libgit2_init()` was called - it will return the + * number of remainining initializations that have not been shutdown + * (after this one). + * + * @return the number of remaining initializations of the library, or an + * error code. + */ +GIT_EXTERN(int) git_libgit2_shutdown(void); + +/** @} */ +GIT_END_DECL + +#endif + diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/graph.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/graph.h new file mode 100644 index 00000000..1792020a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/graph.h @@ -0,0 +1,78 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_graph_h__ +#define INCLUDE_git_graph_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/graph.h + * @brief Graph traversal routines + * @defgroup git_revwalk Git graph traversal routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Count the number of unique commits between two commit objects + * + * There is no need for branches containing the commits to have any + * upstream relationship, but it helps to think of one as a branch and + * the other as its upstream, the `ahead` and `behind` values will be + * what git would report for the branches. + * + * @param ahead number of unique from commits in `upstream` + * @param behind number of unique from commits in `local` + * @param repo the repository where the commits exist + * @param local the commit for local + * @param upstream the commit for upstream + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo, const git_oid *local, const git_oid *upstream); + + +/** + * Determine if a commit is the descendant of another commit. + * + * Note that a commit is not considered a descendant of itself, in contrast + * to `git merge-base --is-ancestor`. + * + * @param repo the repository where the commits exist + * @param commit a previously loaded commit + * @param ancestor a potential ancestor commit + * @return 1 if the given commit is a descendant of the potential ancestor, + * 0 if not, error code otherwise. + */ +GIT_EXTERN(int) git_graph_descendant_of( + git_repository *repo, + const git_oid *commit, + const git_oid *ancestor); + +/** + * Determine if a commit is reachable from any of a list of commits by + * following parent edges. + * + * @param repo the repository where the commits exist + * @param commit a previously loaded commit + * @param descendant_array oids of the commits + * @param length the number of commits in the provided `descendant_array` + * @return 1 if the given commit is an ancestor of any of the given potential + * descendants, 0 if not, error code otherwise. + */ +GIT_EXTERN(int) git_graph_reachable_from_any( + git_repository *repo, + const git_oid *commit, + const git_oid descendant_array[], + size_t length); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/ignore.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/ignore.h new file mode 100644 index 00000000..730f2214 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/ignore.h @@ -0,0 +1,88 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_ignore_h__ +#define INCLUDE_git_ignore_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/ignore.h + * @brief Ignore particular untracked files + * @ingroup Git + * @{ + * + * When examining the repository status, git can optionally ignore + * specified untracked files. + */ +GIT_BEGIN_DECL + +/** + * Add ignore rules for a repository. + * + * Excludesfile rules (i.e. .gitignore rules) are generally read from + * .gitignore files in the repository tree or from a shared system file + * only if a "core.excludesfile" config value is set. The library also + * keeps a set of per-repository internal ignores that can be configured + * in-memory and will not persist. This function allows you to add to + * that internal rules list. + * + * Example usage: + * + * error = git_ignore_add_rule(myrepo, "*.c\ndir/\nFile with space\n"); + * + * This would add three rules to the ignores. + * + * @param repo The repository to add ignore rules to. + * @param rules Text of rules, the contents to add on a .gitignore file. + * It is okay to have multiple rules in the text; if so, + * each rule should be terminated with a newline. + * @return 0 on success + */ +GIT_EXTERN(int) git_ignore_add_rule( + git_repository *repo, + const char *rules); + +/** + * Clear ignore rules that were explicitly added. + * + * Resets to the default internal ignore rules. This will not turn off + * rules in .gitignore files that actually exist in the filesystem. + * + * The default internal ignores ignore ".", ".." and ".git" entries. + * + * @param repo The repository to remove ignore rules from. + * @return 0 on success + */ +GIT_EXTERN(int) git_ignore_clear_internal_rules( + git_repository *repo); + +/** + * Test if the ignore rules apply to a given path. + * + * 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. + * + * 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? + * + * @param ignored boolean returning 0 if the file is not ignored, 1 if it is + * @param repo a repository object + * @param path the file to check ignores for, relative to the repo's workdir. + * @return 0 if ignore rules could be processed for the file (regardless + * of whether it exists or not), or an error < 0 if they could not. + */ +GIT_EXTERN(int) git_ignore_path_is_ignored( + int *ignored, + git_repository *repo, + const char *path); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/index.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/index.h new file mode 100644 index 00000000..0adff1ab --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/index.h @@ -0,0 +1,933 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_index_h__ +#define INCLUDE_git_index_h__ + +#include "common.h" +#include "indexer.h" +#include "types.h" +#include "oid.h" +#include "strarray.h" + +/** + * @file git2/index.h + * @brief Index (aka "cache" aka "staging area") + * @defgroup git_index Git index parsing and manipulation routines + * @ingroup Git + * + * The index (or "cache", or "staging area") is the contents of the + * next commit. In addition, the index stores other data, such as + * conflicts that occurred during the last merge operation, and + * the "treecache" to speed up various on-disk operations. + * @{ + */ +GIT_BEGIN_DECL + +/** Time structure used in a git index entry */ +typedef struct { + int32_t seconds; + /* nsec should not be stored as time_t compatible */ + uint32_t nanoseconds; +} git_index_time; + +/** + * In-memory representation of a file entry in the index. + * + * This is a public structure that represents a file entry in the index. + * The meaning of the fields corresponds to core Git's documentation (in + * "Documentation/technical/index-format.txt"). + * + * The `flags` field consists of a number of bit fields which can be + * accessed via the first set of `GIT_INDEX_ENTRY_...` bitmasks below. + * These flags are all read from and persisted to disk. + * + * The `flags_extended` field also has a number of bit fields which can be + * accessed via the later `GIT_INDEX_ENTRY_...` bitmasks below. Some of + * these flags are read from and written to disk, but some are set aside + * for in-memory only reference. + * + * Note that the time and size fields are truncated to 32 bits. This + * is enough to detect changes, which is enough for the index to + * function as a cache, but it should not be taken as an authoritative + * source for that data. + */ +typedef struct git_index_entry { + git_index_time ctime; + git_index_time mtime; + + uint32_t dev; + uint32_t ino; + uint32_t mode; + uint32_t uid; + uint32_t gid; + uint32_t file_size; + + git_oid id; + + uint16_t flags; + uint16_t flags_extended; + + const char *path; +} git_index_entry; + +/** + * Bitmasks for on-disk fields of `git_index_entry`'s `flags` + * + * These bitmasks match the four fields in the `git_index_entry` `flags` + * value both in memory and on disk. You can use them to interpret the + * data in the `flags`. + */ + +/** Mask for name length */ +#define GIT_INDEX_ENTRY_NAMEMASK (0x0fff) +/** Mask for index entry stage */ +#define GIT_INDEX_ENTRY_STAGEMASK (0x3000) +/** Shift bits for index entry */ +#define GIT_INDEX_ENTRY_STAGESHIFT 12 + +/** + * Flags for index entries + */ +typedef enum { + GIT_INDEX_ENTRY_EXTENDED = (0x4000), + GIT_INDEX_ENTRY_VALID = (0x8000) +} git_index_entry_flag_t; + +/** + * Macro to get the stage value (0 for the "main index", or a conflict + * value) from an index entry. + */ +#define GIT_INDEX_ENTRY_STAGE(E) \ + (((E)->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT) + +/** + * Macro to set the stage value (0 for the "main index", or a conflict + * value) for an index entry. + */ +#define GIT_INDEX_ENTRY_STAGE_SET(E,S) do { \ + (E)->flags = ((E)->flags & ~GIT_INDEX_ENTRY_STAGEMASK) | \ + (((S) & 0x03) << GIT_INDEX_ENTRY_STAGESHIFT); } while (0) + +/** + * Bitmasks for on-disk fields of `git_index_entry`'s `flags_extended` + * + * In memory, the `flags_extended` fields are divided into two parts: the + * fields that are read from and written to disk, and other fields that + * in-memory only and used by libgit2. Only the flags in + * `GIT_INDEX_ENTRY_EXTENDED_FLAGS` will get saved on-disk. + * + * Thee first three bitmasks match the three fields in the + * `git_index_entry` `flags_extended` value that belong on disk. You + * can use them to interpret the data in the `flags_extended`. + * + * The rest of the bitmasks match the other fields in the `git_index_entry` + * `flags_extended` value that are only used in-memory by libgit2. + * You can use them to interpret the data in the `flags_extended`. + * + */ +typedef enum { + GIT_INDEX_ENTRY_INTENT_TO_ADD = (1 << 13), + GIT_INDEX_ENTRY_SKIP_WORKTREE = (1 << 14), + + GIT_INDEX_ENTRY_EXTENDED_FLAGS = (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE), + + GIT_INDEX_ENTRY_UPTODATE = (1 << 2) +} git_index_entry_extended_flag_t; + +/** Capabilities of system that affect index actions. */ +typedef enum { + GIT_INDEX_CAPABILITY_IGNORE_CASE = 1, + GIT_INDEX_CAPABILITY_NO_FILEMODE = 2, + GIT_INDEX_CAPABILITY_NO_SYMLINKS = 4, + GIT_INDEX_CAPABILITY_FROM_OWNER = -1 +} git_index_capability_t; + + +/** + * Callback for APIs that add/remove/update files matching pathspec + * + * @param path the path + * @param matched_pathspec the given pathspec + * @param payload the user-specified payload + * @return 0 to continue with the index operation, positive number to skip this file for the index operation, negative number on failure + */ +typedef int GIT_CALLBACK(git_index_matched_path_cb)( + const char *path, const char *matched_pathspec, void *payload); + +/** Flags for APIs that add files matching pathspec */ +typedef enum { + GIT_INDEX_ADD_DEFAULT = 0, + GIT_INDEX_ADD_FORCE = (1u << 0), + GIT_INDEX_ADD_DISABLE_PATHSPEC_MATCH = (1u << 1), + GIT_INDEX_ADD_CHECK_PATHSPEC = (1u << 2) +} git_index_add_option_t; + +/** Git index stage states */ +typedef enum { + /** + * Match any index stage. + * + * Some index APIs take a stage to match; pass this value to match + * any entry matching the path regardless of stage. + */ + GIT_INDEX_STAGE_ANY = -1, + + /** A normal staged file in the index. */ + GIT_INDEX_STAGE_NORMAL = 0, + + /** The ancestor side of a conflict. */ + GIT_INDEX_STAGE_ANCESTOR = 1, + + /** The "ours" side of a conflict. */ + GIT_INDEX_STAGE_OURS = 2, + + /** The "theirs" side of a conflict. */ + GIT_INDEX_STAGE_THEIRS = 3 +} git_index_stage_t; + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * The options for opening or creating an index. + * + * Initialize with `GIT_INDEX_OPTIONS_INIT`. Alternatively, you can + * use `git_index_options_init`. + * + * @options[version] GIT_INDEX_OPTIONS_VERSION + * @options[init_macro] GIT_INDEX_OPTIONS_INIT + * @options[init_function] git_index_options_init + */ +typedef struct git_index_options { + unsigned int version; /**< The version */ + + /** + * The object ID type for the object IDs that exist in the index. + * + * If this is not specified, this defaults to `GIT_OID_SHA1`. + */ + git_oid_t oid_type; +} git_index_options; + +/** Current version for the `git_index_options` structure */ +#define GIT_INDEX_OPTIONS_VERSION 1 + +/** Static constructor for `git_index_options` */ +#define GIT_INDEX_OPTIONS_INIT { GIT_INDEX_OPTIONS_VERSION } + +/** + * Initialize git_index_options structure + * + * Initializes a `git_index_options` with default values. Equivalent to creating + * an instance with GIT_INDEX_OPTIONS_INIT. + * + * @param opts The `git_index_options` struct to initialize. + * @param version The struct version; pass `GIT_INDEX_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_index_options_init( + git_index_options *opts, + unsigned int version); + +/** + * Creates a new bare Git index object, without a repository to back + * it. This index object is capable of storing SHA256 objects. + * + * @param index_out the pointer for the new index + * @param index_path the path to the index file in disk + * @param opts the options for opening the index, or NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_open( + git_index **index_out, + const char *index_path, + const git_index_options *opts); + +/** + * Create an in-memory index object. + * + * @param index_out the pointer for the new index + * @param opts the options for opening the index, or NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_new(git_index **index_out, const git_index_options *opts); + +#else + +/** + * Create a new bare Git index object as a memory representation + * of the Git index file in 'index_path', without a repository + * to back it. + * + * 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. + * + * If you need to access the index of an actual repository, + * use the `git_repository_index` wrapper. + * + * The index must be freed once it's no longer in use. + * + * @param index_out the pointer for the new index + * @param index_path the path to the index file in disk + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_open(git_index **index_out, const char *index_path); + +/** + * Create an in-memory index object. + * + * This index object cannot be read/written to the filesystem, + * but may be used to perform in-memory index operations. + * + * The index must be freed once it's no longer in use. + * + * @param index_out the pointer for the new index + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_new(git_index **index_out); + +#endif + +/** + * Free an existing index object. + * + * @param index an existing index object + */ +GIT_EXTERN(void) git_index_free(git_index *index); + +/** + * Get the repository this index relates to + * + * @param index The index + * @return A pointer to the repository + */ +GIT_EXTERN(git_repository *) git_index_owner(const git_index *index); + +/** + * Read index capabilities flags. + * + * @param index An existing index object + * @return A combination of GIT_INDEX_CAPABILITY values + */ +GIT_EXTERN(int) git_index_caps(const git_index *index); + +/** + * Set index capabilities flags. + * + * If you pass `GIT_INDEX_CAPABILITY_FROM_OWNER` for the caps, then + * capabilities will be read from the config of the owner object, + * looking at `core.ignorecase`, `core.filemode`, `core.symlinks`. + * + * @param index An existing index object + * @param caps A combination of GIT_INDEX_CAPABILITY values + * @return 0 on success, -1 on failure + */ +GIT_EXTERN(int) git_index_set_caps(git_index *index, int caps); + +/** + * Get index on-disk version. + * + * Valid return values are 2, 3, or 4. If 3 is returned, an index + * with version 2 may be written instead, if the extension data in + * version 3 is not necessary. + * + * @param index An existing index object + * @return the index version + */ +GIT_EXTERN(unsigned int) git_index_version(git_index *index); + +/** + * Set index on-disk version. + * + * Valid values are 2, 3, or 4. If 2 is given, git_index_write may + * write an index with version 3 instead, if necessary to accurately + * represent the index. + * + * @param index An existing index object + * @param version The new version number + * @return 0 on success, -1 on failure + */ +GIT_EXTERN(int) git_index_set_version(git_index *index, unsigned int version); + +/** + * Update the contents of an existing index object in memory by reading + * from the hard disk. + * + * If `force` is true, this performs a "hard" read that discards in-memory + * changes and always reloads the on-disk index data. If there is no + * on-disk version, the index will be cleared. + * + * If `force` is false, this does a "soft" read that reloads the index + * data from disk only if it has changed since the last time it was + * loaded. Purely in-memory index data will be untouched. Be aware: if + * there are changes on disk, unwritten in-memory changes are discarded. + * + * @param index an existing index object + * @param force if true, always reload, vs. only read if file has changed + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_read(git_index *index, int force); + +/** + * Write an existing index object from memory back to disk + * using an atomic file lock. + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_write(git_index *index); + +/** + * Get the full path to the index file on disk. + * + * @param index an existing index object + * @return path to index file or NULL for in-memory index + */ +GIT_EXTERN(const char *) git_index_path(const git_index *index); + +#ifndef GIT_DEPRECATE_HARD +/** + * Get the checksum of the index + * + * This checksum is the SHA-1 hash over the index file (except the + * last 20 bytes which are the checksum itself). In cases where the + * index does not exist on-disk, it will be zeroed out. + * + * @deprecated this function is deprecated with no replacement + * @param index an existing index object + * @return a pointer to the checksum of the index + */ +GIT_EXTERN(const git_oid *) git_index_checksum(git_index *index); +#endif + +/** + * Read a tree into the index file with stats + * + * The current index contents will be replaced by the specified tree. + * + * @param index an existing index object + * @param tree tree to read + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_read_tree(git_index *index, const git_tree *tree); + +/** + * Write the index as a tree + * + * 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. + * + * The index instance cannot be bare, and needs to be associated + * to an existing repository. + * + * The index must not contain any file in conflict. + * + * @param out Pointer where to store the OID of the written tree + * @param index Index to write + * @return 0 on success, GIT_EUNMERGED when the index is not clean + * or an error code + */ +GIT_EXTERN(int) git_index_write_tree(git_oid *out, git_index *index); + +/** + * Write the index as a tree to the given repository + * + * This method will do the same as `git_index_write_tree`, but + * letting the user choose the repository where the tree will + * be written. + * + * The index must not contain any file in conflict. + * + * @param out Pointer where to store OID of the written tree + * @param index Index to write + * @param repo Repository where to write the tree + * @return 0 on success, GIT_EUNMERGED when the index is not clean + * or an error code + */ +GIT_EXTERN(int) git_index_write_tree_to(git_oid *out, git_index *index, git_repository *repo); + +/**@}*/ + +/** @name Raw Index Entry Functions + * + * These functions work on index entries, and allow for raw manipulation + * of the entries. + */ +/**@{*/ + +/* Index entry manipulation */ + +/** + * Get the count of entries currently in the index + * + * @param index an existing index object + * @return integer of count of current entries + */ +GIT_EXTERN(size_t) git_index_entrycount(const git_index *index); + +/** + * Clear the contents (all the entries) of an index object. + * + * This clears the index object in memory; changes must be explicitly + * written to disk for them to take effect persistently. + * + * @param index an existing index object + * @return 0 on success, error code < 0 on failure + */ +GIT_EXTERN(int) git_index_clear(git_index *index); + +/** + * Get a pointer to one of the entries in the index + * + * 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. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the entry; NULL if out of bounds + */ +GIT_EXTERN(const git_index_entry *) git_index_get_byindex( + git_index *index, size_t n); + +/** + * Get a pointer to one of the entries in the index + * + * 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. + * + * @param index an existing index object + * @param path path to search + * @param stage stage to search + * @return a pointer to the entry; NULL if it was not found + */ +GIT_EXTERN(const git_index_entry *) git_index_get_bypath( + git_index *index, const char *path, int stage); + +/** + * Remove an entry from the index + * + * @param index an existing index object + * @param path path to search + * @param stage stage to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_remove(git_index *index, const char *path, int stage); + +/** + * Remove all entries from the index under a given directory + * + * @param index an existing index object + * @param dir container directory path + * @param stage stage to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_remove_directory( + git_index *index, const char *dir, int stage); + +/** + * Add or update an index entry from an in-memory struct + * + * If a previous index entry exists that has the same path and stage + * as the given 'source_entry', it will be replaced. Otherwise, the + * 'source_entry' will be added. + * + * A full copy (including the 'path' string) of the given + * 'source_entry' will be inserted on the index. + * + * @param index an existing index object + * @param source_entry new entry object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add(git_index *index, const git_index_entry *source_entry); + +/** + * Return the stage number from a git index entry + * + * This entry is calculated from the entry's flag attribute like this: + * + * (entry->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT + * + * @param entry The entry + * @return the stage number + */ +GIT_EXTERN(int) git_index_entry_stage(const git_index_entry *entry); + +/** + * Return whether the given index entry is a conflict (has a high stage + * entry). This is simply shorthand for `git_index_entry_stage > 0`. + * + * @param entry The entry + * @return 1 if the entry is a conflict entry, 0 otherwise + */ +GIT_EXTERN(int) git_index_entry_is_conflict(const git_index_entry *entry); + +/**@}*/ + +/** @name Index Entry Iteration Functions + * + * These functions provide an iterator for index entries. + */ +/**@{*/ + +/** + * Create an iterator that will return every entry contained in the + * index at the time of creation. Entries are returned in order, + * sorted by path. This iterator is backed by a snapshot that allows + * callers to modify the index while iterating without affecting the + * iterator. + * + * @param iterator_out The newly created iterator + * @param index The index to iterate + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_index_iterator_new( + git_index_iterator **iterator_out, + git_index *index); + +/** + * Return the next index entry in-order from the iterator. + * + * @param out Pointer to store the index entry in + * @param iterator The iterator + * @return 0, GIT_ITEROVER on iteration completion or an error code + */ +GIT_EXTERN(int) git_index_iterator_next( + const git_index_entry **out, + git_index_iterator *iterator); + +/** + * Free the index iterator + * + * @param iterator The iterator to free + */ +GIT_EXTERN(void) git_index_iterator_free(git_index_iterator *iterator); + +/**@}*/ + +/** @name Workdir Index Entry Functions + * + * These functions work on index entries specifically in the working + * directory (ie, stage 0). + */ +/**@{*/ + +/** + * Add or update an index entry from a file on disk + * + * The file `path` must be relative to the repository's + * working folder and must be readable. + * + * This method will fail in bare index instances. + * + * This forces the file to be added to the index, not looking + * at gitignore rules. Those rules can be evaluated through + * the git_status APIs (in status.h) before calling this. + * + * If this file currently is the result of a merge conflict, this + * file will no longer be marked as conflicting. The data about + * the conflict will be moved to the "resolve undo" (REUC) section. + * + * @param index an existing index object + * @param path filename to add + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add_bypath(git_index *index, const char *path); + +/** + * Add or update an index entry from a buffer in memory + * + * This method will create a blob in the repository that owns the + * index and then add the index entry to the index. The `path` of the + * entry represents the position of the blob relative to the + * repository's root folder. + * + * If a previous index entry exists that has the same path as the + * given 'entry', it will be replaced. Otherwise, the 'entry' will be + * added. + * + * This forces the file to be added to the index, not looking + * at gitignore rules. Those rules can be evaluated through + * the git_status APIs (in status.h) before calling this. + * + * If this file currently is the result of a merge conflict, this + * file will no longer be marked as conflicting. The data about + * the conflict will be moved to the "resolve undo" (REUC) section. + * + * @param index an existing index object + * @param entry filename to add + * @param buffer data to be written into the blob + * @param len length of the data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_add_from_buffer( + git_index *index, + const git_index_entry *entry, + const void *buffer, size_t len); + +/** + * Remove an index entry corresponding to a file on disk + * + * The file `path` must be relative to the repository's + * working folder. It may exist. + * + * If this file currently is the result of a merge conflict, this + * file will no longer be marked as conflicting. The data about + * the conflict will be moved to the "resolve undo" (REUC) section. + * + * @param index an existing index object + * @param path filename to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_remove_bypath(git_index *index, const char *path); + +/** + * Add or update index entries matching files in the working directory. + * + * This method will fail in bare index instances. + * + * 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. + * + * 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. + * + * 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. + * + * 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. + * + * 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. + * + * 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. + * + * @param index an existing index object + * @param pathspec array of path patterns + * @param flags combination of git_index_add_option_t flags + * @param callback notification callback for each added/updated path (also + * gets index of matching pathspec entry); can be NULL; + * return 0 to add, >0 to skip, <0 to abort scan. + * @param payload payload passed through to callback function + * @return 0 on success, negative callback return value, or error code + */ +GIT_EXTERN(int) git_index_add_all( + git_index *index, + const git_strarray *pathspec, + unsigned int flags, + git_index_matched_path_cb callback, + void *payload); + +/** + * Remove all matching index entries. + * + * If you provide a callback function, it will be invoked on each matching + * item in the index immediately *before* it is removed. Return 0 to + * remove the item, > 0 to skip the item, and < 0 to abort the scan. + * + * @param index An existing index object + * @param pathspec array of path patterns + * @param callback notification callback for each removed path (also + * gets index of matching pathspec entry); can be NULL; + * return 0 to add, >0 to skip, <0 to abort scan. + * @param payload payload passed through to callback function + * @return 0 on success, negative callback return value, or error code + */ +GIT_EXTERN(int) git_index_remove_all( + git_index *index, + const git_strarray *pathspec, + git_index_matched_path_cb callback, + void *payload); + +/** + * Update all index entries to match the working directory + * + * This method will fail in bare index instances. + * + * 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). + * + * 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. + * + * @param index An existing index object + * @param pathspec array of path patterns + * @param callback notification callback for each updated path (also + * gets index of matching pathspec entry); can be NULL; + * return 0 to add, >0 to skip, <0 to abort scan. + * @param payload payload passed through to callback function + * @return 0 on success, negative callback return value, or error code + */ +GIT_EXTERN(int) git_index_update_all( + git_index *index, + const git_strarray *pathspec, + git_index_matched_path_cb callback, + void *payload); + +/** + * Find the first position of any entries which point to given + * path in the Git index. + * + * @param at_pos the address to which the position of the index entry is written (optional) + * @param index an existing index object + * @param path path to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_find(size_t *at_pos, git_index *index, const char *path); + +/** + * Find the first position of any entries matching a prefix. To find the first position + * of a path inside a given folder, suffix the prefix with a '/'. + * + * @param at_pos the address to which the position of the index entry is written (optional) + * @param index an existing index object + * @param prefix the prefix to search for + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_find_prefix(size_t *at_pos, git_index *index, const char *prefix); + +/**@}*/ + +/** @name Conflict Index Entry Functions + * + * These functions work on conflict index entries specifically (ie, stages 1-3) + */ +/**@{*/ + +/** + * Add or update index entries to represent a conflict. Any staged + * entries that exist at the given paths will be removed. + * + * The entries are the entries from the tree included in the merge. Any + * entry may be null to indicate that that file was not present in the + * trees during the merge. For example, ancestor_entry may be NULL to + * indicate that a file was added in both branches and must be resolved. + * + * @param index an existing index object + * @param ancestor_entry the entry data for the ancestor of the conflict + * @param our_entry the entry data for our side of the merge conflict + * @param their_entry the entry data for their side of the merge conflict + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_add( + git_index *index, + const git_index_entry *ancestor_entry, + const git_index_entry *our_entry, + const git_index_entry *their_entry); + +/** + * Get the index entries that represent a conflict of a single file. + * + * The entries are 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. + * + * @param ancestor_out Pointer to store the ancestor entry + * @param our_out Pointer to store the our entry + * @param their_out Pointer to store the their entry + * @param index an existing index object + * @param path path to search + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_get( + const git_index_entry **ancestor_out, + const git_index_entry **our_out, + const git_index_entry **their_out, + git_index *index, + const char *path); + +/** + * Removes the index entries that represent a conflict of a single file. + * + * @param index an existing index object + * @param path path to remove conflicts for + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_remove(git_index *index, const char *path); + +/** + * Remove all conflicts in the index (entries with a stage greater than 0). + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_cleanup(git_index *index); + +/** + * Determine if the index contains entries representing file conflicts. + * + * @param index An existing index object. + * @return 1 if at least one conflict is found, 0 otherwise. + */ +GIT_EXTERN(int) git_index_has_conflicts(const git_index *index); + +/** + * Create an iterator for the conflicts in the index. + * + * The index must not be modified while iterating; the results are undefined. + * + * @param iterator_out The newly created conflict iterator + * @param index The index to scan + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_conflict_iterator_new( + git_index_conflict_iterator **iterator_out, + git_index *index); + +/** + * Returns the current conflict (ancestor, ours and theirs entry) and + * advance the iterator internally to the next value. + * + * @param ancestor_out Pointer to store the ancestor side of the conflict + * @param our_out Pointer to store our side of the conflict + * @param their_out Pointer to store their side of the conflict + * @param iterator The conflict iterator. + * @return 0 (no error), GIT_ITEROVER (iteration is done) or an error code + * (negative value) + */ +GIT_EXTERN(int) git_index_conflict_next( + const git_index_entry **ancestor_out, + const git_index_entry **our_out, + const git_index_entry **their_out, + git_index_conflict_iterator *iterator); + +/** + * Frees a `git_index_conflict_iterator`. + * + * @param iterator pointer to the iterator + */ +GIT_EXTERN(void) git_index_conflict_iterator_free( + git_index_conflict_iterator *iterator); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/indexer.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/indexer.h new file mode 100644 index 00000000..9aaedc3c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/indexer.h @@ -0,0 +1,212 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_indexer_h__ +#define INCLUDE_git_indexer_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/indexer.h + * @brief Packfile indexing + * @ingroup Git + * @{ + * + * Indexing is the operation of taking a packfile - which is simply a + * collection of unordered commits - and producing an "index" so that + * one can lookup a commit in the packfile by object ID. + */ +GIT_BEGIN_DECL + +/** A git indexer object */ +typedef struct git_indexer git_indexer; + +/** + * This structure is used to provide callers information about the + * progress of indexing a packfile, either directly or part of a + * fetch or clone that downloads a packfile. + */ +typedef struct git_indexer_progress { + /** number of objects in the packfile being indexed */ + unsigned int total_objects; + + /** received objects that have been hashed */ + unsigned int indexed_objects; + + /** received_objects: objects which have been downloaded */ + unsigned int received_objects; + + /** + * locally-available objects that have been injected in order + * to fix a thin pack + */ + unsigned int local_objects; + + /** number of deltas in the packfile being indexed */ + unsigned int total_deltas; + + /** received deltas that have been indexed */ + unsigned int indexed_deltas; + + /** size of the packfile received up to now */ + size_t received_bytes; +} git_indexer_progress; + +/** + * Type for progress callbacks during indexing. Return a value less + * than zero to cancel the indexing or download. + * + * @param stats Structure containing information about the state of the transfer + * @param payload Payload provided by caller + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_indexer_progress_cb)(const git_indexer_progress *stats, void *payload); + +/** + * Options for indexer configuration + */ +typedef struct git_indexer_options { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** permissions to use creating packfile or 0 for defaults */ + unsigned int mode; + + /** the type of object ids in the packfile or 0 for SHA1 */ + git_oid_t oid_type; + + /** + * object database from which to read base objects when + * fixing thin packs. This can be NULL if there are no thin + * packs; if a thin pack is encountered, an error will be + * returned if there are bases missing. + */ + git_odb *odb; +#endif + + /** progress_cb function to call with progress information */ + git_indexer_progress_cb progress_cb; + + /** progress_cb_payload payload for the progress callback */ + void *progress_cb_payload; + + /** Do connectivity checks for the received pack */ + unsigned char verify; +} git_indexer_options; + +/** Current version for the `git_indexer_options` structure */ +#define GIT_INDEXER_OPTIONS_VERSION 1 + +/** Static constructor for `git_indexer_options` */ +#define GIT_INDEXER_OPTIONS_INIT { GIT_INDEXER_OPTIONS_VERSION } + +/** + * Initializes a `git_indexer_options` with default values. Equivalent to + * creating an instance with GIT_INDEXER_OPTIONS_INIT. + * + * @param opts the `git_indexer_options` struct to initialize. + * @param version Version of struct; pass `GIT_INDEXER_OPTIONS_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_indexer_options_init( + git_indexer_options *opts, + unsigned int version); + +#ifdef GIT_EXPERIMENTAL_SHA256 +/** + * Create a new indexer instance + * + * @param out where to store the indexer instance + * @param path to the directory where the packfile should be stored + * @param opts the options to create the indexer with + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_new( + git_indexer **out, + const char *path, + git_indexer_options *opts); +#else +/** + * Create a new indexer instance + * + * @param out where to store the indexer instance + * @param path to the directory where the packfile should be stored + * @param mode permissions to use creating packfile or 0 for defaults + * @param odb object database from which to read base objects when + * fixing thin packs. Pass NULL if no thin pack is expected (an error + * will be returned if there are bases missing) + * @param opts Optional structure containing additional options. See + * `git_indexer_options` above. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_new( + git_indexer **out, + const char *path, + unsigned int mode, + git_odb *odb, + git_indexer_options *opts); +#endif + +/** + * Add data to the indexer + * + * @param idx the indexer + * @param data the data to add + * @param size the size of the data in bytes + * @param stats stat storage + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_append(git_indexer *idx, const void *data, size_t size, git_indexer_progress *stats); + +/** + * Finalize the pack and index + * + * Resolve any pending deltas and write out the index file + * + * @param idx the indexer + * @param stats Stat storage. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_indexer_commit(git_indexer *idx, git_indexer_progress *stats); + +#ifndef GIT_DEPRECATE_HARD +/** + * Get the packfile's hash + * + * A packfile's name is derived from the sorted hashing of all object + * names. This is only correct after the index has been finalized. + * + * @deprecated use git_indexer_name + * @param idx the indexer instance + * @return the packfile's hash + */ +GIT_EXTERN(const git_oid *) git_indexer_hash(const git_indexer *idx); +#endif + +/** + * Get the unique name for the resulting packfile. + * + * The packfile's name is derived from the packfile's content. + * This is only correct after the index has been finalized. + * + * @param idx the indexer instance + * @return a NUL terminated string for the packfile name + */ +GIT_EXTERN(const char *) git_indexer_name(const git_indexer *idx); + +/** + * Free the indexer and its resources + * + * @param idx the indexer to free + */ +GIT_EXTERN(void) git_indexer_free(git_indexer *idx); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/mailmap.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/mailmap.h new file mode 100644 index 00000000..fd6ae717 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/mailmap.h @@ -0,0 +1,121 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_mailmap_h__ +#define INCLUDE_git_mailmap_h__ + +#include "common.h" +#include "types.h" +#include "buffer.h" + +/** + * @file git2/mailmap.h + * @brief Mailmaps provide alternate email addresses for users + * @defgroup git_mailmap Git mailmap routines + * @ingroup Git + * @{ + * + * A mailmap can be used to specify alternate email addresses for + * repository committers or authors. This allows systems to map + * commits made using different email addresses to the same logical + * person. + */ +GIT_BEGIN_DECL + +/** + * Allocate a new mailmap object. + * + * This object is empty, so you'll have to add a mailmap file before you can do + * anything with it. The mailmap must be freed with 'git_mailmap_free'. + * + * @param out pointer to store the new mailmap + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_new(git_mailmap **out); + +/** + * Free the mailmap and its associated memory. + * + * @param mm the mailmap to free + */ +GIT_EXTERN(void) git_mailmap_free(git_mailmap *mm); + +/** + * Add a single entry to the given mailmap object. If the entry already exists, + * it will be replaced with the new entry. + * + * @param mm mailmap to add the entry to + * @param real_name the real name to use, or NULL + * @param real_email the real email to use, or NULL + * @param replace_name the name to replace, or NULL + * @param replace_email the email to replace + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_add_entry( + git_mailmap *mm, const char *real_name, const char *real_email, + const char *replace_name, const char *replace_email); + +/** + * Create a new mailmap instance containing a single mailmap file + * + * @param out pointer to store the new mailmap + * @param buf buffer to parse the mailmap from + * @param len the length of the input buffer + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_from_buffer( + git_mailmap **out, const char *buf, size_t len); + +/** + * Create a new mailmap instance from a repository, loading mailmap files based + * on the repository's configuration. + * + * Mailmaps are loaded in the following order: + * 1. '.mailmap' in the root of the repository's working directory, if present. + * 2. The blob object identified by the 'mailmap.blob' config entry, if set. + * [NOTE: 'mailmap.blob' defaults to 'HEAD:.mailmap' in bare repositories] + * 3. The path in the 'mailmap.file' config entry, if set. + * + * @param out pointer to store the new mailmap + * @param repo repository to load mailmap information from + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_from_repository( + git_mailmap **out, git_repository *repo); + +/** + * Resolve a name and email to the corresponding real name and email. + * + * The lifetime of the strings are tied to `mm`, `name`, and `email` parameters. + * + * @param real_name pointer to store the real name + * @param real_email pointer to store the real email + * @param mm the mailmap to perform a lookup with (may be NULL) + * @param name the name to look up + * @param email the email to look up + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_mailmap_resolve( + const char **real_name, const char **real_email, + const git_mailmap *mm, const char *name, const char *email); + +/** + * Resolve a signature to use real names and emails with a mailmap. + * + * Call `git_signature_free()` to free the data. + * + * @param out new signature + * @param mm mailmap to resolve with + * @param sig signature to resolve + * @return 0 or an error code + */ +GIT_EXTERN(int) git_mailmap_resolve_signature( + git_signature **out, const git_mailmap *mm, const git_signature *sig); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/merge.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/merge.h new file mode 100644 index 00000000..be3b065b --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/merge.h @@ -0,0 +1,671 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_merge_h__ +#define INCLUDE_git_merge_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "oidarray.h" +#include "checkout.h" +#include "index.h" +#include "annotated_commit.h" + +/** + * @file git2/merge.h + * @brief Merge re-joins diverging branches of history + * @defgroup git_merge Git merge routines + * @ingroup Git + * + * Merge will take two commits and attempt to produce a commit that + * includes the changes that were made in both branches. + * @{ + */ +GIT_BEGIN_DECL + +/** + * The file inputs to `git_merge_file`. Callers should populate the + * `git_merge_file_input` structure with descriptions of the files in + * each side of the conflict for use in producing the merge file. + */ +typedef struct { + unsigned int version; + + /** Pointer to the contents of the file. */ + const char *ptr; + + /** Size of the contents pointed to in `ptr`. */ + size_t size; + + /** File name of the conflicted file, or `NULL` to not merge the path. */ + const char *path; + + /** File mode of the conflicted file, or `0` to not merge the mode. */ + unsigned int mode; +} git_merge_file_input; + +/** Current version for the `git_merge_file_input_options` structure */ +#define GIT_MERGE_FILE_INPUT_VERSION 1 + +/** Static constructor for `git_merge_file_input_options` */ +#define GIT_MERGE_FILE_INPUT_INIT {GIT_MERGE_FILE_INPUT_VERSION} + +/** + * Initializes a `git_merge_file_input` with default values. Equivalent to + * creating an instance with GIT_MERGE_FILE_INPUT_INIT. + * + * @param opts the `git_merge_file_input` instance to initialize. + * @param version the version of the struct; you should pass + * `GIT_MERGE_FILE_INPUT_VERSION` here. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_merge_file_input_init( + git_merge_file_input *opts, + unsigned int version); + +/** + * Flags for `git_merge` options. A combination of these flags can be + * passed in via the `flags` value in the `git_merge_options`. + */ +typedef enum { + /** + * Detect renames that occur between the common ancestor and the "ours" + * side or the common ancestor and the "theirs" side. This will enable + * the ability to merge between a modified and renamed file. + */ + GIT_MERGE_FIND_RENAMES = (1 << 0), + + /** + * If a conflict occurs, exit immediately instead of attempting to + * continue resolving conflicts. The merge operation will fail with + * GIT_EMERGECONFLICT and no index will be returned. + */ + GIT_MERGE_FAIL_ON_CONFLICT = (1 << 1), + + /** + * Do not write the REUC extension on the generated index + */ + GIT_MERGE_SKIP_REUC = (1 << 2), + + /** + * If the commits being merged have multiple merge bases, do not build + * a recursive merge base (by merging the multiple merge bases), + * instead simply use the first base. This flag provides a similar + * merge base to `git-merge-resolve`. + */ + GIT_MERGE_NO_RECURSIVE = (1 << 3), + + /** + * Treat this merge as if it is to produce the virtual base + * of a recursive merge. This will ensure that there are + * no conflicts, any conflicting regions will keep conflict + * markers in the merge result. + */ + GIT_MERGE_VIRTUAL_BASE = (1 << 4) +} git_merge_flag_t; + +/** + * Merge file favor options for `git_merge_options` instruct the file-level + * merging functionality how to deal with conflicting regions of the files. + */ +typedef enum { + /** + * When a region of a file is changed in both branches, a conflict + * will be recorded in the index so that `git_checkout` can produce + * a merge file with conflict markers in the working directory. + * This is the default. + */ + GIT_MERGE_FILE_FAVOR_NORMAL = 0, + + /** + * When a region of a file is changed in both branches, the file + * created in the index will contain the "ours" side of any conflicting + * region. The index will not record a conflict. + */ + GIT_MERGE_FILE_FAVOR_OURS = 1, + + /** + * When a region of a file is changed in both branches, the file + * created in the index will contain the "theirs" side of any conflicting + * region. The index will not record a conflict. + */ + GIT_MERGE_FILE_FAVOR_THEIRS = 2, + + /** + * When a region of a file is changed in both branches, the file + * created in the index will contain each unique line from each side, + * which has the result of combining both files. The index will not + * record a conflict. + */ + GIT_MERGE_FILE_FAVOR_UNION = 3 +} git_merge_file_favor_t; + +/** + * File merging flags + */ +typedef enum { + /** Defaults */ + GIT_MERGE_FILE_DEFAULT = 0, + + /** Create standard conflicted merge files */ + GIT_MERGE_FILE_STYLE_MERGE = (1 << 0), + + /** Create diff3-style files */ + GIT_MERGE_FILE_STYLE_DIFF3 = (1 << 1), + + /** Condense non-alphanumeric regions for simplified diff file */ + GIT_MERGE_FILE_SIMPLIFY_ALNUM = (1 << 2), + + /** Ignore all whitespace */ + GIT_MERGE_FILE_IGNORE_WHITESPACE = (1 << 3), + + /** Ignore changes in amount of whitespace */ + GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE = (1 << 4), + + /** Ignore whitespace at end of line */ + GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL = (1 << 5), + + /** Use the "patience diff" algorithm */ + GIT_MERGE_FILE_DIFF_PATIENCE = (1 << 6), + + /** Take extra time to find minimal diff */ + GIT_MERGE_FILE_DIFF_MINIMAL = (1 << 7), + + /** Create zdiff3 ("zealous diff3")-style files */ + GIT_MERGE_FILE_STYLE_ZDIFF3 = (1 << 8), + + /** + * Do not produce file conflicts when common regions have + * changed; keep the conflict markers in the file and accept + * that as the merge result. + */ + GIT_MERGE_FILE_ACCEPT_CONFLICTS = (1 << 9) +} git_merge_file_flag_t; + +/** Default size for conflict markers */ +#define GIT_MERGE_CONFLICT_MARKER_SIZE 7 + +/** + * Options for merging a file + */ +typedef struct { + unsigned int version; + + /** + * Label for the ancestor file side of the conflict which will be prepended + * to labels in diff3-format merge files. + */ + const char *ancestor_label; + + /** + * Label for our file side of the conflict which will be prepended + * to labels in merge files. + */ + const char *our_label; + + /** + * Label for their file side of the conflict which will be prepended + * to labels in merge files. + */ + const char *their_label; + + /** The file to favor in region conflicts. */ + git_merge_file_favor_t favor; + + /** see `git_merge_file_flag_t` above */ + uint32_t flags; + + /** The size of conflict markers (eg, "<<<<<<<"). Default is + * GIT_MERGE_CONFLICT_MARKER_SIZE. */ + unsigned short marker_size; +} git_merge_file_options; + +/** Current version for the `git_merge_file_options` structure */ +#define GIT_MERGE_FILE_OPTIONS_VERSION 1 + +/** Static constructor for `git_merge_file_options` */ +#define GIT_MERGE_FILE_OPTIONS_INIT {GIT_MERGE_FILE_OPTIONS_VERSION} + +/** + * Initialize git_merge_file_options structure + * + * Initializes a `git_merge_file_options` with default values. Equivalent to + * creating an instance with `GIT_MERGE_FILE_OPTIONS_INIT`. + * + * @param opts The `git_merge_file_options` struct to initialize. + * @param version The struct version; pass `GIT_MERGE_FILE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_merge_file_options_init(git_merge_file_options *opts, unsigned int version); + +/** + * Information about file-level merging + */ +typedef struct { + /** + * True if the output was automerged, false if the output contains + * conflict markers. + */ + unsigned int automergeable; + + /** + * The path that the resultant merge file should use, or NULL if a + * filename conflict would occur. + */ + const char *path; + + /** The mode that the resultant merge file should use. */ + unsigned int mode; + + /** The contents of the merge. */ + const char *ptr; + + /** The length of the merge contents. */ + size_t len; +} git_merge_file_result; + +/** + * Merging options + */ +typedef struct { + unsigned int version; + + /** See `git_merge_flag_t` above */ + uint32_t flags; + + /** + * Similarity to consider a file renamed (default 50). If + * `GIT_MERGE_FIND_RENAMES` is enabled, added files will be compared + * with deleted files to determine their similarity. Files that are + * more similar than the rename threshold (percentage-wise) will be + * treated as a rename. + */ + unsigned int rename_threshold; + + /** + * Maximum similarity sources to examine for renames (default 200). + * If the number of rename candidates (add / delete pairs) is greater + * than this value, inexact rename detection is aborted. + * + * This setting overrides the `merge.renameLimit` configuration value. + */ + unsigned int target_limit; + + /** Pluggable similarity metric; pass NULL to use internal metric */ + git_diff_similarity_metric *metric; + + /** + * Maximum number of times to merge common ancestors to build a + * virtual merge base when faced with criss-cross merges. When this + * limit is reached, the next ancestor will simply be used instead of + * attempting to merge it. The default is unlimited. + */ + unsigned int recursion_limit; + + /** + * Default merge driver to be used when both sides of a merge have + * changed. The default is the `text` driver. + */ + const char *default_driver; + + /** + * Flags for handling conflicting content, to be used with the standard + * (`text`) merge driver. + */ + git_merge_file_favor_t file_favor; + + /** see `git_merge_file_flag_t` above */ + uint32_t file_flags; +} git_merge_options; + +/** Current version for the `git_merge_options` structure */ +#define GIT_MERGE_OPTIONS_VERSION 1 + +/** Static constructor for `git_merge_options` */ +#define GIT_MERGE_OPTIONS_INIT { \ + GIT_MERGE_OPTIONS_VERSION, GIT_MERGE_FIND_RENAMES } + +/** + * Initialize git_merge_options structure + * + * Initializes a `git_merge_options` with default values. Equivalent to + * creating an instance with `GIT_MERGE_OPTIONS_INIT`. + * + * @param opts The `git_merge_options` struct to initialize. + * @param version The struct version; pass `GIT_MERGE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_merge_options_init(git_merge_options *opts, unsigned int version); + +/** + * The results of `git_merge_analysis` indicate the merge opportunities. + */ +typedef enum { + /** No merge is possible. (Unused.) */ + GIT_MERGE_ANALYSIS_NONE = 0, + + /** + * A "normal" merge; both HEAD and the given merge input have diverged + * from their common ancestor. The divergent commits must be merged. + */ + GIT_MERGE_ANALYSIS_NORMAL = (1 << 0), + + /** + * All given merge inputs are reachable from HEAD, meaning the + * repository is up-to-date and no merge needs to be performed. + */ + GIT_MERGE_ANALYSIS_UP_TO_DATE = (1 << 1), + + /** + * The given merge input is a fast-forward from HEAD and no merge + * needs to be performed. Instead, the client can check out the + * given merge input. + */ + GIT_MERGE_ANALYSIS_FASTFORWARD = (1 << 2), + + /** + * The HEAD of the current repository is "unborn" and does not point to + * a valid commit. No merge can be performed, but the caller may wish + * to simply set HEAD to the target commit(s). + */ + GIT_MERGE_ANALYSIS_UNBORN = (1 << 3) +} git_merge_analysis_t; + +/** + * The user's stated preference for merges. + */ +typedef enum { + /** + * No configuration was found that suggests a preferred behavior for + * merge. + */ + GIT_MERGE_PREFERENCE_NONE = 0, + + /** + * There is a `merge.ff=false` configuration setting, suggesting that + * the user does not want to allow a fast-forward merge. + */ + GIT_MERGE_PREFERENCE_NO_FASTFORWARD = (1 << 0), + + /** + * There is a `merge.ff=only` configuration setting, suggesting that + * the user only wants fast-forward merges. + */ + GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY = (1 << 1) +} git_merge_preference_t; + +/** + * Analyzes the given branch(es) and determines the opportunities for + * merging them into the HEAD of the repository. + * + * @param analysis_out analysis enumeration that the result is written into + * @param preference_out One of the `git_merge_preference_t` flag. + * @param repo the repository to merge + * @param their_heads the heads to merge into + * @param their_heads_len the number of heads to merge + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_analysis( + git_merge_analysis_t *analysis_out, + git_merge_preference_t *preference_out, + git_repository *repo, + const git_annotated_commit **their_heads, + size_t their_heads_len); + +/** + * Analyzes the given branch(es) and determines the opportunities for + * merging them into a reference. + * + * @param analysis_out analysis enumeration that the result is written into + * @param preference_out One of the `git_merge_preference_t` flag. + * @param repo the repository to merge + * @param our_ref the reference to perform the analysis from + * @param their_heads the heads to merge into + * @param their_heads_len the number of heads to merge + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_analysis_for_ref( + git_merge_analysis_t *analysis_out, + git_merge_preference_t *preference_out, + git_repository *repo, + git_reference *our_ref, + const git_annotated_commit **their_heads, + size_t their_heads_len); + +/** + * Find a merge base between two commits + * + * @param out the OID of a merge base between 'one' and 'two' + * @param repo the repository where the commits exist + * @param one one of the commits + * @param two the other commit + * @return 0 on success, GIT_ENOTFOUND if not found or error code + */ +GIT_EXTERN(int) git_merge_base( + git_oid *out, + git_repository *repo, + const git_oid *one, + const git_oid *two); + +/** + * Find merge bases between two commits + * + * @param out array in which to store the resulting ids + * @param repo the repository where the commits exist + * @param one one of the commits + * @param two the other commit + * @return 0 on success, GIT_ENOTFOUND if not found or error code + */ +GIT_EXTERN(int) git_merge_bases( + git_oidarray *out, + git_repository *repo, + const git_oid *one, + const git_oid *two); + +/** + * Find a merge base given a list of commits + * + * @param out the OID of a merge base considering all the commits + * @param repo the repository where the commits exist + * @param length The number of commits in the provided `input_array` + * @param input_array oids of the commits + * @return Zero on success; GIT_ENOTFOUND or -1 on failure. + */ +GIT_EXTERN(int) git_merge_base_many( + git_oid *out, + git_repository *repo, + size_t length, + const git_oid input_array[]); + +/** + * Find all merge bases given a list of commits + * + * This behaves similar to [`git merge-base`](https://git-scm.com/docs/git-merge-base#_discussion). + * + * Given three commits `a`, `b`, and `c`, `merge_base_many` + * will compute a hypothetical commit `m`, which is a merge between `b` + * and `c`. + + * For example, with the following topology: + * ```text + * o---o---o---o---C + * / + * / o---o---o---B + * / / + * ---2---1---o---o---o---A + * ``` + * + * 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 + * ``` + * + * and the result of `merge_base_many` given `a` and `m` is 1. + * + * If you're looking to recieve the common ancestor between all the + * given commits, use `merge_base_octopus`. + * + * @param out array in which to store the resulting ids + * @param repo the repository where the commits exist + * @param length The number of commits in the provided `input_array` + * @param input_array oids of the commits + * @return Zero on success; GIT_ENOTFOUND or -1 on failure. + */ +GIT_EXTERN(int) git_merge_bases_many( + git_oidarray *out, + git_repository *repo, + size_t length, + const git_oid input_array[]); + +/** + * Find a merge base in preparation for an octopus merge + * + * @param out the OID of a merge base considering all the commits + * @param repo the repository where the commits exist + * @param length The number of commits in the provided `input_array` + * @param input_array oids of the commits + * @return Zero on success; GIT_ENOTFOUND or -1 on failure. + */ +GIT_EXTERN(int) git_merge_base_octopus( + git_oid *out, + git_repository *repo, + size_t length, + const git_oid input_array[]); + +/** + * Merge two files as they exist in the in-memory data structures, using + * the given common ancestor as the baseline, producing a + * `git_merge_file_result` that reflects the merge result. The + * `git_merge_file_result` must be freed with `git_merge_file_result_free`. + * + * Note that this function does not reference a repository and any + * configuration must be passed as `git_merge_file_options`. + * + * @param out The git_merge_file_result to be filled in + * @param ancestor The contents of the ancestor file + * @param ours The contents of the file in "our" side + * @param theirs The contents of the file in "their" side + * @param opts The merge file options or `NULL` for defaults + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_file( + git_merge_file_result *out, + const git_merge_file_input *ancestor, + const git_merge_file_input *ours, + const git_merge_file_input *theirs, + const git_merge_file_options *opts); + +/** + * Merge two files as they exist in the index, using the given common + * ancestor as the baseline, producing a `git_merge_file_result` that + * reflects the merge result. The `git_merge_file_result` must be freed with + * `git_merge_file_result_free`. + * + * @param out The git_merge_file_result to be filled in + * @param repo The repository + * @param ancestor The index entry for the ancestor file (stage level 1) + * @param ours The index entry for our file (stage level 2) + * @param theirs The index entry for their file (stage level 3) + * @param opts The merge file options or NULL + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_file_from_index( + git_merge_file_result *out, + git_repository *repo, + const git_index_entry *ancestor, + const git_index_entry *ours, + const git_index_entry *theirs, + const git_merge_file_options *opts); + +/** + * Frees a `git_merge_file_result`. + * + * @param result The result to free or `NULL` + */ +GIT_EXTERN(void) git_merge_file_result_free(git_merge_file_result *result); + +/** + * Merge two trees, producing a `git_index` that reflects the result of + * the merge. The index may be written as-is to the working directory + * or checked out. If the index is to be converted to a tree, the caller + * should resolve any conflicts that arose as part of the merge. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo repository that contains the given trees + * @param ancestor_tree the common ancestor between the trees (or null if none) + * @param our_tree the tree that reflects the destination tree + * @param their_tree the tree to merge in to `our_tree` + * @param opts the merge tree options (or null for defaults) + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_trees( + git_index **out, + git_repository *repo, + const git_tree *ancestor_tree, + const git_tree *our_tree, + const git_tree *their_tree, + const git_merge_options *opts); + +/** + * Merge two commits, producing a `git_index` that reflects the result of + * the merge. The index may be written as-is to the working directory + * or checked out. If the index is to be converted to a tree, the caller + * should resolve any conflicts that arose as part of the merge. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo repository that contains the given trees + * @param our_commit the commit that reflects the destination tree + * @param their_commit the commit to merge in to `our_commit` + * @param opts the merge tree options (or null for defaults) + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge_commits( + git_index **out, + git_repository *repo, + const git_commit *our_commit, + const git_commit *their_commit, + const git_merge_options *opts); + +/** + * Merges the given commit(s) into HEAD, writing the results into the working + * directory. Any changes are staged for commit and any conflicts are written + * to the index. Callers should inspect the repository's index after this + * completes, resolve any conflicts and prepare a commit. + * + * 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()`. + * + * @param repo the repository to merge + * @param their_heads the heads to merge into + * @param their_heads_len the number of heads to merge + * @param merge_opts merge options + * @param checkout_opts checkout options + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_merge( + git_repository *repo, + const git_annotated_commit **their_heads, + size_t their_heads_len, + const git_merge_options *merge_opts, + const git_checkout_options *checkout_opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/message.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/message.h new file mode 100644 index 00000000..874d027f --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/message.h @@ -0,0 +1,86 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_message_h__ +#define INCLUDE_git_message_h__ + +#include "common.h" +#include "buffer.h" + +/** + * @file git2/message.h + * @brief Commit messages + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Clean up excess whitespace and make sure there is a trailing newline in the message. + * + * Optionally, it can remove lines which start with the comment character. + * + * @param out The user-allocated git_buf which will be filled with the + * cleaned up message. + * + * @param message The message to be prettified. + * + * @param strip_comments Non-zero to remove comment lines, 0 to leave them in. + * + * @param comment_char Comment character. Lines starting with this character + * are considered to be comments and removed if `strip_comments` is non-zero. + * + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_message_prettify(git_buf *out, const char *message, int strip_comments, char comment_char); + +/** + * Represents a single git message trailer. + */ +typedef struct { + const char *key; + const char *value; +} git_message_trailer; + +/** + * Represents an array of git message trailers. + * + * Struct members under the private comment are private, subject to change + * and should not be used by callers. + */ +typedef struct { + git_message_trailer *trailers; + size_t count; + + /* private */ + char *_trailer_block; +} git_message_trailer_array; + +/** + * Parse trailers out of a message, filling the array pointed to by +arr+. + * + * Trailers are key/value pairs in the last paragraph of a message, not + * including any patches or conflicts that may be present. + * + * @param arr A pre-allocated git_message_trailer_array struct to be filled in + * with any trailers found during parsing. + * @param message The message to be parsed + * @return 0 on success, or non-zero on error. + */ +GIT_EXTERN(int) git_message_trailers(git_message_trailer_array *arr, const char *message); + +/** + * Clean's up any allocated memory in the git_message_trailer_array filled by + * a call to git_message_trailers. + * + * @param arr The trailer to free. + */ +GIT_EXTERN(void) git_message_trailer_array_free(git_message_trailer_array *arr); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/net.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/net.h new file mode 100644 index 00000000..93bdac49 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/net.h @@ -0,0 +1,56 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_net_h__ +#define INCLUDE_git_net_h__ + +#include "common.h" +#include "oid.h" +#include "types.h" + +/** + * @file git2/net.h + * @brief Low-level networking functionality + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Default git protocol port number */ +#define GIT_DEFAULT_PORT "9418" + +/** + * Direction of the connection. + * + * We need this because we need to know whether we should call + * git-upload-pack or git-receive-pack on the remote end when get_refs + * gets called. + */ +typedef enum { + GIT_DIRECTION_FETCH = 0, + GIT_DIRECTION_PUSH = 1 +} git_direction; + +/** + * Description of a reference advertised by a remote server, given out + * on `ls` calls. + */ +struct git_remote_head { + int local; /* available locally */ + git_oid oid; + git_oid loid; + char *name; + /** + * If the server send a symref mapping for this ref, this will + * point to the target. + */ + char *symref_target; +}; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/notes.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/notes.h new file mode 100644 index 00000000..3784d5f5 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/notes.h @@ -0,0 +1,309 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_note_h__ +#define INCLUDE_git_note_h__ + +#include "oid.h" + +/** + * @file git2/notes.h + * @brief Notes are metadata attached to an object + * @defgroup git_note Git notes management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Callback for git_note_foreach. + * + * @param blob_id object id of the blob containing the message + * @param annotated_object_id the id of the object being annotated + * @param payload user-specified data to the foreach function + * @return 0 on success, or a negative number on failure + */ +typedef int GIT_CALLBACK(git_note_foreach_cb)( + const git_oid *blob_id, + const git_oid *annotated_object_id, + void *payload); + +/** + * note iterator + */ +typedef struct git_iterator git_note_iterator; + +/** + * Creates a new iterator for notes + * + * The iterator must be freed manually by the user. + * + * @param out pointer to the iterator + * @param repo repository where to look up the note + * @param notes_ref canonical name of the reference to use (optional); defaults to + * "refs/notes/commits" + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_iterator_new( + git_note_iterator **out, + git_repository *repo, + const char *notes_ref); + +/** + * Creates a new iterator for notes from a commit + * + * The iterator must be freed manually by the user. + * + * @param out pointer to the iterator + * @param notes_commit a pointer to the notes commit object + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_iterator_new( + git_note_iterator **out, + git_commit *notes_commit); + +/** + * Frees an git_note_iterator + * + * @param it pointer to the iterator + */ +GIT_EXTERN(void) git_note_iterator_free(git_note_iterator *it); + +/** + * Return the current item (note_id and annotated_id) and advance the iterator + * internally to the next value + * + * @param note_id id of blob containing the message + * @param annotated_id id of the git object being annotated + * @param it pointer to the iterator + * + * @return 0 (no error), GIT_ITEROVER (iteration is done) or an error code + * (negative value) + */ +GIT_EXTERN(int) git_note_next( + git_oid *note_id, + git_oid *annotated_id, + git_note_iterator *it); + + +/** + * Read the note for an object + * + * The note must be freed manually by the user. + * + * @param out pointer to the read note; NULL in case of error + * @param repo repository where to look up the note + * @param notes_ref canonical name of the reference to use (optional); defaults to + * "refs/notes/commits" + * @param oid OID of the git object to read the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_read( + git_note **out, + git_repository *repo, + const char *notes_ref, + const git_oid *oid); + + +/** + * Read the note for an object from a note commit + * + * The note must be freed manually by the user. + * + * @param out pointer to the read note; NULL in case of error + * @param repo repository where to look up the note + * @param notes_commit a pointer to the notes commit object + * @param oid OID of the git object to read the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_read( + git_note **out, + git_repository *repo, + git_commit *notes_commit, + const git_oid *oid); + +/** + * Get the note author + * + * @param note the note + * @return the author + */ +GIT_EXTERN(const git_signature *) git_note_author(const git_note *note); + +/** + * Get the note committer + * + * @param note the note + * @return the committer + */ +GIT_EXTERN(const git_signature *) git_note_committer(const git_note *note); + + +/** + * Get the note message + * + * @param note the note + * @return the note message + */ +GIT_EXTERN(const char *) git_note_message(const git_note *note); + + +/** + * Get the note object's id + * + * @param note the note + * @return the note object's id + */ +GIT_EXTERN(const git_oid *) git_note_id(const git_note *note); + +/** + * Add a note for an object + * + * @param out pointer to store the OID (optional); NULL in case of error + * @param repo repository where to store the note + * @param notes_ref canonical name of the reference to use (optional); + * defaults to "refs/notes/commits" + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to decorate + * @param note Content of the note to add for object oid + * @param force Overwrite existing note + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_create( + 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); + +/** + * Add a note for an object from a commit + * + * This function will create a notes commit for a given object, + * the commit is a dangling commit, no reference is created. + * + * @param notes_commit_out pointer to store the commit (optional); + * NULL in case of error + * @param notes_blob_out a point to the id of a note blob (optional) + * @param repo repository where the note will live + * @param parent Pointer to parent note + * or NULL if this shall start a new notes tree + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to decorate + * @param note Content of the note to add for object oid + * @param allow_note_overwrite Overwrite existing note + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_create( + 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); + +/** + * Remove the note for an object + * + * @param repo repository where the note lives + * @param notes_ref canonical name of the reference to use (optional); + * defaults to "refs/notes/commits" + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to remove the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_remove( + git_repository *repo, + const char *notes_ref, + const git_signature *author, + const git_signature *committer, + const git_oid *oid); + +/** + * Remove the note for an object + * + * @param notes_commit_out pointer to store the new notes commit (optional); + * NULL in case of error. + * When removing a note a new tree containing all notes + * sans the note to be removed is created and a new commit + * pointing to that tree is also created. + * In the case where the resulting tree is an empty tree + * a new commit pointing to this empty tree will be returned. + * @param repo repository where the note lives + * @param notes_commit a pointer to the notes commit object + * @param author signature of the notes commit author + * @param committer signature of the notes commit committer + * @param oid OID of the git object to remove the note from + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_commit_remove( + git_oid *notes_commit_out, + git_repository *repo, + git_commit *notes_commit, + const git_signature *author, + const git_signature *committer, + const git_oid *oid); + +/** + * Free a git_note object + * + * @param note git_note object + */ +GIT_EXTERN(void) git_note_free(git_note *note); + +/** + * Get the default notes reference for a repository + * + * @param out buffer in which to store the name of the default notes reference + * @param repo The Git repository + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_note_default_ref(git_buf *out, git_repository *repo); + +/** + * Loop over all the notes within a specified namespace + * and issue a callback for each one. + * + * @param repo Repository where to find the notes. + * + * @param notes_ref Reference to read from (optional); defaults to + * "refs/notes/commits". + * + * @param note_cb Callback to invoke per found annotation. Return non-zero + * to stop looping. + * + * @param payload Extra parameter to callback function. + * + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_note_foreach( + git_repository *repo, + const char *notes_ref, + git_note_foreach_cb note_cb, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/object.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/object.h new file mode 100644 index 00000000..8a50239f --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/object.h @@ -0,0 +1,280 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_object_h__ +#define INCLUDE_git_object_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "buffer.h" + +/** + * @file git2/object.h + * @brief Objects are blobs (files), trees (directories), commits, and annotated tags + * @defgroup git_object Git revision object management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Maximum size of a git object */ +#define GIT_OBJECT_SIZE_MAX UINT64_MAX + +/** + * Lookup a reference to one of the objects in a repository. + * + * The generated reference is owned by the repository and + * should be closed with the `git_object_free` method + * instead of free'd manually. + * + * 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. + * + * @param object pointer to the looked-up object + * @param repo the repository to look up the object + * @param id the unique identifier for the object + * @param type the type of the object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_object_lookup( + git_object **object, + git_repository *repo, + const git_oid *id, + git_object_t type); + +/** + * Lookup a reference to one of the objects in a repository, + * given a prefix of its identifier (short id). + * + * 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. + * + * The generated reference is owned by the repository and + * should be closed with the `git_object_free` method + * instead of free'd manually. + * + * 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. + * + * @param object_out pointer where to store the looked-up object + * @param repo the repository to look up the object + * @param id a short identifier for the object + * @param len the length of the short identifier + * @param type the type of the object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_object_lookup_prefix( + git_object **object_out, + git_repository *repo, + const git_oid *id, + size_t len, + git_object_t type); + + +/** + * Lookup an object that represents a tree entry. + * + * @param out buffer that receives a pointer to the object (which must be freed + * by the caller) + * @param treeish root object that can be peeled to a tree + * @param path relative path from the root object to the desired object + * @param type type of object desired + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_object_lookup_bypath( + git_object **out, + const git_object *treeish, + const char *path, + git_object_t type); + +/** + * Get the id (SHA1) of a repository object + * + * @param obj the repository object + * @return the SHA1 id + */ +GIT_EXTERN(const git_oid *) git_object_id(const git_object *obj); + +/** + * Get a short abbreviated OID string for the object + * + * 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). + * + * @param out Buffer to write string into + * @param obj The object to get an ID for + * @return 0 on success, <0 for error + */ +GIT_EXTERN(int) git_object_short_id(git_buf *out, const git_object *obj); + +/** + * Get the object type of an object + * + * @param obj the repository object + * @return the object's type + */ +GIT_EXTERN(git_object_t) git_object_type(const git_object *obj); + +/** + * Get the repository that owns this object + * + * Freeing or calling `git_repository_close` on the + * returned pointer will invalidate the actual object. + * + * Any other operation may be run on the repository without + * affecting the object. + * + * @param obj the object + * @return the repository who owns this object + */ +GIT_EXTERN(git_repository *) git_object_owner(const git_object *obj); + +/** + * Close an open object + * + * This method instructs the library to close an existing + * object; note that git_objects are owned and cached by the repository + * so the object may or may not be freed after this library call, + * depending on how aggressive is the caching mechanism used + * by the repository. + * + * IMPORTANT: + * It *is* necessary to call this method when you stop using + * an object. Failure to do so will cause a memory leak. + * + * @param object the object to close + */ +GIT_EXTERN(void) git_object_free(git_object *object); + +/** + * Convert an object type to its string representation. + * + * The result is a pointer to a string in static memory and + * should not be free()'ed. + * + * @param type object type to convert. + * @return the corresponding string representation. + */ +GIT_EXTERN(const char *) git_object_type2string(git_object_t type); + +/** + * Convert a string object type representation to it's git_object_t. + * + * @param str the string to convert. + * @return the corresponding git_object_t. + */ +GIT_EXTERN(git_object_t) git_object_string2type(const char *str); + +/** + * Determine if the given git_object_t is a valid loose object type. + * + * @param type object type to test. + * @return true if the type represents a valid loose object type, + * false otherwise. + */ +GIT_EXTERN(int) git_object_typeisloose(git_object_t type); + +/** + * Recursively peel an object until an object of the specified type is met. + * + * If the query cannot be satisfied due to the object model, + * GIT_EINVALIDSPEC will be returned (e.g. trying to peel a blob to a + * tree). + * + * If you pass `GIT_OBJECT_ANY` as the target type, then the object will + * be peeled until the type changes. A tag will be peeled until the + * referenced object is no longer a tag, and a commit will be peeled + * to a tree. Any other object type will return GIT_EINVALIDSPEC. + * + * If peeling a tag we discover an object which cannot be peeled to + * the target type due to the object model, GIT_EPEEL will be + * returned. + * + * You must free the returned object. + * + * @param peeled Pointer to the peeled git_object + * @param object The object to be processed + * @param target_type The type of the requested object (a GIT_OBJECT_ value) + * @return 0 on success, GIT_EINVALIDSPEC, GIT_EPEEL, or an error code + */ +GIT_EXTERN(int) git_object_peel( + git_object **peeled, + const git_object *object, + git_object_t target_type); + +/** + * Create an in-memory copy of a Git object. The copy must be + * explicitly free'd or it will leak. + * + * @param dest Pointer to store the copy of the object + * @param source Original object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_object_dup(git_object **dest, git_object *source); + +#ifdef GIT_EXPERIMENTAL_SHA256 +/** + * Analyzes a buffer of raw object content and determines its validity. + * Tree, commit, and tag objects will be parsed and ensured that they + * are valid, parseable content. (Blobs are always valid by definition.) + * An error message will be set with an informative message if the object + * is not valid. + * + * @warning This function is experimental and its signature may change in + * the future. + * + * @param valid Output pointer to set with validity of the object content + * @param buf The contents to validate + * @param len The length of the buffer + * @param object_type The type of the object in the buffer + * @param oid_type The object ID type for the OIDs in the given buffer + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_object_rawcontent_is_valid( + int *valid, + const char *buf, + size_t len, + git_object_t object_type, + git_oid_t oid_type); +#else +/** + * Analyzes a buffer of raw object content and determines its validity. + * Tree, commit, and tag objects will be parsed and ensured that they + * are valid, parseable content. (Blobs are always valid by definition.) + * An error message will be set with an informative message if the object + * is not valid. + * + * @warning This function is experimental and its signature may change in + * the future. + * + * @param[out] valid Output pointer to set with validity of the object content + * @param buf The contents to validate + * @param len The length of the buffer + * @param object_type The type of the object in the buffer + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_object_rawcontent_is_valid( + int *valid, + const char *buf, + size_t len, + git_object_t object_type); +#endif + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/odb.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/odb.h new file mode 100644 index 00000000..e809c36d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/odb.h @@ -0,0 +1,696 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_odb_h__ +#define INCLUDE_git_odb_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "oidarray.h" +#include "indexer.h" + +/** + * @file git2/odb.h + * @brief An object database manages the storage of git objects + * @defgroup git_odb Git object database routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Flags controlling the behavior of ODB lookup operations */ +typedef enum { + /** + * Don't call `git_odb_refresh` if the lookup fails. Useful when doing + * a batch of lookup operations for objects that may legitimately not + * exist. When using this flag, you may wish to manually call + * `git_odb_refresh` before processing a batch of objects. + */ + GIT_ODB_LOOKUP_NO_REFRESH = (1 << 0) +} git_odb_lookup_flags_t; + +/** + * Function type for callbacks from git_odb_foreach. + * + * @param id an id of an object in the object database + * @param payload the payload from the initial call to git_odb_foreach + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_odb_foreach_cb)(const git_oid *id, void *payload); + +/** Options for configuring a loose object backend. */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** + * Type of object IDs to use for this object database, or + * 0 for default (currently SHA1). + */ + git_oid_t oid_type; +} git_odb_options; + +/** The current version of the diff options structure */ +#define GIT_ODB_OPTIONS_VERSION 1 + +/** + * Stack initializer for odb options. Alternatively use + * `git_odb_options_init` programmatic initialization. + */ +#define GIT_ODB_OPTIONS_INIT { GIT_ODB_OPTIONS_VERSION } + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * Create a new object database with no backends. + * + * @param[out] odb location to store the database pointer, if opened. + * @param opts the options for this object database or NULL for defaults + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_new(git_odb **odb, const git_odb_options *opts); + +/** + * Create a new object database and automatically add loose and packed + * backends. + * + * @param[out] odb_out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param objects_dir path of the backends' "objects" directory. + * @param opts the options for this object database or NULL for defaults + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_open( + git_odb **odb_out, + const char *objects_dir, + const git_odb_options *opts); + +#else + +/** + * Create a new object database with no backends. + * + * Before the ODB can be used for read/writing, a custom database + * backend must be manually added using `git_odb_add_backend()` + * + * @param[out] odb location to store the database pointer, if opened. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_new(git_odb **odb); + +/** + * Create a new object database and automatically add + * the two default backends: + * + * - git_odb_backend_loose: read and write loose object files + * from disk, assuming `objects_dir` as the Objects folder + * + * - git_odb_backend_pack: read objects from packfiles, + * assuming `objects_dir` as the Objects folder which + * contains a 'pack/' folder with the corresponding data + * + * @param[out] odb_out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param objects_dir path of the backends' "objects" directory. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_open(git_odb **odb_out, const char *objects_dir); +#endif + +/** + * Add an on-disk alternate to an existing Object DB. + * + * Note that the added path must point to an `objects`, not + * to a full repository, to use it as an alternate store. + * + * Alternate backends are always checked for objects *after* + * all the main backends have been exhausted. + * + * Writing is disabled on alternate backends. + * + * @param odb database to add the backend to + * @param path path to the objects folder for the alternate + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_add_disk_alternate(git_odb *odb, const char *path); + +/** + * Close an open object database. + * + * @param db database pointer to close. If NULL no action is taken. + */ +GIT_EXTERN(void) git_odb_free(git_odb *db); + +/** + * Read an object from the database. + * + * This method queries all available ODB backends + * trying to read the given OID. + * + * The returned object is reference counted and + * internally cached, so it should be closed + * by the user once it's no longer in use. + * + * @param[out] obj pointer where to store the read object + * @param db database to search for the object in. + * @param id identity of the object to read. + * @return 0 if the object was read, GIT_ENOTFOUND if the object is + * not in the database. + */ +GIT_EXTERN(int) git_odb_read(git_odb_object **obj, git_odb *db, const git_oid *id); + +/** + * Read an object from the database, given a prefix + * of its identifier. + * + * This method queries all available ODB backends + * trying to match the 'len' first hexadecimal + * characters of the 'short_id'. + * The remaining (GIT_OID_SHA1_HEXSIZE-len)*4 bits of + * 'short_id' must be 0s. + * 'len' must be at least GIT_OID_MINPREFIXLEN, + * and the prefix must be long enough to identify + * a unique object in all the backends; the + * method will fail otherwise. + * + * The returned object is reference counted and + * internally cached, so it should be closed + * by the user once it's no longer in use. + * + * @param[out] obj pointer where to store the read object + * @param db database to search for the object in. + * @param short_id a prefix of the id of the object to read. + * @param len the length of the prefix + * @return 0 if the object was read, GIT_ENOTFOUND if the object is not in the + * database. GIT_EAMBIGUOUS if the prefix is ambiguous + * (several objects match the prefix) + */ +GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **obj, git_odb *db, const git_oid *short_id, size_t len); + +/** + * Read the header of an object from the database, without + * reading its full contents. + * + * The header includes the length and the type of an object. + * + * Note that most backends do not support reading only the header + * of an object, so the whole object will be read and then the + * header will be returned. + * + * @param[out] len_out pointer where to store the length + * @param[out] type_out pointer where to store the type + * @param db database to search for the object in. + * @param id identity of the object to read. + * @return 0 if the object was read, GIT_ENOTFOUND if the object is not + * in the database. + */ +GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_object_t *type_out, git_odb *db, const git_oid *id); + +/** + * Determine if the given object can be found in the object database. + * + * @param db database to be searched for the given object. + * @param id the object to search for. + * @return 1 if the object was found, 0 otherwise + */ +GIT_EXTERN(int) git_odb_exists(git_odb *db, const git_oid *id); + +/** + * Determine if the given object can be found in the object database, with + * extended options. + * + * @param db database to be searched for the given object. + * @param id the object to search for. + * @param flags flags affecting the lookup (see `git_odb_lookup_flags_t`) + * @return 1 if the object was found, 0 otherwise + */ +GIT_EXTERN(int) git_odb_exists_ext(git_odb *db, const git_oid *id, unsigned int flags); + +/** + * Determine if an object can be found in the object database by an + * abbreviated object ID. + * + * @param out The full OID of the found object if just one is found. + * @param db The database to be searched for the given object. + * @param short_id A prefix of the id of the object to read. + * @param len The length of the prefix. + * @return 0 if found, GIT_ENOTFOUND if not found, GIT_EAMBIGUOUS if multiple + * matches were found, other value < 0 if there was a read error. + */ +GIT_EXTERN(int) git_odb_exists_prefix( + git_oid *out, git_odb *db, const git_oid *short_id, size_t len); + +/** + * The information about object IDs to query in `git_odb_expand_ids`, + * which will be populated upon return. + */ +typedef struct git_odb_expand_id { + /** The object ID to expand */ + git_oid id; + + /** + * The length of the object ID (in nibbles, or packets of 4 bits; the + * number of hex characters) + * */ + unsigned short length; + + /** + * The (optional) type of the object to search for; leave as `0` or set + * to `GIT_OBJECT_ANY` to query for any object matching the ID. + */ + git_object_t type; +} git_odb_expand_id; + +/** + * Determine if one or more objects can be found in the object database + * by their abbreviated object ID and type. + * + * The given array will be updated in place: for each abbreviated ID that is + * unique in the database, and of the given type (if specified), + * the full object ID, object ID length (`GIT_OID_SHA1_HEXSIZE`) and type will be + * written back to the array. For IDs that are not found (or are ambiguous), + * the array entry will be zeroed. + * + * Note that since this function operates on multiple objects, the + * underlying database will not be asked to be reloaded if an object is + * not found (which is unlike other object database operations.) + * + * @param db The database to be searched for the given objects. + * @param ids An array of short object IDs to search for + * @param count The length of the `ids` array + * @return 0 on success or an error code on failure + */ +GIT_EXTERN(int) git_odb_expand_ids( + git_odb *db, + git_odb_expand_id *ids, + size_t count); + +/** + * Refresh the object database to load newly added files. + * + * If the object databases have changed on disk while the library + * is running, this function will force a reload of the underlying + * indexes. + * + * Use this function when you're confident that an external + * application has tampered with the ODB. + * + * NOTE that it is not necessary to call this function at all. The + * library will automatically attempt to refresh the ODB + * when a lookup fails, to see if the looked up object exists + * on disk but hasn't been loaded yet. + * + * @param db database to refresh + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_refresh(git_odb *db); + +/** + * List all objects available in the database + * + * The callback will be called for each object available in the + * database. Note that the objects are likely to be returned in the index + * order, which would make accessing the objects in that order inefficient. + * Return a non-zero value from the callback to stop looping. + * + * @param db database to use + * @param cb the callback to call for each object + * @param payload data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_odb_foreach( + git_odb *db, + git_odb_foreach_cb cb, + void *payload); + +/** + * Write an object directly into the ODB + * + * 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. + * + * This method is provided for compatibility with custom backends + * which are not able to support streaming writes + * + * @param out pointer to store the OID result of the write + * @param odb object database where to store the object + * @param data @type `const unsigned char *` buffer with the data to store + * @param len size of the buffer + * @param type type of the data to store + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_write(git_oid *out, git_odb *odb, const void *data, size_t len, git_object_t type); + +/** + * Open a stream to write an object into the ODB + * + * The type and final length of the object must be specified + * when opening the stream. + * + * The returned stream will be of type `GIT_STREAM_WRONLY`, and it + * won't be effective until `git_odb_stream_finalize_write` is called + * and returns without an error + * + * The stream must always be freed when done with `git_odb_stream_free` or + * will leak memory. + * + * @see git_odb_stream + * + * @param out pointer where to store the stream + * @param db object database where the stream will write + * @param size final size of the object that will be written + * @param type type of the object that will be written + * @return 0 if the stream was created; error code otherwise + */ +GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **out, git_odb *db, git_object_size_t size, git_object_t type); + +/** + * Write to an odb stream + * + * This method will fail if the total number of received bytes exceeds the + * size declared with `git_odb_open_wstream()` + * + * @param stream the stream + * @param buffer the data to write + * @param len the buffer's length + * @return 0 if the write succeeded, error code otherwise + */ +GIT_EXTERN(int) git_odb_stream_write(git_odb_stream *stream, const char *buffer, size_t len); + +/** + * Finish writing to an odb stream + * + * The object will take its final name and will be available to the + * odb. + * + * This method will fail if the total number of received bytes + * differs from the size declared with `git_odb_open_wstream()` + * + * @param out pointer to store the resulting object's id + * @param stream the stream + * @return 0 on success, an error code otherwise + */ +GIT_EXTERN(int) git_odb_stream_finalize_write(git_oid *out, git_odb_stream *stream); + +/** + * Read from an odb stream + * + * Most backends don't implement streaming reads + * + * @param stream the stream + * @param buffer a user-allocated buffer to store the data in. + * @param len the buffer's length + * @return the number of bytes read if succeeded, error code otherwise + */ +GIT_EXTERN(int) git_odb_stream_read(git_odb_stream *stream, char *buffer, size_t len); + +/** + * Free an odb stream + * + * @param stream the stream to free + */ +GIT_EXTERN(void) git_odb_stream_free(git_odb_stream *stream); + +/** + * Open a stream to read an object from the ODB + * + * Note that most backends do *not* support streaming reads + * because they store their objects as compressed/delta'ed blobs. + * + * It's recommended to use `git_odb_read` instead, which is + * assured to work on all backends. + * + * The returned stream will be of type `GIT_STREAM_RDONLY` and + * will have the following methods: + * + * - stream->read: read `n` bytes from the stream + * - stream->free: free the stream + * + * The stream must always be free'd or will leak memory. + * + * @see git_odb_stream + * + * @param out pointer where to store the stream + * @param len pointer where to store the length of the object + * @param type pointer where to store the type of the object + * @param db object database where the stream will read from + * @param oid oid of the object the stream will read from + * @return 0 if the stream was created, error code otherwise + */ +GIT_EXTERN(int) git_odb_open_rstream( + git_odb_stream **out, + size_t *len, + git_object_t *type, + git_odb *db, + const git_oid *oid); + +/** + * Open a stream for writing a pack file to the ODB. + * + * If the ODB layer understands pack files, then the given + * packfile will likely be streamed directly to disk (and a + * corresponding index created). If the ODB layer does not + * understand pack files, the objects will be stored in whatever + * format the ODB layer uses. + * + * @see git_odb_writepack + * + * @param out pointer to the writepack functions + * @param db object database where the stream will read from + * @param progress_cb function to call with progress information. + * Be aware that this is called inline with network and indexing operations, + * so performance may be affected. + * @param progress_payload payload for the progress callback + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_odb_write_pack( + git_odb_writepack **out, + git_odb *db, + git_indexer_progress_cb progress_cb, + void *progress_payload); + +/** + * Write a `multi-pack-index` file from all the `.pack` files in the ODB. + * + * 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). + * + * @param db object database where the `multi-pack-index` file will be written. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_odb_write_multi_pack_index( + git_odb *db); + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * Generate the object ID (in SHA1 or SHA256 format) for a given data buffer. + * + * @param[out] oid the resulting object ID. + * @param data data to hash + * @param len size of the data + * @param object_type of the data to hash + * @param oid_type the oid type to hash to + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hash( + git_oid *oid, + const void *data, + size_t len, + git_object_t object_type, + git_oid_t oid_type); + +/** + * Determine the object ID of a file on disk. + * + * @param[out] oid oid structure the result is written into. + * @param path file to read and determine object id for + * @param object_type of the data to hash + * @param oid_type the oid type to hash to + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hashfile( + git_oid *oid, + const char *path, + git_object_t object_type, + git_oid_t oid_type); +#else + +/** + * Determine the object-ID (sha1 or sha256 hash) of a data buffer + * + * The resulting OID will be the identifier for the data buffer as if + * the data buffer it were to written to the ODB. + * + * @param[out] oid the resulting object-ID. + * @param data data to hash + * @param len size of the data + * @param object_type of the data to hash + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hash(git_oid *oid, const void *data, size_t len, git_object_t object_type); + +/** + * Read a file from disk and fill a git_oid with the object id + * that the file would have if it were written to the Object + * Database as an object of the given type (w/o applying filters). + * Similar functionality to git.git's `git hash-object` without + * the `-w` flag, however, with the --no-filters flag. + * If you need filters, see git_repository_hashfile. + * + * @param[out] oid oid structure the result is written into. + * @param path file to read and determine object id for + * @param object_type of the data to hash + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_hashfile(git_oid *oid, const char *path, git_object_t object_type); + +#endif + +/** + * Create a copy of an odb_object + * + * The returned copy must be manually freed with `git_odb_object_free`. + * Note that because of an implementation detail, the returned copy will be + * the same pointer as `source`: the object is internally refcounted, so the + * copy still needs to be freed twice. + * + * @param dest pointer where to store the copy + * @param source object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_object_dup(git_odb_object **dest, git_odb_object *source); + +/** + * Close an ODB object + * + * This method must always be called once a `git_odb_object` is no + * longer needed, otherwise memory will leak. + * + * @param object object to close + */ +GIT_EXTERN(void) git_odb_object_free(git_odb_object *object); + +/** + * Return the OID of an ODB object + * + * This is the OID from which the object was read from + * + * @param object the object + * @return a pointer to the OID + */ +GIT_EXTERN(const git_oid *) git_odb_object_id(git_odb_object *object); + +/** + * Return the data of an ODB object + * + * This is the uncompressed, raw data as read from the ODB, + * without the leading header. + * + * This pointer is owned by the object and shall not be free'd. + * + * @param object the object + * @return @type `const unsigned char *` a pointer to the data + */ +GIT_EXTERN(const void *) git_odb_object_data(git_odb_object *object); + +/** + * Return the size of an ODB object + * + * This is the real size of the `data` buffer, not the + * actual size of the object. + * + * @param object the object + * @return the size + */ +GIT_EXTERN(size_t) git_odb_object_size(git_odb_object *object); + +/** + * Return the type of an ODB object + * + * @param object the object + * @return the type + */ +GIT_EXTERN(git_object_t) git_odb_object_type(git_odb_object *object); + +/** + * Add a custom backend to an existing Object DB + * + * The backends are checked in relative ordering, based on the + * value of the `priority` parameter. + * + * Read for more information. + * + * @param odb database to add the backend to + * @param backend pointer to a git_odb_backend instance + * @param priority Value for ordering the backends queue + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_add_backend(git_odb *odb, git_odb_backend *backend, int priority); + +/** + * Add a custom backend to an existing Object DB; this + * backend will work as an alternate. + * + * Alternate backends are always checked for objects *after* + * all the main backends have been exhausted. + * + * The backends are checked in relative ordering, based on the + * value of the `priority` parameter. + * + * Writing is disabled on alternate backends. + * + * Read for more information. + * + * @param odb database to add the backend to + * @param backend pointer to a git_odb_backend instance + * @param priority Value for ordering the backends queue + * @return 0 on success, error code otherwise + */ +GIT_EXTERN(int) git_odb_add_alternate(git_odb *odb, git_odb_backend *backend, int priority); + +/** + * Get the number of ODB backend objects + * + * @param odb object database + * @return number of backends in the ODB + */ +GIT_EXTERN(size_t) git_odb_num_backends(git_odb *odb); + +/** + * Lookup an ODB backend object by index + * + * @param out output pointer to ODB backend at pos + * @param odb object database + * @param pos index into object database backend list + * @return 0 on success, GIT_ENOTFOUND if pos is invalid, other errors < 0 + */ +GIT_EXTERN(int) git_odb_get_backend(git_odb_backend **out, git_odb *odb, size_t pos); + +/** + * Set the git commit-graph for the ODB. + * + * After a successful call, the ownership of the cgraph parameter will be + * transferred to libgit2, and the caller should not free it. + * + * The commit-graph can also be unset by explicitly passing NULL as the cgraph + * parameter. + * + * @param odb object database + * @param cgraph the git commit-graph + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_odb_set_commit_graph(git_odb *odb, git_commit_graph *cgraph); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/odb_backend.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/odb_backend.h new file mode 100644 index 00000000..88ca29fb --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/odb_backend.h @@ -0,0 +1,251 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_odb_backend_h__ +#define INCLUDE_git_odb_backend_h__ + +#include "common.h" +#include "types.h" +#include "indexer.h" + +/** + * @file git2/backend.h + * @brief Object database backends manage the storage of git objects + * @defgroup git_odb Git object database routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Options for configuring a packfile object backend. */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** + * Type of object IDs to use for this object database, or + * 0 for default (currently SHA1). + */ + git_oid_t oid_type; +} git_odb_backend_pack_options; + +/** The current version of the diff options structure */ +#define GIT_ODB_BACKEND_PACK_OPTIONS_VERSION 1 + +/** + * Stack initializer for odb pack backend options. Alternatively use + * `git_odb_backend_pack_options_init` programmatic initialization. + */ +#define GIT_ODB_BACKEND_PACK_OPTIONS_INIT \ + { GIT_ODB_BACKEND_PACK_OPTIONS_VERSION } + +typedef enum { + GIT_ODB_BACKEND_LOOSE_FSYNC = (1 << 0) +} git_odb_backend_loose_flag_t; + +/** Options for configuring a loose object backend. */ +typedef struct { + unsigned int version; /**< version for the struct */ + + /** A combination of the `git_odb_backend_loose_flag_t` types. */ + uint32_t flags; + + /** + * zlib compression level to use (0-9), where 1 is the fastest + * at the expense of larger files, and 9 produces the best + * compression at the expense of speed. 0 indicates that no + * compression should be performed. -1 is the default (currently + * optimizing for speed). + */ + int compression_level; + + /** Permissions to use creating a directory or 0 for defaults */ + unsigned int dir_mode; + + /** Permissions to use creating a file or 0 for defaults */ + unsigned int file_mode; + + /** + * Type of object IDs to use for this object database, or + * 0 for default (currently SHA1). + */ + git_oid_t oid_type; +} git_odb_backend_loose_options; + +/** The current version of the diff options structure */ +#define GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION 1 + +/** + * Stack initializer for odb loose backend options. Alternatively use + * `git_odb_backend_loose_options_init` programmatic initialization. + */ +#define GIT_ODB_BACKEND_LOOSE_OPTIONS_INIT \ + { GIT_ODB_BACKEND_LOOSE_OPTIONS_VERSION, 0, -1 } + +/* + * Constructors for in-box ODB backends. + */ + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * Create a backend for a directory containing packfiles. + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @param opts the options to use when creating the pack backend + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_pack( + git_odb_backend **out, + const char *objects_dir, + const git_odb_backend_pack_options *opts); + +/** + * Create a backend for a single packfile. + * + * @param[out] out location to store the odb backend pointer + * @param index_file path to the packfile's .idx file + * @param opts the options to use when creating the pack backend + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_one_pack( + git_odb_backend **out, + const char *index_file, + const git_odb_backend_pack_options *opts); + +/** + * Create a backend for loose objects + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @param opts options for the loose object backend or NULL + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_loose( + git_odb_backend **out, + const char *objects_dir, + git_odb_backend_loose_options *opts); + +#else + +/** + * Create a backend for a directory containing packfiles. + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_pack( + git_odb_backend **out, + const char *objects_dir); + +/** + * Create a backend out of a single packfile + * + * This can be useful for inspecting the contents of a single + * packfile. + * + * @param[out] out location to store the odb backend pointer + * @param index_file path to the packfile's .idx file + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_one_pack( + git_odb_backend **out, + const char *index_file); + +/** + * Create a backend for loose objects + * + * @param[out] out location to store the odb backend pointer + * @param objects_dir the Git repository's objects directory + * @param compression_level zlib compression level (0-9), or -1 for the default + * @param do_fsync if non-zero, perform an fsync on write + * @param dir_mode permission to use when creating directories, or 0 for default + * @param file_mode permission to use when creating directories, or 0 for default + * @return 0 or an error code + */ +GIT_EXTERN(int) git_odb_backend_loose( + git_odb_backend **out, + const char *objects_dir, + int compression_level, + int do_fsync, + unsigned int dir_mode, + unsigned int file_mode); + +#endif + +/** Streaming mode */ +typedef enum { + GIT_STREAM_RDONLY = (1 << 1), + GIT_STREAM_WRONLY = (1 << 2), + GIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY) +} git_odb_stream_t; + +/** + * A stream to read/write from a backend. + * + * This represents a stream of data being written to or read from a + * backend. When writing, the frontend functions take care of + * calculating the object's id and all `finalize_write` needs to do is + * store the object with the id it is passed. + */ +struct git_odb_stream { + git_odb_backend *backend; + unsigned int mode; + void *hash_ctx; + +#ifdef GIT_EXPERIMENTAL_SHA256 + git_oid_t oid_type; +#endif + + git_object_size_t declared_size; + git_object_size_t received_bytes; + + /** + * Write at most `len` bytes into `buffer` and advance the stream. + */ + int GIT_CALLBACK(read)(git_odb_stream *stream, char *buffer, size_t len); + + /** + * Write `len` bytes from `buffer` into the stream. + */ + int GIT_CALLBACK(write)(git_odb_stream *stream, const char *buffer, size_t len); + + /** + * Store the contents of the stream as an object with the id + * specified in `oid`. + * + * This method might not be invoked if: + * - an error occurs earlier with the `write` callback, + * - the object referred to by `oid` already exists in any backend, or + * - the final number of received bytes differs from the size declared + * with `git_odb_open_wstream()` + */ + int GIT_CALLBACK(finalize_write)(git_odb_stream *stream, const git_oid *oid); + + /** + * Free the stream's memory. + * + * This method might be called without a call to `finalize_write` if + * an error occurs or if the object is already present in the ODB. + */ + void GIT_CALLBACK(free)(git_odb_stream *stream); +}; + +/** A stream to write a pack file to the ODB */ +struct git_odb_writepack { + git_odb_backend *backend; + + int GIT_CALLBACK(append)(git_odb_writepack *writepack, const void *data, size_t size, git_indexer_progress *stats); + int GIT_CALLBACK(commit)(git_odb_writepack *writepack, git_indexer_progress *stats); + void GIT_CALLBACK(free)(git_odb_writepack *writepack); +}; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/oid.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/oid.h new file mode 100644 index 00000000..0af9737a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/oid.h @@ -0,0 +1,372 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_oid_h__ +#define INCLUDE_git_oid_h__ + +#include "common.h" +#include "types.h" +#include "experimental.h" + +/** + * @file git2/oid.h + * @brief Object IDs + * @defgroup git_oid Git object id routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** The type of object id. */ +typedef enum { + +#ifdef GIT_EXPERIMENTAL_SHA256 + GIT_OID_SHA1 = 1, /**< SHA1 */ + GIT_OID_SHA256 = 2 /**< SHA256 */ +#else + GIT_OID_SHA1 = 1 /**< SHA1 */ +#endif + +} git_oid_t; + +/* + * SHA1 is currently the only supported object ID type. + */ + +/** SHA1 is currently libgit2's default oid type. */ +#define GIT_OID_DEFAULT GIT_OID_SHA1 + +/** Size (in bytes) of a raw/binary sha1 oid */ +#define GIT_OID_SHA1_SIZE 20 +/** Size (in bytes) of a hex formatted sha1 oid */ +#define GIT_OID_SHA1_HEXSIZE (GIT_OID_SHA1_SIZE * 2) + +/** + * The binary representation of the null sha1 object ID. + */ +#ifndef GIT_EXPERIMENTAL_SHA256 +# define GIT_OID_SHA1_ZERO { { 0 } } +#else +# define GIT_OID_SHA1_ZERO { GIT_OID_SHA1, { 0 } } +#endif + +/** + * The string representation of the null sha1 object ID. + */ +#define GIT_OID_SHA1_HEXZERO "0000000000000000000000000000000000000000" + +/* + * Experimental SHA256 support is a breaking change to the API. + * This exists for application compatibility testing. + */ + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** Size (in bytes) of a raw/binary sha256 oid */ +# define GIT_OID_SHA256_SIZE 32 +/** Size (in bytes) of a hex formatted sha256 oid */ +# define GIT_OID_SHA256_HEXSIZE (GIT_OID_SHA256_SIZE * 2) + +/** + * The binary representation of the null sha256 object ID. + */ +# define GIT_OID_SHA256_ZERO { GIT_OID_SHA256, { 0 } } + +/** + * The string representation of the null sha256 object ID. + */ +# define GIT_OID_SHA256_HEXZERO "0000000000000000000000000000000000000000000000000000000000000000" + +#endif + +/** Maximum possible object ID size in raw format */ +#ifdef GIT_EXPERIMENTAL_SHA256 +# define GIT_OID_MAX_SIZE GIT_OID_SHA256_SIZE +#else +# define GIT_OID_MAX_SIZE GIT_OID_SHA1_SIZE +#endif + +/** Maximum possible object ID size in hex format */ +#ifdef GIT_EXPERIMENTAL_SHA256 +# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA256_HEXSIZE +#else +# define GIT_OID_MAX_HEXSIZE GIT_OID_SHA1_HEXSIZE +#endif + +/** Minimum length (in number of hex characters, + * i.e. packets of 4 bits) of an oid prefix */ +#define GIT_OID_MINPREFIXLEN 4 + +/** Unique identity of any object (commit, tree, blob, tag). */ +typedef struct git_oid { + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** type of object id */ + unsigned char type; +#endif + + /** raw binary formatted id */ + unsigned char id[GIT_OID_MAX_SIZE]; +} git_oid; + +#ifdef GIT_EXPERIMENTAL_SHA256 + +GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str, git_oid_t type); +GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str, git_oid_t type); +GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length, git_oid_t type); +GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw, git_oid_t type); + +#else + +/** + * Parse a hex formatted object id into a git_oid. + * + * 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. + * + * @param out oid structure the result is written into. + * @param str input hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (40 bytes for sha1, + * 256 bytes for sha256). + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str); + +/** + * Parse a hex formatted NUL-terminated string into a git_oid. + * + * @param out oid structure the result is written into. + * @param str input hex string; must be null-terminated. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str); + +/** + * Parse N characters of a hex formatted object id into a git_oid. + * + * If N is odd, the last byte's high nibble will be read in and the + * low nibble set to zero. + * + * @param out oid structure the result is written into. + * @param str input hex string of at least size `length` + * @param length length of the input string + * @return 0 or an error code + */ +GIT_EXTERN(int) git_oid_fromstrn(git_oid *out, const char *str, size_t length); + +/** + * Copy an already raw oid into a git_oid structure. + * + * @param out oid structure the result is written into. + * @param raw the raw input bytes to be copied. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_fromraw(git_oid *out, const unsigned char *raw); + +#endif + +/** + * Format a git_oid into a hex string. + * + * @param out output hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (40 bytes for SHA1, + * 64 bytes for SHA256). Only the oid digits are written; + * a '\\0' terminator must be added by the caller if it is + * required. + * @param id oid structure to format. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_fmt(char *out, const git_oid *id); + +/** + * Format a git_oid into a partial hex string. + * + * @param out output hex string; you say how many bytes to write. + * If the number of bytes is > GIT_OID_SHA1_HEXSIZE, extra bytes + * will be zeroed; if not, a '\0' terminator is NOT added. + * @param n number of characters to write into out string + * @param id oid structure to format. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_nfmt(char *out, size_t n, const git_oid *id); + +/** + * Format a git_oid into a loose-object path string. + * + * The resulting string is "aa/...", where "aa" is the first two + * hex digits of the oid and "..." is the remaining 38 digits. + * + * @param out output hex string; must be pointing at the start of + * the hex sequence and have at least the number of bytes + * needed for an oid encoded in hex (41 bytes for SHA1, + * 65 bytes for SHA256). Only the oid digits are written; + * a '\\0' terminator must be added by the caller if it + * is required. + * @param id oid structure to format. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_oid_pathfmt(char *out, const git_oid *id); + +/** + * Format a git_oid into a statically allocated c-string. + * + * The c-string is owned by the library and should not be freed + * by the user. If libgit2 is built with thread support, the string + * will be stored in TLS (i.e. one buffer per thread) to allow for + * concurrent calls of the function. + * + * @param oid The oid structure to format + * @return the c-string or NULL on failure + */ +GIT_EXTERN(char *) git_oid_tostr_s(const git_oid *oid); + +/** + * Format a git_oid into a buffer as a hex format c-string. + * + * If the buffer is smaller than the size of a hex-formatted oid string + * plus an additional byte (GIT_OID_SHA_HEXSIZE + 1 for SHA1 or + * GIT_OID_SHA256_HEXSIZE + 1 for SHA256), then the resulting + * oid c-string will be truncated to n-1 characters (but will still be + * NUL-byte terminated). + * + * If there are any input parameter errors (out == NULL, n == 0, oid == + * NULL), then a pointer to an empty string is returned, so that the + * return value can always be printed. + * + * @param out the buffer into which the oid string is output. + * @param n the size of the out buffer. + * @param id the oid structure to format. + * @return the out buffer pointer, assuming no input parameter + * errors, otherwise a pointer to an empty string. + */ +GIT_EXTERN(char *) git_oid_tostr(char *out, size_t n, const git_oid *id); + +/** + * Copy an oid from one structure to another. + * + * @param out oid structure the result is written into. + * @param src oid structure to copy from. + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_oid_cpy(git_oid *out, const git_oid *src); + +/** + * Compare two oid structures. + * + * @param a first oid structure. + * @param b second oid structure. + * @return <0, 0, >0 if a < b, a == b, a > b. + */ +GIT_EXTERN(int) git_oid_cmp(const git_oid *a, const git_oid *b); + +/** + * Compare two oid structures for equality + * + * @param a first oid structure. + * @param b second oid structure. + * @return true if equal, false otherwise + */ +GIT_EXTERN(int) git_oid_equal(const git_oid *a, const git_oid *b); + +/** + * Compare the first 'len' hexadecimal characters (packets of 4 bits) + * of two oid structures. + * + * @param a first oid structure. + * @param b second oid structure. + * @param len the number of hex chars to compare + * @return 0 in case of a match + */ +GIT_EXTERN(int) git_oid_ncmp(const git_oid *a, const git_oid *b, size_t len); + +/** + * Check if an oid equals an hex formatted object id. + * + * @param id oid structure. + * @param str input hex string of an object id. + * @return 0 in case of a match, -1 otherwise. + */ +GIT_EXTERN(int) git_oid_streq(const git_oid *id, const char *str); + +/** + * Compare an oid to an hex formatted object id. + * + * @param id oid structure. + * @param str input hex string of an object id. + * @return -1 if str is not valid, <0 if id sorts before str, + * 0 if id matches str, >0 if id sorts after str. + */ +GIT_EXTERN(int) git_oid_strcmp(const git_oid *id, const char *str); + +/** + * Check is an oid is all zeros. + * + * @param id the object ID to check + * @return 1 if all zeros, 0 otherwise. + */ +GIT_EXTERN(int) git_oid_is_zero(const git_oid *id); + +/** + * OID Shortener object + */ +typedef struct git_oid_shorten git_oid_shorten; + +/** + * Create a new OID shortener. + * + * The OID shortener is used to process a list of OIDs + * in text form and return the shortest length that would + * uniquely identify all of them. + * + * E.g. look at the result of `git log --abbrev`. + * + * @param min_length The minimal length for all identifiers, + * which will be used even if shorter OIDs would still + * be unique. + * @return a `git_oid_shorten` instance, NULL if OOM + */ +GIT_EXTERN(git_oid_shorten *) git_oid_shorten_new(size_t min_length); + +/** + * Add a new OID to set of shortened OIDs and calculate + * the minimal length to uniquely identify all the OIDs in + * the set. + * + * The OID is expected to be a 40-char hexadecimal string. + * The OID is owned by the user and will not be modified + * or freed. + * + * For performance reasons, there is a hard-limit of how many + * OIDs can be added to a single set (around ~32000, assuming + * a mostly randomized distribution), which should be enough + * for any kind of program, and keeps the algorithm fast and + * memory-efficient. + * + * Attempting to add more than those OIDs will result in a + * GIT_ERROR_INVALID error + * + * @param os a `git_oid_shorten` instance + * @param text_id an OID in text form + * @return the minimal length to uniquely identify all OIDs + * added so far to the set; or an error code (<0) if an + * error occurs. + */ +GIT_EXTERN(int) git_oid_shorten_add(git_oid_shorten *os, const char *text_id); + +/** + * Free an OID shortener instance + * + * @param os a `git_oid_shorten` instance + */ +GIT_EXTERN(void) git_oid_shorten_free(git_oid_shorten *os); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/oidarray.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/oidarray.h new file mode 100644 index 00000000..e79a5595 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/oidarray.h @@ -0,0 +1,43 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_oidarray_h__ +#define INCLUDE_git_oidarray_h__ + +#include "common.h" +#include "oid.h" + +/** + * @file git2/oidarray.h + * @brief An array of object IDs + * @defgroup git_oidarray Arrays of object IDs + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Array of object ids */ +typedef struct git_oidarray { + git_oid *ids; + size_t count; +} git_oidarray; + +/** + * Free the object IDs contained in an oid_array. This method should + * be called on `git_oidarray` objects that were provided by the + * library. Not doing so will result in a memory leak. + * + * This does not free the `git_oidarray` itself, since the library will + * never allocate that object directly itself. + * + * @param array git_oidarray from which to free oid data + */ +GIT_EXTERN(void) git_oidarray_dispose(git_oidarray *array); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/pack.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/pack.h new file mode 100644 index 00000000..3837e044 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/pack.h @@ -0,0 +1,279 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_pack_h__ +#define INCLUDE_git_pack_h__ + +#include "common.h" +#include "oid.h" +#include "indexer.h" + +/** + * @file git2/pack.h + * @brief Git pack management routines + * + * Packing objects + * --------------- + * + * Creation of packfiles requires two steps: + * + * - First, insert all the objects you want to put into the packfile + * using `git_packbuilder_insert` and `git_packbuilder_insert_tree`. + * It's important to add the objects in recency order ("in the order + * that they are 'reachable' from head"). + * + * "ANY order will give you a working pack, ... [but it is] the thing + * that gives packs good locality. It keeps the objects close to the + * head (whether they are old or new, but they are _reachable_ from the + * head) at the head of the pack. So packs actually have absolutely + * _wonderful_ IO patterns." - Linus Torvalds + * git.git/Documentation/technical/pack-heuristics.txt + * + * - Second, use `git_packbuilder_write` or `git_packbuilder_foreach` to + * write the resulting packfile. + * + * libgit2 will take care of the delta ordering and generation. + * `git_packbuilder_set_threads` can be used to adjust the number of + * threads used for the process. + * + * See tests/pack/packbuilder.c for an example. + * + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Stages that are reported by the packbuilder progress callback. + */ +typedef enum { + GIT_PACKBUILDER_ADDING_OBJECTS = 0, + GIT_PACKBUILDER_DELTAFICATION = 1 +} git_packbuilder_stage_t; + +/** + * Initialize a new packbuilder + * + * @param out The new packbuilder object + * @param repo The repository + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_new(git_packbuilder **out, git_repository *repo); + +/** + * Set number of threads to spawn + * + * By default, libgit2 won't spawn any threads at all; + * when set to 0, libgit2 will autodetect the number of + * CPUs. + * + * @param pb The packbuilder + * @param n Number of threads to spawn + * @return number of actual threads to be used + */ +GIT_EXTERN(unsigned int) git_packbuilder_set_threads(git_packbuilder *pb, unsigned int n); + +/** + * Insert a single object + * + * For an optimal pack it's mandatory to insert objects in recency order, + * commits followed by trees and blobs. + * + * @param pb The packbuilder + * @param id The oid of the commit + * @param name The name; might be NULL + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert(git_packbuilder *pb, const git_oid *id, const char *name); + +/** + * Insert a root tree object + * + * This will add the tree as well as all referenced trees and blobs. + * + * @param pb The packbuilder + * @param id The oid of the root tree + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_tree(git_packbuilder *pb, const git_oid *id); + +/** + * Insert a commit object + * + * This will add a commit as well as the completed referenced tree. + * + * @param pb The packbuilder + * @param id The oid of the commit + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_commit(git_packbuilder *pb, const git_oid *id); + +/** + * Insert objects as given by the walk + * + * Those commits and all objects they reference will be inserted into + * the packbuilder. + * + * @param pb the packbuilder + * @param walk the revwalk to use to fill the packbuilder + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_walk(git_packbuilder *pb, git_revwalk *walk); + +/** + * Recursively insert an object and its referenced objects + * + * Insert the object as well as any object it references. + * + * @param pb the packbuilder + * @param id the id of the root object to insert + * @param name optional name for the object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_insert_recur(git_packbuilder *pb, const git_oid *id, const char *name); + +/** + * Write the contents of the packfile to an in-memory buffer + * + * The contents of the buffer will become a valid packfile, even though there + * will be no attached index + * + * @param buf Buffer where to write the packfile + * @param pb The packbuilder + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_write_buf(git_buf *buf, git_packbuilder *pb); + +/** + * Write the new pack and corresponding index file to path. + * + * @param pb The packbuilder + * @param path Path to the directory where the packfile and index should be stored, or NULL for default location + * @param mode permissions to use creating a packfile or 0 for defaults + * @param progress_cb function to call with progress information from the indexer (optional) + * @param progress_cb_payload payload for the progress callback (optional) + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_write( + git_packbuilder *pb, + const char *path, + unsigned int mode, + git_indexer_progress_cb progress_cb, + void *progress_cb_payload); + +#ifndef GIT_DEPRECATE_HARD +/** + * Get the packfile's hash + * + * A packfile's name is derived from the sorted hashing of all object + * names. This is only correct after the packfile has been written. + * + * @deprecated use git_packbuilder_name + * @param pb The packbuilder object + * @return 0 or an error code + */ +GIT_EXTERN(const git_oid *) git_packbuilder_hash(git_packbuilder *pb); +#endif + +/** + * Get the unique name for the resulting packfile. + * + * The packfile's name is derived from the packfile's content. + * This is only correct after the packfile has been written. + * + * @param pb the packbuilder instance + * @return a NUL terminated string for the packfile name + */ +GIT_EXTERN(const char *) git_packbuilder_name(git_packbuilder *pb); + +/** + * Callback used to iterate over packed objects + * + * @see git_packbuilder_foreach + * + * @param buf A pointer to the object's data + * @param size The size of the underlying object + * @param payload Payload passed to git_packbuilder_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_packbuilder_foreach_cb)(void *buf, size_t size, void *payload); + +/** + * Create the new pack and pass each object to the callback + * + * @param pb the packbuilder + * @param cb the callback to call with each packed object's buffer + * @param payload the callback's data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_foreach(git_packbuilder *pb, git_packbuilder_foreach_cb cb, void *payload); + +/** + * Get the total number of objects the packbuilder will write out + * + * @param pb the packbuilder + * @return the number of objects in the packfile + */ +GIT_EXTERN(size_t) git_packbuilder_object_count(git_packbuilder *pb); + +/** + * Get the number of objects the packbuilder has already written out + * + * @param pb the packbuilder + * @return the number of objects which have already been written + */ +GIT_EXTERN(size_t) git_packbuilder_written(git_packbuilder *pb); + +/** + * Packbuilder progress notification function. + * + * @param stage the stage of the packbuilder + * @param current the current object + * @param total the total number of objects + * @param payload the callback payload + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_packbuilder_progress)( + int stage, + uint32_t current, + uint32_t total, + void *payload); + +/** + * Set the callbacks for a packbuilder + * + * @param pb The packbuilder object + * @param progress_cb Function to call with progress information during + * pack building. Be aware that this is called inline with pack building + * operations, so performance may be affected. + * When progress_cb returns an error, the pack building process will be + * aborted and the error will be returned from the invoked function. + * `pb` must then be freed. + * @param progress_cb_payload Payload for progress callback. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_packbuilder_set_callbacks( + git_packbuilder *pb, + git_packbuilder_progress progress_cb, + void *progress_cb_payload); + +/** + * Free the packbuilder and all associated data + * + * @param pb The packbuilder + */ +GIT_EXTERN(void) git_packbuilder_free(git_packbuilder *pb); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/patch.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/patch.h new file mode 100644 index 00000000..78248215 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/patch.h @@ -0,0 +1,289 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_patch_h__ +#define INCLUDE_git_patch_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "diff.h" + +/** + * @file git2/patch.h + * @brief Patches store the textual diffs in a delta + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The diff patch is used to store all the text diffs for a delta. + * + * You can easily loop over the content of patches and get information about + * them. + */ +typedef struct git_patch git_patch; + +/** + * Get the repository associated with this patch. May be NULL. + * + * @param patch the patch + * @return a pointer to the repository + */ +GIT_EXTERN(git_repository *) git_patch_owner(const git_patch *patch); + +/** + * Return a patch for an entry in the diff list. + * + * The `git_patch` is a newly created object contains the text diffs + * for the delta. You have to call `git_patch_free()` when you are + * done with it. You can use the patch object to loop over all the hunks + * and lines in the diff of the one delta. + * + * For an unchanged file or a binary file, no `git_patch` will be + * created, the output will be set to NULL, and the `binary` flag will be + * set true in the `git_diff_delta` structure. + * + * It is okay to pass NULL for either of the output parameters; if you pass + * NULL for the `git_patch`, then the text diff will not be calculated. + * + * @param out Output parameter for the delta patch object + * @param diff Diff list object + * @param idx Index into diff list + * @return 0 on success, other value < 0 on error + */ +GIT_EXTERN(int) git_patch_from_diff( + git_patch **out, git_diff *diff, size_t idx); + +/** + * Directly generate a patch from the difference between two blobs. + * + * This is just like `git_diff_blobs()` 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. + * + * @param out The generated patch; NULL on error + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param new_blob Blob for new side of diff, or NULL for empty blob + * @param new_as_path Treat new blob as if it had this filename; can be NULL + * @param opts Options for diff, or NULL for default options + * @return 0 on success or error code < 0 + */ +GIT_EXTERN(int) git_patch_from_blobs( + git_patch **out, + const git_blob *old_blob, + const char *old_as_path, + const git_blob *new_blob, + const char *new_as_path, + const git_diff_options *opts); + +/** + * Directly generate a patch from the difference between a blob and a buffer. + * + * This is just like `git_diff_blob_to_buffer()` 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. + * + * @param out The generated patch; NULL on error + * @param old_blob Blob for old side of diff, or NULL for empty blob + * @param old_as_path Treat old blob as if it had this filename; can be NULL + * @param buffer Raw data for new side of diff, or NULL for empty + * @param buffer_len Length of raw data for new side of diff + * @param buffer_as_path Treat buffer as if it had this filename; can be NULL + * @param opts Options for diff, or NULL for default options + * @return 0 on success or error code < 0 + */ +GIT_EXTERN(int) git_patch_from_blob_and_buffer( + git_patch **out, + const git_blob *old_blob, + const char *old_as_path, + const void *buffer, + size_t buffer_len, + const char *buffer_as_path, + const git_diff_options *opts); + +/** + * Directly generate a patch from the difference between two buffers. + * + * 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. + * + * @param out The generated patch; NULL on error + * @param old_buffer Raw data for old side of diff, or NULL for empty + * @param old_len Length of the raw data for old side of the diff + * @param old_as_path Treat old buffer as if it had this filename; can be NULL + * @param new_buffer Raw data for new side of diff, or NULL for empty + * @param new_len Length of raw data for new side of diff + * @param new_as_path Treat buffer as if it had this filename; can be NULL + * @param opts Options for diff, or NULL for default options + * @return 0 on success or error code < 0 + */ +GIT_EXTERN(int) git_patch_from_buffers( + git_patch **out, + const void *old_buffer, + size_t old_len, + const char *old_as_path, + const void *new_buffer, + size_t new_len, + const char *new_as_path, + const git_diff_options *opts); + +/** + * Free a git_patch object. + * + * @param patch The patch to free. + */ +GIT_EXTERN(void) git_patch_free(git_patch *patch); + +/** + * Get the delta associated with a patch. This delta points to internal + * data and you do not have to release it when you are done with it. + * + * @param patch The patch in which to get the delta. + * @return The delta associated with the patch. + */ +GIT_EXTERN(const git_diff_delta *) git_patch_get_delta(const git_patch *patch); + +/** + * Get the number of hunks in a patch + * + * @param patch The patch in which to get the number of hunks. + * @return The number of hunks of the patch. + */ +GIT_EXTERN(size_t) git_patch_num_hunks(const git_patch *patch); + +/** + * Get line counts of each type in a patch. + * + * This helps imitate a diff --numstat type of output. For that purpose, + * you only need the `total_additions` and `total_deletions` values, but we + * include the `total_context` line count in case you want the total number + * of lines of diff output that will be generated. + * + * All outputs are optional. Pass NULL if you don't need a particular count. + * + * @param total_context Count of context lines in output, can be NULL. + * @param total_additions Count of addition lines in output, can be NULL. + * @param total_deletions Count of deletion lines in output, can be NULL. + * @param patch The git_patch object + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_patch_line_stats( + size_t *total_context, + size_t *total_additions, + size_t *total_deletions, + const git_patch *patch); + +/** + * Get the information about a hunk in a patch + * + * Given a patch and a hunk index into the patch, this returns detailed + * information about that hunk. Any of the output pointers can be passed + * as NULL if you don't care about that particular piece of information. + * + * @param out Output pointer to git_diff_hunk of hunk + * @param lines_in_hunk Output count of total lines in this hunk + * @param patch Input pointer to patch object + * @param hunk_idx Input index of hunk to get information about + * @return 0 on success, GIT_ENOTFOUND if hunk_idx out of range, <0 on error + */ +GIT_EXTERN(int) git_patch_get_hunk( + const git_diff_hunk **out, + size_t *lines_in_hunk, + git_patch *patch, + size_t hunk_idx); + +/** + * Get the number of lines in a hunk. + * + * @param patch The git_patch object + * @param hunk_idx Index of the hunk + * @return Number of lines in hunk or GIT_ENOTFOUND if invalid hunk index + */ +GIT_EXTERN(int) git_patch_num_lines_in_hunk( + const git_patch *patch, + size_t hunk_idx); + +/** + * Get data about a line in a hunk of a patch. + * + * Given a patch, a hunk index, and a line index in the hunk, this + * will return a lot of details about that line. If you pass a hunk + * index larger than the number of hunks or a line index larger than + * the number of lines in the hunk, this will return -1. + * + * @param out The git_diff_line data for this line + * @param patch The patch to look in + * @param hunk_idx The index of the hunk + * @param line_of_hunk The index of the line in the hunk + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_patch_get_line_in_hunk( + const git_diff_line **out, + git_patch *patch, + size_t hunk_idx, + size_t line_of_hunk); + +/** + * Look up size of patch diff data in bytes + * + * This returns the raw size of the patch data. This only includes the + * actual data from the lines of the diff, not the file or hunk headers. + * + * If you pass `include_context` as true (non-zero), this will be the size + * of all of the diff output; if you pass it as false (zero), this will + * only include the actual changed lines (as if `context_lines` was 0). + * + * @param patch A git_patch representing changes to one file + * @param include_context Include context lines in size if non-zero + * @param include_hunk_headers Include hunk header lines if non-zero + * @param include_file_headers Include file header lines if non-zero + * @return The number of bytes of data + */ +GIT_EXTERN(size_t) git_patch_size( + git_patch *patch, + int include_context, + int include_hunk_headers, + int include_file_headers); + +/** + * Serialize the patch to text via callback. + * + * Returning a non-zero value from the callback will terminate the iteration + * and return that value to the caller. + * + * @param patch A git_patch representing changes to one file + * @param print_cb Callback function to output lines of the patch. Will be + * called for file headers, hunk headers, and diff lines. + * @param payload Reference pointer that will be passed to your callbacks. + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_patch_print( + git_patch *patch, + git_diff_line_cb print_cb, + void *payload); + +/** + * Get the content of a patch as a single diff text. + * + * @param out The git_buf to be filled in + * @param patch A git_patch representing changes to one file + * @return 0 on success, <0 on failure. + */ +GIT_EXTERN(int) git_patch_to_buf( + git_buf *out, + git_patch *patch); + +/**@}*/ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/pathspec.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/pathspec.h new file mode 100644 index 00000000..6f6918cd --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/pathspec.h @@ -0,0 +1,289 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_pathspec_h__ +#define INCLUDE_git_pathspec_h__ + +#include "common.h" +#include "types.h" +#include "strarray.h" +#include "diff.h" + +/** + * @file git2/pathspec.h + * @brief Specifiers for path matching + * @defgroup git_pathspec Specifiers for path matching + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Compiled pathspec + */ +typedef struct git_pathspec git_pathspec; + +/** + * List of filenames matching a pathspec + */ +typedef struct git_pathspec_match_list git_pathspec_match_list; + +/** + * Options controlling how pathspec match should be executed + */ +typedef enum { + GIT_PATHSPEC_DEFAULT = 0, + + /** + * GIT_PATHSPEC_IGNORE_CASE forces match to ignore case; otherwise + * match will use native case sensitivity of platform filesystem + */ + GIT_PATHSPEC_IGNORE_CASE = (1u << 0), + + /** + * GIT_PATHSPEC_USE_CASE forces case sensitive match; otherwise + * match will use native case sensitivity of platform filesystem + */ + GIT_PATHSPEC_USE_CASE = (1u << 1), + + /** + * GIT_PATHSPEC_NO_GLOB disables glob patterns and just uses simple + * string comparison for matching + */ + GIT_PATHSPEC_NO_GLOB = (1u << 2), + + /** + * GIT_PATHSPEC_NO_MATCH_ERROR means the match functions return error + * code GIT_ENOTFOUND if no matches are found; otherwise no matches is + * still success (return 0) but `git_pathspec_match_list_entrycount` + * will indicate 0 matches. + */ + GIT_PATHSPEC_NO_MATCH_ERROR = (1u << 3), + + /** + * GIT_PATHSPEC_FIND_FAILURES means that the `git_pathspec_match_list` + * should track which patterns matched which files so that at the end of + * the match we can identify patterns that did not match any files. + */ + GIT_PATHSPEC_FIND_FAILURES = (1u << 4), + + /** + * GIT_PATHSPEC_FAILURES_ONLY means that the `git_pathspec_match_list` + * does not need to keep the actual matching filenames. Use this to + * just test if there were any matches at all or in combination with + * GIT_PATHSPEC_FIND_FAILURES to validate a pathspec. + */ + GIT_PATHSPEC_FAILURES_ONLY = (1u << 5) +} git_pathspec_flag_t; + +/** + * Compile a pathspec + * + * @param out Output of the compiled pathspec + * @param pathspec A git_strarray of the paths to match + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_pathspec_new( + git_pathspec **out, const git_strarray *pathspec); + +/** + * Free a pathspec + * + * @param ps The compiled pathspec + */ +GIT_EXTERN(void) git_pathspec_free(git_pathspec *ps); + +/** + * Try to match a path against a pathspec + * + * Unlike most of the other pathspec matching functions, this will not + * fall back on the native case-sensitivity for your platform. You must + * explicitly pass flags to control case sensitivity or else this will + * fall back on being case sensitive. + * + * @param ps The compiled pathspec + * @param flags Combination of git_pathspec_flag_t options to control match + * @param path The pathname to attempt to match + * @return 1 is path matches spec, 0 if it does not + */ +GIT_EXTERN(int) git_pathspec_matches_path( + const git_pathspec *ps, uint32_t flags, const char *path); + +/** + * Match a pathspec against the working directory of a repository. + * + * This matches the pathspec against the current files in the working + * directory of the repository. It is an error to invoke this on a bare + * repo. This handles git ignores (i.e. ignored files will not be + * considered to match the `pathspec` unless the file is tracked in the + * index). + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param repo The repository in which to match; bare repo is an error + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag was given + */ +GIT_EXTERN(int) git_pathspec_match_workdir( + git_pathspec_match_list **out, + git_repository *repo, + uint32_t flags, + git_pathspec *ps); + +/** + * Match a pathspec against entries in an index. + * + * This matches the pathspec against the files in the repository index. + * + * NOTE: At the moment, the case sensitivity of this match is controlled + * by the current case-sensitivity of the index object itself and the + * USE_CASE and IGNORE_CASE flags will have no effect. This behavior will + * be corrected in a future release. + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param index The index to match against + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag is used + */ +GIT_EXTERN(int) git_pathspec_match_index( + git_pathspec_match_list **out, + git_index *index, + uint32_t flags, + git_pathspec *ps); + +/** + * Match a pathspec against files in a tree. + * + * This matches the pathspec against the files in the given tree. + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param tree The root-level tree to match against + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag is used + */ +GIT_EXTERN(int) git_pathspec_match_tree( + git_pathspec_match_list **out, + git_tree *tree, + uint32_t flags, + git_pathspec *ps); + +/** + * Match a pathspec against files in a diff list. + * + * This matches the pathspec against the files in the given diff list. + * + * 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. + * + * @param out Output list of matches; pass NULL to just get return value + * @param diff A generated diff list + * @param flags Combination of git_pathspec_flag_t options to control match + * @param ps Pathspec to be matched + * @return 0 on success, -1 on error, GIT_ENOTFOUND if no matches and + * the GIT_PATHSPEC_NO_MATCH_ERROR flag is used + */ +GIT_EXTERN(int) git_pathspec_match_diff( + git_pathspec_match_list **out, + git_diff *diff, + uint32_t flags, + git_pathspec *ps); + +/** + * Free memory associates with a git_pathspec_match_list + * + * @param m The git_pathspec_match_list to be freed + */ +GIT_EXTERN(void) git_pathspec_match_list_free(git_pathspec_match_list *m); + +/** + * Get the number of items in a match list. + * + * @param m The git_pathspec_match_list object + * @return Number of items in match list + */ +GIT_EXTERN(size_t) git_pathspec_match_list_entrycount( + const git_pathspec_match_list *m); + +/** + * Get a matching filename by position. + * + * This routine cannot be used if the match list was generated by + * `git_pathspec_match_diff`. If so, it will always return NULL. + * + * @param m The git_pathspec_match_list object + * @param pos The index into the list + * @return The filename of the match + */ +GIT_EXTERN(const char *) git_pathspec_match_list_entry( + const git_pathspec_match_list *m, size_t pos); + +/** + * Get a matching diff delta by position. + * + * This routine can only be used if the match list was generated by + * `git_pathspec_match_diff`. Otherwise it will always return NULL. + * + * @param m The git_pathspec_match_list object + * @param pos The index into the list + * @return The filename of the match + */ +GIT_EXTERN(const git_diff_delta *) git_pathspec_match_list_diff_entry( + const git_pathspec_match_list *m, size_t pos); + +/** + * Get the number of pathspec items that did not match. + * + * This will be zero unless you passed GIT_PATHSPEC_FIND_FAILURES when + * generating the git_pathspec_match_list. + * + * @param m The git_pathspec_match_list object + * @return Number of items in original pathspec that had no matches + */ +GIT_EXTERN(size_t) git_pathspec_match_list_failed_entrycount( + const git_pathspec_match_list *m); + +/** + * Get an original pathspec string that had no matches. + * + * This will be return NULL for positions out of range. + * + * @param m The git_pathspec_match_list object + * @param pos The index into the failed items + * @return The pathspec pattern that didn't match anything + */ +GIT_EXTERN(const char *) git_pathspec_match_list_failed_entry( + const git_pathspec_match_list *m, size_t pos); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/proxy.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/proxy.h new file mode 100644 index 00000000..195ab75e --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/proxy.h @@ -0,0 +1,108 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_proxy_h__ +#define INCLUDE_git_proxy_h__ + +#include "common.h" + +#include "cert.h" +#include "credential.h" + +/** + * @file git2/proxy.h + * @brief TLS proxies + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The type of proxy to use. + */ +typedef enum { + /** + * Do not attempt to connect through a proxy + * + * If built against libcurl, it itself may attempt to connect + * to a proxy if the environment variables specify it. + */ + GIT_PROXY_NONE, + /** + * Try to auto-detect the proxy from the git configuration. + */ + GIT_PROXY_AUTO, + /** + * Connect via the URL given in the options + */ + GIT_PROXY_SPECIFIED +} git_proxy_t; + +/** + * Options for connecting through a proxy + * + * Note that not all types may be supported, depending on the platform + * and compilation options. + */ +typedef struct { + unsigned int version; + + /** + * The type of proxy to use, by URL, auto-detect. + */ + git_proxy_t type; + + /** + * The URL of the proxy. + */ + const char *url; + + /** + * This will be called if the remote host requires + * authentication in order to connect to it. + * + * Returning GIT_PASSTHROUGH will make libgit2 behave as + * though this field isn't set. + */ + git_credential_acquire_cb credentials; + + /** + * If cert verification fails, this will be called to let the + * user make the final decision of whether to allow the + * connection to proceed. Returns 0 to allow the connection + * or a negative value to indicate an error. + */ + git_transport_certificate_check_cb certificate_check; + + /** + * Payload to be provided to the credentials and certificate + * check callbacks. + */ + void *payload; +} git_proxy_options; + +/** Current version for the `git_proxy_options` structure */ +#define GIT_PROXY_OPTIONS_VERSION 1 + +/** Static constructor for `git_proxy_options` */ +#define GIT_PROXY_OPTIONS_INIT {GIT_PROXY_OPTIONS_VERSION} + +/** + * Initialize git_proxy_options structure + * + * Initializes a `git_proxy_options` with default values. Equivalent to + * creating an instance with `GIT_PROXY_OPTIONS_INIT`. + * + * @param opts The `git_proxy_options` struct to initialize. + * @param version The struct version; pass `GIT_PROXY_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_proxy_options_init(git_proxy_options *opts, unsigned int version); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/rebase.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/rebase.h new file mode 100644 index 00000000..3fb3e573 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/rebase.h @@ -0,0 +1,402 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_rebase_h__ +#define INCLUDE_git_rebase_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "annotated_commit.h" +#include "merge.h" +#include "checkout.h" +#include "commit.h" + +/** + * @file git2/rebase.h + * @brief Rebase manipulates commits, placing them on a new parent + * @defgroup git_rebase Rebase manipulates commits, placing them on a new parent + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Rebase options + * + * Use to tell the rebase machinery how to operate. + */ +typedef struct { + unsigned int version; + + /** + * Used by `git_rebase_init`, this will instruct other clients working + * on this rebase that you want a quiet rebase experience, which they + * may choose to provide in an application-specific manner. This has no + * effect upon libgit2 directly, but is provided for interoperability + * between Git tools. + */ + int quiet; + + /** + * Used by `git_rebase_init`, this will begin an in-memory rebase, + * which will allow callers to step through the rebase operations and + * commit the rebased changes, but will not rewind HEAD or update the + * repository to be in a rebasing state. This will not interfere with + * the working directory (if there is one). + */ + int inmemory; + + /** + * Used by `git_rebase_finish`, this is the name of the notes reference + * used to rewrite notes for rebased commits when finishing the rebase; + * if NULL, the contents of the configuration option `notes.rewriteRef` + * is examined, unless the configuration option `notes.rewrite.rebase` + * is set to false. If `notes.rewriteRef` is also NULL, notes will + * not be rewritten. + */ + const char *rewrite_notes_ref; + + /** + * Options to control how trees are merged during `git_rebase_next`. + */ + git_merge_options merge_options; + + /** + * Options to control how files are written during `git_rebase_init`, + * `git_rebase_next` and `git_rebase_abort`. Note that during + * `abort`, these options will add an implied `GIT_CHECKOUT_FORCE` + * to match git semantics. + */ + git_checkout_options checkout_options; + + /** + * Optional callback that allows users to override commit + * creation in `git_rebase_commit`. If specified, users can + * create their own commit and provide the commit ID, which + * may be useful for signing commits or otherwise customizing + * the commit creation. + * + * If this callback returns `GIT_PASSTHROUGH`, then + * `git_rebase_commit` will continue to create the commit. + */ + git_commit_create_cb commit_create_cb; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + /** + * If provided, this will be called with the commit content, allowing + * a signature to be added to the rebase commit. Can be skipped with + * GIT_PASSTHROUGH. If GIT_PASSTHROUGH is returned, a commit will be made + * without a signature. + * + * This field is only used when performing git_rebase_commit. + * + * This callback is not invoked if a `git_commit_create_cb` is + * specified. + * + * This callback is deprecated; users should provide a + * creation callback as `commit_create_cb` that produces a + * commit buffer, signs it, and commits it. + */ + int (*signing_cb)(git_buf *, git_buf *, const char *, void *); +#endif + + /** + * This will be passed to each of the callbacks in this struct + * as the last parameter. + */ + void *payload; +} git_rebase_options; + +/** + * Type of rebase operation in-progress after calling `git_rebase_next`. + */ +typedef enum { + /** + * The given commit is to be cherry-picked. The client should commit + * the changes and continue if there are no conflicts. + */ + GIT_REBASE_OPERATION_PICK = 0, + + /** + * The given commit is to be cherry-picked, but the client should prompt + * the user to provide an updated commit message. + */ + GIT_REBASE_OPERATION_REWORD, + + /** + * The given commit is to be cherry-picked, but the client should stop + * to allow the user to edit the changes before committing them. + */ + GIT_REBASE_OPERATION_EDIT, + + /** + * The given commit is to be squashed into the previous commit. The + * commit message will be merged with the previous message. + */ + GIT_REBASE_OPERATION_SQUASH, + + /** + * The given commit is to be squashed into the previous commit. The + * commit message from this commit will be discarded. + */ + GIT_REBASE_OPERATION_FIXUP, + + /** + * No commit will be cherry-picked. The client should run the given + * command and (if successful) continue. + */ + GIT_REBASE_OPERATION_EXEC +} git_rebase_operation_t; + +/** Current version for the `git_rebase_options` structure */ +#define GIT_REBASE_OPTIONS_VERSION 1 + +/** Static constructor for `git_rebase_options` */ +#define GIT_REBASE_OPTIONS_INIT \ + { GIT_REBASE_OPTIONS_VERSION, 0, 0, NULL, GIT_MERGE_OPTIONS_INIT, \ + GIT_CHECKOUT_OPTIONS_INIT, NULL, NULL } + +/** Indicates that a rebase operation is not (yet) in progress. */ +#define GIT_REBASE_NO_OPERATION SIZE_MAX + +/** + * A rebase operation + * + * Describes a single instruction/operation to be performed during the + * rebase. + */ +typedef struct { + /** The type of rebase operation. */ + git_rebase_operation_t type; + + /** + * The commit ID being cherry-picked. This will be populated for + * all operations except those of type `GIT_REBASE_OPERATION_EXEC`. + */ + const git_oid id; + + /** + * The executable the user has requested be run. This will only + * be populated for operations of type `GIT_REBASE_OPERATION_EXEC`. + */ + const char *exec; +} git_rebase_operation; + +/** + * Initialize git_rebase_options structure + * + * Initializes a `git_rebase_options` with default values. Equivalent to + * creating an instance with `GIT_REBASE_OPTIONS_INIT`. + * + * @param opts The `git_rebase_options` struct to initialize. + * @param version The struct version; pass `GIT_REBASE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_options_init( + git_rebase_options *opts, + unsigned int version); + +/** + * Initializes a rebase operation to rebase the changes in `branch` + * relative to `upstream` onto another branch. To begin the rebase + * process, call `git_rebase_next`. When you have finished with this + * object, call `git_rebase_free`. + * + * @param out Pointer to store the rebase object + * @param repo The repository to perform the rebase + * @param branch The terminal commit to rebase, or NULL to rebase the + * current branch + * @param upstream The commit to begin rebasing from, or NULL to rebase all + * reachable commits + * @param onto The branch to rebase onto, or NULL to rebase onto the given + * upstream + * @param opts Options to specify how rebase is performed, or NULL + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_init( + git_rebase **out, + git_repository *repo, + const git_annotated_commit *branch, + const git_annotated_commit *upstream, + const git_annotated_commit *onto, + const git_rebase_options *opts); + +/** + * Opens an existing rebase that was previously started by either an + * invocation of `git_rebase_init` or by another client. + * + * @param out Pointer to store the rebase object + * @param repo The repository that has a rebase in-progress + * @param opts Options to specify how rebase is performed + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_open( + git_rebase **out, + git_repository *repo, + const git_rebase_options *opts); + +/** + * Gets the original `HEAD` ref name for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The original `HEAD` ref name + */ +GIT_EXTERN(const char *) git_rebase_orig_head_name(git_rebase *rebase); + +/** + * Gets the original `HEAD` id for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The original `HEAD` id + */ +GIT_EXTERN(const git_oid *) git_rebase_orig_head_id(git_rebase *rebase); + +/** + * Gets the `onto` ref name for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The `onto` ref name + */ +GIT_EXTERN(const char *) git_rebase_onto_name(git_rebase *rebase); + +/** + * Gets the `onto` id for merge rebases. + * + * @param rebase The in-progress rebase. + * @return The `onto` id + */ +GIT_EXTERN(const git_oid *) git_rebase_onto_id(git_rebase *rebase); + +/** + * Gets the count of rebase operations that are to be applied. + * + * @param rebase The in-progress rebase + * @return The number of rebase operations in total + */ +GIT_EXTERN(size_t) git_rebase_operation_entrycount(git_rebase *rebase); + +/** + * Gets the index of the rebase operation that is currently being applied. + * If the first operation has not yet been applied (because you have + * called `init` but not yet `next`) then this returns + * `GIT_REBASE_NO_OPERATION`. + * + * @param rebase The in-progress rebase + * @return The index of the rebase operation currently being applied. + */ +GIT_EXTERN(size_t) git_rebase_operation_current(git_rebase *rebase); + +/** + * Gets the rebase operation specified by the given index. + * + * @param rebase The in-progress rebase + * @param idx The index of the rebase operation to retrieve + * @return The rebase operation or NULL if `idx` was out of bounds + */ +GIT_EXTERN(git_rebase_operation *) git_rebase_operation_byindex( + git_rebase *rebase, + size_t idx); + +/** + * Performs the next rebase operation and returns the information about it. + * If the operation is one that applies a patch (which is any operation except + * GIT_REBASE_OPERATION_EXEC) then the patch will be applied and the index and + * working directory will be updated with the changes. If there are conflicts, + * you will need to address those before committing the changes. + * + * @param operation Pointer to store the rebase operation that is to be performed next + * @param rebase The rebase in progress + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_rebase_next( + git_rebase_operation **operation, + git_rebase *rebase); + +/** + * Gets the index produced by the last operation, which is the result + * of `git_rebase_next` and which will be committed by the next + * invocation of `git_rebase_commit`. This is useful for resolving + * conflicts in an in-memory rebase before committing them. You must + * call `git_index_free` when you are finished with this. + * + * This is only applicable for in-memory rebases; for rebases within + * a working directory, the changes were applied to the repository's + * index. + * + * @param index The result index of the last operation. + * @param rebase The in-progress rebase. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_rebase_inmemory_index( + git_index **index, + git_rebase *rebase); + +/** + * Commits the current patch. You must have resolved any conflicts that + * were introduced during the patch application from the `git_rebase_next` + * invocation. + * + * @param id Pointer in which to store the OID of the newly created commit + * @param rebase The rebase that is in-progress + * @param author The author of the updated commit, or NULL to keep the + * author from the original commit + * @param committer The committer of the rebase + * @param message_encoding The encoding for the message in the commit, + * represented with a standard encoding name. If message is NULL, + * this should also be NULL, and the encoding from the original + * commit will be maintained. If message is specified, this may be + * NULL to indicate that "UTF-8" is to be used. + * @param message The message for this commit, or NULL to use the message + * from the original commit. + * @return Zero on success, GIT_EUNMERGED if there are unmerged changes in + * the index, GIT_EAPPLIED if the current commit has already + * been applied to the upstream and there is nothing to commit, + * -1 on failure. + */ +GIT_EXTERN(int) git_rebase_commit( + git_oid *id, + git_rebase *rebase, + const git_signature *author, + const git_signature *committer, + const char *message_encoding, + const char *message); + +/** + * Aborts a rebase that is currently in progress, resetting the repository + * and working directory to their state before rebase began. + * + * @param rebase The rebase that is in-progress + * @return Zero on success; GIT_ENOTFOUND if a rebase is not in progress, + * -1 on other errors. + */ +GIT_EXTERN(int) git_rebase_abort(git_rebase *rebase); + +/** + * Finishes a rebase that is currently in progress once all patches have + * been applied. + * + * @param rebase The rebase that is in-progress + * @param signature The identity that is finishing the rebase (optional) + * @return Zero on success; -1 on error + */ +GIT_EXTERN(int) git_rebase_finish( + git_rebase *rebase, + const git_signature *signature); + +/** + * Frees the `git_rebase` object. + * + * @param rebase The rebase object + */ +GIT_EXTERN(void) git_rebase_free(git_rebase *rebase); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refdb.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refdb.h new file mode 100644 index 00000000..536ef10d --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refdb.h @@ -0,0 +1,71 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refdb_h__ +#define INCLUDE_git_refdb_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "refs.h" + +/** + * @file git2/refdb.h + * @brief A database for references (branches and tags) + * @defgroup git_refdb A database for references (branches and tags) + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new reference database with no backends. + * + * Before the Ref DB can be used for read/writing, a custom database + * backend must be manually set using `git_refdb_set_backend()` + * + * @param out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_refdb_new(git_refdb **out, git_repository *repo); + +/** + * Create a new reference database and automatically add + * the default backends: + * + * - git_refdb_dir: read and write loose and packed refs + * from disk, assuming the repository dir as the folder + * + * @param out location to store the database pointer, if opened. + * Set to NULL if the open failed. + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_refdb_open(git_refdb **out, git_repository *repo); + +/** + * Suggests that the given refdb compress or optimize its references. + * This mechanism is implementation specific. For on-disk reference + * databases, for example, this may pack all loose references. + * + * @param refdb The reference database to optimize. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_refdb_compress(git_refdb *refdb); + +/** + * Close an open reference database. + * + * @param refdb reference database pointer or NULL + */ +GIT_EXTERN(void) git_refdb_free(git_refdb *refdb); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/reflog.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/reflog.h new file mode 100644 index 00000000..a0956c63 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/reflog.h @@ -0,0 +1,171 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_reflog_h__ +#define INCLUDE_git_reflog_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/reflog.h + * @brief Reference logs store how references change + * @defgroup git_reflog Reference logs store how references change + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Read the reflog for the given reference + * + * If there is no reflog file for the given + * reference yet, an empty reflog object will + * be returned. + * + * The reflog must be freed manually by using + * git_reflog_free(). + * + * @param out pointer to reflog + * @param repo the repository + * @param name reference to look up + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_read(git_reflog **out, git_repository *repo, const char *name); + +/** + * Write an existing in-memory reflog object back to disk + * using an atomic file lock. + * + * @param reflog an existing reflog object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_write(git_reflog *reflog); + +/** + * Add a new entry to the in-memory reflog. + * + * `msg` is optional and can be NULL. + * + * @param reflog an existing reflog object + * @param id the OID the reference is now pointing to + * @param committer the signature of the committer + * @param msg the reflog message + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_append(git_reflog *reflog, const git_oid *id, const git_signature *committer, const char *msg); + +/** + * Rename a reflog + * + * The reflog to be renamed is expected to already exist + * + * The new name will be checked for validity. + * See `git_reference_create_symbolic()` for rules about valid names. + * + * @param repo the repository + * @param old_name the old name of the reference + * @param name the new name of the reference + * @return 0 on success, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reflog_rename(git_repository *repo, const char *old_name, const char *name); + +/** + * Delete the reflog for the given reference + * + * @param repo the repository + * @param name the reflog to delete + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reflog_delete(git_repository *repo, const char *name); + +/** + * Get the number of log entries in a reflog + * + * @param reflog the previously loaded reflog + * @return the number of log entries + */ +GIT_EXTERN(size_t) git_reflog_entrycount(git_reflog *reflog); + +/** + * Lookup an entry by its index + * + * Requesting the reflog entry with an index of 0 (zero) will + * return the most recently created entry. + * + * @param reflog a previously loaded reflog + * @param idx the position of the entry to lookup. Should be greater than or + * equal to 0 (zero) and less than `git_reflog_entrycount()`. + * @return the entry; NULL if not found + */ +GIT_EXTERN(const git_reflog_entry *) git_reflog_entry_byindex(const git_reflog *reflog, size_t idx); + +/** + * Remove an entry from the reflog by its index + * + * To ensure there's no gap in the log history, set `rewrite_previous_entry` + * param value to 1. When deleting entry `n`, member old_oid of entry `n-1` + * (if any) will be updated with the value of member new_oid of entry `n+1`. + * + * @param reflog a previously loaded reflog. + * + * @param idx the position of the entry to remove. Should be greater than or + * equal to 0 (zero) and less than `git_reflog_entrycount()`. + * + * @param rewrite_previous_entry 1 to rewrite the history; 0 otherwise. + * + * @return 0 on success, GIT_ENOTFOUND if the entry doesn't exist + * or an error code. + */ +GIT_EXTERN(int) git_reflog_drop( + git_reflog *reflog, + size_t idx, + int rewrite_previous_entry); + +/** + * Get the old oid + * + * @param entry a reflog entry + * @return the old oid + */ +GIT_EXTERN(const git_oid *) git_reflog_entry_id_old(const git_reflog_entry *entry); + +/** + * Get the new oid + * + * @param entry a reflog entry + * @return the new oid at this time + */ +GIT_EXTERN(const git_oid *) git_reflog_entry_id_new(const git_reflog_entry *entry); + +/** + * Get the committer of this entry + * + * @param entry a reflog entry + * @return the committer + */ +GIT_EXTERN(const git_signature *) git_reflog_entry_committer(const git_reflog_entry *entry); + +/** + * Get the log message + * + * @param entry a reflog entry + * @return the log msg + */ +GIT_EXTERN(const char *) git_reflog_entry_message(const git_reflog_entry *entry); + +/** + * Free the reflog + * + * @param reflog reflog to free + */ +GIT_EXTERN(void) git_reflog_free(git_reflog *reflog); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refs.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refs.h new file mode 100644 index 00000000..d820f2a1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refs.h @@ -0,0 +1,774 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refs_h__ +#define INCLUDE_git_refs_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "strarray.h" + +/** + * @file git2/refs.h + * @brief References point to a commit; generally these are branches and tags + * @defgroup git_reference References point to a commit; generally these are branches and tags + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a reference by name in a repository. + * + * The returned reference must be freed by the user. + * + * The name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param[out] out pointer to the looked-up reference + * @param repo the repository to look up the reference + * @param name the long name for the reference (e.g. HEAD, refs/heads/master, refs/tags/v0.1.0, ...) + * @return 0 on success, GIT_ENOTFOUND, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_reference_lookup(git_reference **out, git_repository *repo, const char *name); + +/** + * Lookup a reference by name and resolve immediately to OID. + * + * This function provides a quick way to resolve a reference name straight + * through to the object id that it refers to. This avoids having to + * allocate or free any `git_reference` objects for simple situations. + * + * The name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param out Pointer to oid to be filled in + * @param repo The repository in which to look up the reference + * @param name The long name for the reference (e.g. HEAD, refs/heads/master, refs/tags/v0.1.0, ...) + * @return 0 on success, GIT_ENOTFOUND, GIT_EINVALIDSPEC or an error code. + */ +GIT_EXTERN(int) git_reference_name_to_id( + git_oid *out, git_repository *repo, const char *name); + +/** + * Lookup a reference by DWIMing its short name + * + * Apply the git precedence rules to the given shorthand to determine + * which reference the user is referring to. + * + * @param out pointer in which to store the reference + * @param repo the repository in which to look + * @param shorthand the short name for the reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_dwim(git_reference **out, git_repository *repo, const char *shorthand); + +/** + * Conditionally create a new symbolic reference. + * + * A symbolic reference is a reference name that refers to another + * reference name. If the other name moves, the symbolic name will move, + * too. As a simple example, the "HEAD" reference might refer to + * "refs/heads/master" while on the "master" branch of a repository. + * + * The symbolic reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * It will return GIT_EMODIFIED if the reference's value at the time + * of updating does not match the one passed through `current_value` + * (i.e. if the ref has changed since the user read it). + * + * If `current_value` is all zeros, this function will return GIT_EMODIFIED + * if the ref already exists. + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param target The target of the reference + * @param force Overwrite existing references + * @param current_value The expected value of the reference when updating + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC, GIT_EMODIFIED or an error code + */ +GIT_EXTERN(int) git_reference_symbolic_create_matching(git_reference **out, git_repository *repo, const char *name, const char *target, int force, const char *current_value, const char *log_message); + +/** + * Create a new symbolic reference. + * + * A symbolic reference is a reference name that refers to another + * reference name. If the other name moves, the symbolic name will move, + * too. As a simple example, the "HEAD" reference might refer to + * "refs/heads/master" while on the "master" branch of a repository. + * + * The symbolic reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param target The target of the reference + * @param force Overwrite existing references + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_symbolic_create(git_reference **out, git_repository *repo, const char *name, const char *target, int force, const char *log_message); + +/** + * Create a new direct reference. + * + * 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. + * + * The direct reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param id The object id pointed to by the reference. + * @param force Overwrite existing references + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_create(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const char *log_message); + +/** + * Conditionally create new direct reference + * + * 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. + * + * The direct reference will be created in the repository and written to + * the disk. The generated reference object must be freed by the user. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * 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. + * + * 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. + * + * It will return GIT_EMODIFIED if the reference's value at the time + * of updating does not match the one passed through `current_id` + * (i.e. if the ref has changed since the user read it). + * + * @param out Pointer to the newly created reference + * @param repo Repository where that reference will live + * @param name The name of the reference + * @param id The object id pointed to by the reference. + * @param force Overwrite existing references + * @param current_id The expected value of the reference at the time of update + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EMODIFIED if the value of the reference + * has changed, GIT_EEXISTS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_create_matching(git_reference **out, git_repository *repo, const char *name, const git_oid *id, int force, const git_oid *current_id, const char *log_message); + +/** + * Get the OID pointed to by a direct reference. + * + * Only available if the reference is direct (i.e. an object id reference, + * not a symbolic one). + * + * 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). + * + * @param ref The reference + * @return a pointer to the oid if available, NULL otherwise + */ +GIT_EXTERN(const git_oid *) git_reference_target(const git_reference *ref); + +/** + * Return the peeled OID target of this reference. + * + * This peeled OID only applies to direct references that point to + * a hard Tag object: it is the result of peeling such Tag. + * + * @param ref The reference + * @return a pointer to the oid if available, NULL otherwise + */ +GIT_EXTERN(const git_oid *) git_reference_target_peel(const git_reference *ref); + +/** + * Get full name to the reference pointed to by a symbolic reference. + * + * Only available if the reference is symbolic. + * + * @param ref The reference + * @return a pointer to the name if available, NULL otherwise + */ +GIT_EXTERN(const char *) git_reference_symbolic_target(const git_reference *ref); + +/** + * Get the type of a reference. + * + * Either direct (GIT_REFERENCE_DIRECT) or symbolic (GIT_REFERENCE_SYMBOLIC) + * + * @param ref The reference + * @return the type + */ +GIT_EXTERN(git_reference_t) git_reference_type(const git_reference *ref); + +/** + * Get the full name of a reference. + * + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param ref The reference + * @return the full name for the ref + */ +GIT_EXTERN(const char *) git_reference_name(const git_reference *ref); + +/** + * Resolve a symbolic reference to a direct reference. + * + * This method iteratively peels a symbolic reference until it resolves to + * a direct reference to an OID. + * + * The peeled reference is returned in the `resolved_ref` argument, and + * must be freed manually once it's no longer needed. + * + * If a direct reference is passed as an argument, a copy of that + * reference is returned. This copy must be manually freed too. + * + * @param out Pointer to the peeled reference + * @param ref The reference + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_resolve(git_reference **out, const git_reference *ref); + +/** + * Get the repository where a reference resides. + * + * @param ref The reference + * @return a pointer to the repo + */ +GIT_EXTERN(git_repository *) git_reference_owner(const git_reference *ref); + +/** + * Create a new reference with the same name as the given reference but a + * different symbolic target. The reference must be a symbolic reference, + * otherwise this will fail. + * + * The new reference will be written to disk, overwriting the given reference. + * + * The target name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * 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. + * + * @param out Pointer to the newly created reference + * @param ref The reference + * @param target The new target for the reference + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_reference_symbolic_set_target( + git_reference **out, + git_reference *ref, + const char *target, + const char *log_message); + +/** + * Conditionally create a new reference with the same name as the given reference but a + * different OID target. The reference must be a direct reference, otherwise + * this will fail. + * + * The new reference will be written to disk, overwriting the given reference. + * + * @param out Pointer to the newly created reference + * @param ref The reference + * @param id The new target OID for the reference + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EMODIFIED if the value of the reference + * has changed since it was read, or an error code + */ +GIT_EXTERN(int) git_reference_set_target( + git_reference **out, + git_reference *ref, + const git_oid *id, + const char *log_message); + +/** + * Rename an existing reference. + * + * This method works for both direct and symbolic references. + * + * The new name will be checked for validity. + * See `git_reference_symbolic_create()` for rules about valid names. + * + * If the `force` flag is not enabled, and there's already + * a reference with the given name, the renaming will fail. + * + * IMPORTANT: + * The user needs to write a proper reflog entry if the + * reflog is enabled for the repository. We only rename + * the reflog if it exists. + * + * @param[out] new_ref The new reference + * @param ref The reference to rename + * @param new_name The new name for the reference + * @param force Overwrite an existing reference + * @param log_message The one line long message to be appended to the reflog + * @return 0 on success, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + * + */ +GIT_EXTERN(int) git_reference_rename( + git_reference **new_ref, + git_reference *ref, + const char *new_name, + int force, + const char *log_message); + +/** + * Delete an existing reference. + * + * This method works for both direct and symbolic references. The reference + * will be immediately removed on disk but the memory will not be freed. + * Callers must call `git_reference_free`. + * + * This function will return an error if the reference has changed + * from the time it was looked up. + * + * @param ref The reference to remove + * @return 0, GIT_EMODIFIED or an error code + */ +GIT_EXTERN(int) git_reference_delete(git_reference *ref); + +/** + * Delete an existing reference by name + * + * This method removes the named reference from the repository without + * looking at its old value. + * + * @param repo The repository to remove the reference from + * @param name The reference to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_remove(git_repository *repo, const char *name); + +/** + * Fill a list with all the references that can be found in a repository. + * + * 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()`. + * + * @param array Pointer to a git_strarray structure where + * the reference names will be stored + * @param repo Repository where to find the refs + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_list(git_strarray *array, git_repository *repo); + +/** + * Callback used to iterate over references + * + * @see git_reference_foreach + * + * @param reference The reference object + * @param payload Payload passed to git_reference_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_reference_foreach_cb)(git_reference *reference, void *payload); + +/** + * Callback used to iterate over reference names + * + * @see git_reference_foreach_name + * + * @param name The reference name + * @param payload Payload passed to git_reference_foreach_name + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_reference_foreach_name_cb)(const char *name, void *payload); + +/** + * Perform a callback on each reference in the repository. + * + * The `callback` function will be called for each reference in the + * repository, receiving the reference object and the `payload` value + * passed to this method. Returning a non-zero value from the callback + * will terminate the iteration. + * + * Note that the callback function is responsible to call `git_reference_free` + * on each reference passed to it. + * + * @param repo Repository where to find the refs + * @param callback Function which will be called for every listed ref + * @param payload Additional data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_reference_foreach( + git_repository *repo, + git_reference_foreach_cb callback, + void *payload); + +/** + * Perform a callback on the fully-qualified name of each reference. + * + * The `callback` function will be called for each reference in the + * repository, receiving the name of the reference and the `payload` value + * passed to this method. Returning a non-zero value from the callback + * will terminate the iteration. + * + * @param repo Repository where to find the refs + * @param callback Function which will be called for every listed ref name + * @param payload Additional data to pass to the callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_reference_foreach_name( + git_repository *repo, + git_reference_foreach_name_cb callback, + void *payload); + +/** + * Create a copy of an existing reference. + * + * Call `git_reference_free` to free the data. + * + * @param dest pointer where to store the copy + * @param source object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_dup(git_reference **dest, git_reference *source); + +/** + * Free the given reference. + * + * @param ref git_reference + */ +GIT_EXTERN(void) git_reference_free(git_reference *ref); + +/** + * Compare two references. + * + * @param ref1 The first git_reference + * @param ref2 The second git_reference + * @return 0 if the same, else a stable but meaningless ordering. + */ +GIT_EXTERN(int) git_reference_cmp( + const git_reference *ref1, + const git_reference *ref2); + +/** + * Create an iterator for the repo's references + * + * @param[out] out pointer in which to store the iterator + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_iterator_new( + git_reference_iterator **out, + git_repository *repo); + +/** + * Create an iterator for the repo's references that match the + * specified glob + * + * @param out pointer in which to store the iterator + * @param repo the repository + * @param glob the glob to match against the reference names + * @return 0 or an error code + */ +GIT_EXTERN(int) git_reference_iterator_glob_new( + git_reference_iterator **out, + git_repository *repo, + const char *glob); + +/** + * Get the next reference + * + * @param[out] out pointer in which to store the reference + * @param iter the iterator + * @return 0, GIT_ITEROVER if there are no more; or an error code + */ +GIT_EXTERN(int) git_reference_next(git_reference **out, git_reference_iterator *iter); + +/** + * Get the next reference's name + * + * This function is provided for convenience in case only the names + * are interesting as it avoids the allocation of the `git_reference` + * object which `git_reference_next()` needs. + * + * @param out pointer in which to store the string + * @param iter the iterator + * @return 0, GIT_ITEROVER if there are no more; or an error code + */ +GIT_EXTERN(int) git_reference_next_name(const char **out, git_reference_iterator *iter); + +/** + * Free the iterator and its associated resources + * + * @param iter the iterator to free + */ +GIT_EXTERN(void) git_reference_iterator_free(git_reference_iterator *iter); + +/** + * Perform a callback on each reference in the repository whose name + * matches the given pattern. + * + * This function acts like `git_reference_foreach()` with an additional + * pattern match being applied to the reference name before issuing the + * callback function. See that function for more information. + * + * The pattern is matched using fnmatch or "glob" style where a '*' matches + * any sequence of letters, a '?' matches any letter, and square brackets + * can be used to define character ranges (such as "[0-9]" for digits). + * + * @param repo Repository where to find the refs + * @param glob Pattern to match (fnmatch-style) against reference name. + * @param callback Function which will be called for every listed ref + * @param payload Additional data to pass to the callback + * @return 0 on success, GIT_EUSER on non-zero callback, or error code + */ +GIT_EXTERN(int) git_reference_foreach_glob( + git_repository *repo, + const char *glob, + git_reference_foreach_name_cb callback, + void *payload); + +/** + * Check if a reflog exists for the specified reference. + * + * @param repo the repository + * @param refname the reference's name + * @return 0 when no reflog can be found, 1 when it exists; + * otherwise an error code. + */ +GIT_EXTERN(int) git_reference_has_log(git_repository *repo, const char *refname); + +/** + * Ensure there is a reflog for a particular reference. + * + * Make sure that successive updates to the reference will append to + * its log. + * + * @param repo the repository + * @param refname the reference's name + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_reference_ensure_log(git_repository *repo, const char *refname); + +/** + * Check if a reference is a local branch. + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/heads + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_branch(const git_reference *ref); + +/** + * Check if a reference is a remote tracking branch + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/remotes + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_remote(const git_reference *ref); + +/** + * Check if a reference is a tag + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/tags + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_tag(const git_reference *ref); + +/** + * Check if a reference is a note + * + * @param ref A git reference + * + * @return 1 when the reference lives in the refs/notes + * namespace; 0 otherwise. + */ +GIT_EXTERN(int) git_reference_is_note(const git_reference *ref); + +/** + * Normalization options for reference lookup + */ +typedef enum { + /** + * No particular normalization. + */ + GIT_REFERENCE_FORMAT_NORMAL = 0u, + + /** + * Control whether one-level refnames are accepted + * (i.e., refnames that do not contain multiple /-separated + * components). Those are expected to be written only using + * uppercase letters and underscore (FETCH_HEAD, ...) + */ + GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL = (1u << 0), + + /** + * Interpret the provided name as a reference pattern for a + * refspec (as used with remote repositories). If this option + * is enabled, the name is allowed to contain a single * () + * in place of a one full pathname component + * (e.g., foo//bar but not foo/bar). + */ + GIT_REFERENCE_FORMAT_REFSPEC_PATTERN = (1u << 1), + + /** + * Interpret the name as part of a refspec in shorthand form + * so the `ONELEVEL` naming rules aren't enforced and 'master' + * becomes a valid name. + */ + GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND = (1u << 2) +} git_reference_format_t; + +/** + * Normalize reference name and check validity. + * + * This will normalize the reference name by removing any leading slash + * '/' characters and collapsing runs of adjacent slashes between name + * components into a single slash. + * + * Once normalized, if the reference name is valid, it will be returned in + * the user allocated buffer. + * + * See `git_reference_symbolic_create()` for rules about valid names. + * + * @param buffer_out User allocated buffer to store normalized name + * @param buffer_size Size of buffer_out + * @param name Reference name to be checked. + * @param flags Flags to constrain name validation rules - see the + * GIT_REFERENCE_FORMAT constants above. + * @return 0 on success, GIT_EBUFS if buffer is too small, GIT_EINVALIDSPEC + * or an error code. + */ +GIT_EXTERN(int) git_reference_normalize_name( + char *buffer_out, + size_t buffer_size, + const char *name, + unsigned int flags); + +/** + * Recursively peel reference until object of the specified type is found. + * + * The retrieved `peeled` object is owned by the repository + * and should be closed with the `git_object_free` method. + * + * If you pass `GIT_OBJECT_ANY` as the target type, then the object + * will be peeled until a non-tag object is met. + * + * @param[out] out Pointer to the peeled git_object + * @param ref The reference to be processed + * @param type The type of the requested object (GIT_OBJECT_COMMIT, + * GIT_OBJECT_TAG, GIT_OBJECT_TREE, GIT_OBJECT_BLOB or GIT_OBJECT_ANY). + * @return 0 on success, GIT_EAMBIGUOUS, GIT_ENOTFOUND or an error code + */ +GIT_EXTERN(int) git_reference_peel( + git_object **out, + const git_reference *ref, + git_object_t type); + +/** + * Ensure the reference name is well-formed. + * + * Valid reference names must follow one of two patterns: + * + * 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. + * + * @param valid output pointer to set with validity of given reference name + * @param refname name to be checked. + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_reference_name_is_valid(int *valid, const char *refname); + +/** + * Get the reference's short name + * + * This will transform the reference name into a name "human-readable" + * version. If no shortname is appropriate, it will return the full + * name. + * + * The memory is owned by the reference and must not be freed. + * + * @param ref a reference + * @return the human-readable version of the name + */ +GIT_EXTERN(const char *) git_reference_shorthand(const git_reference *ref); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refspec.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refspec.h new file mode 100644 index 00000000..49d5f89f --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/refspec.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_refspec_h__ +#define INCLUDE_git_refspec_h__ + +#include "common.h" +#include "types.h" +#include "net.h" +#include "buffer.h" + +/** + * @file git2/refspec.h + * @brief Refspecs map local references to remote references + * @defgroup git_refspec Refspecs map local references to remote references + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Parse a given refspec string + * + * @param refspec a pointer to hold the refspec handle + * @param input the refspec string + * @param is_fetch is this a refspec for a fetch + * @return 0 if the refspec string could be parsed, -1 otherwise + */ +GIT_EXTERN(int) git_refspec_parse(git_refspec **refspec, const char *input, int is_fetch); + +/** + * Free a refspec object which has been created by git_refspec_parse + * + * @param refspec the refspec object + */ +GIT_EXTERN(void) git_refspec_free(git_refspec *refspec); + +/** + * Get the source specifier + * + * @param refspec the refspec + * @return the refspec's source specifier + */ +GIT_EXTERN(const char *) git_refspec_src(const git_refspec *refspec); + +/** + * Get the destination specifier + * + * @param refspec the refspec + * @return the refspec's destination specifier + */ +GIT_EXTERN(const char *) git_refspec_dst(const git_refspec *refspec); + +/** + * Get the refspec's string + * + * @param refspec the refspec + * @return the refspec's original string + */ +GIT_EXTERN(const char *) git_refspec_string(const git_refspec *refspec); + +/** + * Get the force update setting + * + * @param refspec the refspec + * @return 1 if force update has been set, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_force(const git_refspec *refspec); + +/** + * Get the refspec's direction. + * + * @param spec refspec + * @return GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH + */ +GIT_EXTERN(git_direction) git_refspec_direction(const git_refspec *spec); + +/** + * Check if a refspec's source descriptor matches a negative reference + * + * @param refspec the refspec + * @param refname the name of the reference to check + * @return 1 if the refspec matches, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_src_matches_negative(const git_refspec *refspec, const char *refname); + +/** + * Check if a refspec's source descriptor matches a reference + * + * @param refspec the refspec + * @param refname the name of the reference to check + * @return 1 if the refspec matches, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_src_matches(const git_refspec *refspec, const char *refname); + +/** + * Check if a refspec's destination descriptor matches a reference + * + * @param refspec the refspec + * @param refname the name of the reference to check + * @return 1 if the refspec matches, 0 otherwise + */ +GIT_EXTERN(int) git_refspec_dst_matches(const git_refspec *refspec, const char *refname); + +/** + * Transform a reference to its target following the refspec's rules + * + * @param out where to store the target name + * @param spec the refspec + * @param name the name of the reference to transform + * @return 0, GIT_EBUFS or another error + */ +GIT_EXTERN(int) git_refspec_transform(git_buf *out, const git_refspec *spec, const char *name); + +/** + * Transform a target reference to its source reference following the refspec's rules + * + * @param out where to store the source reference name + * @param spec the refspec + * @param name the name of the reference to transform + * @return 0, GIT_EBUFS or another error + */ +GIT_EXTERN(int) git_refspec_rtransform(git_buf *out, const git_refspec *spec, const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/remote.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/remote.h new file mode 100644 index 00000000..149e3d1c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/remote.h @@ -0,0 +1,1251 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_remote_h__ +#define INCLUDE_git_remote_h__ + +#include "common.h" +#include "repository.h" +#include "refspec.h" +#include "net.h" +#include "indexer.h" +#include "strarray.h" +#include "transport.h" +#include "pack.h" +#include "proxy.h" + +/** + * @file git2/remote.h + * @brief Remotes are where local repositories fetch from and push to + * @defgroup git_remote Remotes are where local repositories fetch from and push to + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Add a remote with the default fetch refspec to the repository's configuration. + * + * @param out the resulting remote + * @param repo the repository in which to create the remote + * @param name the remote's name + * @param url the remote's url + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_create( + git_remote **out, + git_repository *repo, + const char *name, + const char *url); + +/** + * Remote redirection settings; whether redirects to another host + * are permitted. By default, git will follow a redirect on the + * initial request (`/info/refs`), but not subsequent requests. + */ +typedef enum { + /** + * Do not follow any off-site redirects at any stage of + * the fetch or push. + */ + GIT_REMOTE_REDIRECT_NONE = (1 << 0), + + /** + * Allow off-site redirects only upon the initial request. + * This is the default. + */ + GIT_REMOTE_REDIRECT_INITIAL = (1 << 1), + + /** + * Allow redirects at any stage in the fetch or push. + */ + GIT_REMOTE_REDIRECT_ALL = (1 << 2) +} git_remote_redirect_t; + +/** + * Remote creation options flags + */ +typedef enum { + /** Ignore the repository apply.insteadOf configuration */ + GIT_REMOTE_CREATE_SKIP_INSTEADOF = (1 << 0), + + /** Don't build a fetchspec from the name if none is set */ + GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC = (1 << 1) +} git_remote_create_flags; + +/** + * How to handle reference updates. + */ +typedef enum { + /* Write the fetch results to FETCH_HEAD. */ + GIT_REMOTE_UPDATE_FETCHHEAD = (1 << 0), + + /* Report unchanged tips in the update_refs callback. */ + GIT_REMOTE_UPDATE_REPORT_UNCHANGED = (1 << 1) +} git_remote_update_flags; + +/** + * Remote creation options structure + * + * Initialize with `GIT_REMOTE_CREATE_OPTIONS_INIT`. Alternatively, you can + * use `git_remote_create_options_init`. + * + */ +typedef struct git_remote_create_options { + unsigned int version; + + /** + * The repository that should own the remote. + * Setting this to NULL results in a detached remote. + */ + git_repository *repository; + + /** + * The remote's name. + * Setting this to NULL results in an in-memory/anonymous remote. + */ + const char *name; + + /** The fetchspec the remote should use. */ + const char *fetchspec; + + /** Additional flags for the remote. See git_remote_create_flags. */ + unsigned int flags; +} git_remote_create_options; + +/** Current version for the `git_remote_create_options` structure */ +#define GIT_REMOTE_CREATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_remote_create_options` */ +#define GIT_REMOTE_CREATE_OPTIONS_INIT {GIT_REMOTE_CREATE_OPTIONS_VERSION} + +/** + * Initialize git_remote_create_options structure + * + * Initializes a `git_remote_create_options` with default values. Equivalent to + * creating an instance with `GIT_REMOTE_CREATE_OPTIONS_INIT`. + * + * @param opts The `git_remote_create_options` struct to initialize. + * @param version The struct version; pass `GIT_REMOTE_CREATE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_remote_create_options_init( + git_remote_create_options *opts, + unsigned int version); + +/** + * Create a remote, with options. + * + * This function allows more fine-grained control over the remote creation. + * + * Passing NULL as the opts argument will result in a detached remote. + * + * @param out the resulting remote + * @param url the remote's url + * @param opts the remote creation options + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_create_with_opts( + git_remote **out, + const char *url, + const git_remote_create_options *opts); + +/** + * Add a remote with the provided fetch refspec (or default if NULL) to the repository's + * configuration. + * + * @param out the resulting remote + * @param repo the repository in which to create the remote + * @param name the remote's name + * @param url the remote's url + * @param fetch the remote fetch value + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_create_with_fetchspec( + git_remote **out, + git_repository *repo, + const char *name, + const char *url, + const char *fetch); + +/** + * Create an anonymous remote + * + * Create a remote with the given url in-memory. You can use this when + * you have a URL instead of a remote's name. + * + * @param out pointer to the new remote objects + * @param repo the associated repository + * @param url the remote repository's URL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_create_anonymous( + git_remote **out, + git_repository *repo, + const char *url); + +/** + * Create a remote without a connected local repo + * + * Create a remote with the given url in-memory. You can use this when + * you have a URL instead of a remote's name. + * + * Contrasted with git_remote_create_anonymous, a detached remote + * will not consider any repo configuration values (such as insteadof url + * substitutions). + * + * @param out pointer to the new remote objects + * @param url the remote repository's URL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_create_detached( + git_remote **out, + const char *url); + +/** + * Get the information for a particular remote + * + * The name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param out pointer to the new remote object + * @param repo the associated repository + * @param name the remote's name + * @return 0, GIT_ENOTFOUND, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_remote_lookup(git_remote **out, git_repository *repo, const char *name); + +/** + * Create a copy of an existing remote. All internal strings are also + * duplicated. Callbacks are not duplicated. + * + * Call `git_remote_free` to free the data. + * + * @param dest pointer where to store the copy + * @param source object to copy + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_dup(git_remote **dest, git_remote *source); + +/** + * Get the remote's repository + * + * @param remote the remote + * @return a pointer to the repository + */ +GIT_EXTERN(git_repository *) git_remote_owner(const git_remote *remote); + +/** + * Get the remote's name + * + * @param remote the remote + * @return a pointer to the name or NULL for in-memory remotes + */ +GIT_EXTERN(const char *) git_remote_name(const git_remote *remote); + +/** + * Get the remote's url + * + * 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. + * + * @param remote the remote + * @return a pointer to the url + */ +GIT_EXTERN(const char *) git_remote_url(const git_remote *remote); + +/** + * Get the remote's url for pushing. + * + * 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. + * + * @param remote the remote + * @return a pointer to the url or NULL if no special url for pushing is set + */ +GIT_EXTERN(const char *) git_remote_pushurl(const git_remote *remote); + +/** + * Set the remote's url in the configuration + * + * 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. + * + * @param repo the repository in which to perform the change + * @param remote the remote's name + * @param url the url to set + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_url(git_repository *repo, const char *remote, const char *url); + +/** + * Set the remote's url for pushing in the configuration. + * + * 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. + * + * + * @param repo the repository in which to perform the change + * @param remote the remote's name + * @param url the url to set + * @return 0, or an error code + */ +GIT_EXTERN(int) git_remote_set_pushurl(git_repository *repo, const char *remote, const char *url); + +/** + * Set the url for this particular url instance. The URL in the + * configuration will be ignored, and will not be changed. + * + * @param remote the remote's name + * @param url the url to set + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_instance_url(git_remote *remote, const char *url); + +/** + * Set the push url for this particular url instance. The URL in the + * configuration will be ignored, and will not be changed. + * + * @param remote the remote's name + * @param url the url to set + * @return 0 or an error value + */ +GIT_EXTERN(int) git_remote_set_instance_pushurl(git_remote *remote, const char *url); + +/** + * Add a fetch refspec to the remote's configuration + * + * Add the given refspec to the fetch list in the configuration. No + * loaded remote instances will be affected. + * + * @param repo the repository in which to change the configuration + * @param remote the name of the remote to change + * @param refspec the new fetch refspec + * @return 0, GIT_EINVALIDSPEC if refspec is invalid or an error value + */ +GIT_EXTERN(int) git_remote_add_fetch(git_repository *repo, const char *remote, const char *refspec); + +/** + * Get the remote's list of fetch refspecs + * + * The memory is owned by the user and should be freed with + * `git_strarray_free`. + * + * @param array pointer to the array in which to store the strings + * @param remote the remote to query + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_remote_get_fetch_refspecs(git_strarray *array, const git_remote *remote); + +/** + * Add a push refspec to the remote's configuration + * + * Add the given refspec to the push list in the configuration. No + * loaded remote instances will be affected. + * + * @param repo the repository in which to change the configuration + * @param remote the name of the remote to change + * @param refspec the new push refspec + * @return 0, GIT_EINVALIDSPEC if refspec is invalid or an error value + */ +GIT_EXTERN(int) git_remote_add_push(git_repository *repo, const char *remote, const char *refspec); + +/** + * Get the remote's list of push refspecs + * + * The memory is owned by the user and should be freed with + * `git_strarray_free`. + * + * @param array pointer to the array in which to store the strings + * @param remote the remote to query + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_remote_get_push_refspecs(git_strarray *array, const git_remote *remote); + +/** + * Get the number of refspecs for a remote + * + * @param remote the remote + * @return the amount of refspecs configured in this remote + */ +GIT_EXTERN(size_t) git_remote_refspec_count(const git_remote *remote); + +/** + * Get a refspec from the remote + * + * @param remote the remote to query + * @param n the refspec to get + * @return the nth refspec + */ +GIT_EXTERN(const git_refspec *)git_remote_get_refspec(const git_remote *remote, size_t n); + +/** + * Get the remote repository's reference advertisement list + * + * Get the list of references with which the server responds to a new + * connection. + * + * 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. + * + * 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. + * + * @param out pointer to the array + * @param size the number of remote heads + * @param remote the remote + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_remote_ls(const git_remote_head ***out, size_t *size, git_remote *remote); + +/** + * Check whether the remote is connected + * + * Check whether the remote's underlying transport is connected to the + * remote host. + * + * @param remote the remote + * @return 1 if it's connected, 0 otherwise. + */ +GIT_EXTERN(int) git_remote_connected(const git_remote *remote); + +/** + * Cancel the operation + * + * At certain points in its operation, the network code checks whether + * the operation has been cancelled and if so stops the operation. + * + * @param remote the remote + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_remote_stop(git_remote *remote); + +/** + * Disconnect from the remote + * + * Close the connection to the remote. + * + * @param remote the remote to disconnect from + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_remote_disconnect(git_remote *remote); + +/** + * Free the memory associated with a remote + * + * This also disconnects from the remote, if the connection + * has not been closed yet (using git_remote_disconnect). + * + * @param remote the remote to free + */ +GIT_EXTERN(void) git_remote_free(git_remote *remote); + +/** + * Get a list of the configured remotes for a repo + * + * The string array must be freed by the user. + * + * @param out a string array which receives the names of the remotes + * @param repo the repository to query + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_list(git_strarray *out, git_repository *repo); + +/** + * Argument to the completion callback which tells it which operation + * finished. + */ +typedef enum git_remote_completion_t { + GIT_REMOTE_COMPLETION_DOWNLOAD, + GIT_REMOTE_COMPLETION_INDEXING, + GIT_REMOTE_COMPLETION_ERROR +} git_remote_completion_t; + +/** + * Push network progress notification callback. + * + * @param current The number of objects pushed so far + * @param total The total number of objects to push + * @param bytes The number of bytes pushed + * @param payload The user-specified payload callback + * @return 0 or an error code to stop the transfer + */ +typedef int GIT_CALLBACK(git_push_transfer_progress_cb)( + unsigned int current, + unsigned int total, + size_t bytes, + void *payload); + +/** + * Represents an update which will be performed on the remote during push + */ +typedef struct { + /** + * The source name of the reference + */ + char *src_refname; + /** + * The name of the reference to update on the server + */ + char *dst_refname; + /** + * The current target of the reference + */ + git_oid src; + /** + * The new target for the reference + */ + git_oid dst; +} git_push_update; + +/** + * Callback used to inform of upcoming updates. + * + * @param updates an array containing the updates which will be sent + * as commands to the destination. + * @param the remote being pushed /// PATCH + * @param len number of elements in `updates` + * @param payload Payload provided by the caller + * @return 0 or an error code to stop the push + */ +typedef int GIT_CALLBACK(git_push_negotiation)( + git_remote *remote, + const git_push_update **updates, + size_t len, + void *payload); + +/** + * Callback used to inform of the update status from the remote. + * + * Called for each updated reference on push. If `status` is + * not `NULL`, the update was rejected by the remote server + * and `status` contains the reason given. + * + * @param refname refname specifying to the remote ref + * @param status status message sent from the remote + * @param data data provided by the caller + * @return 0 on success, otherwise an error + */ +typedef int GIT_CALLBACK(git_push_update_reference_cb)(const char *refname, const char *status, void *data); + +#ifndef GIT_DEPRECATE_HARD +/** + * Callback to resolve URLs before connecting to remote + * + * If you return GIT_PASSTHROUGH, you don't need to write anything to + * url_resolved. + * + * @param url_resolved The buffer to write the resolved URL to + * @param url The URL to resolve + * @param direction GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH + * @param payload Payload provided by the caller + * @return 0 on success, GIT_PASSTHROUGH or an error + * @deprecated Use `git_remote_set_instance_url` + */ +typedef int GIT_CALLBACK(git_url_resolve_cb)(git_buf *url_resolved, const char *url, int direction, void *payload); +#endif + +/** + * Callback invoked immediately before we attempt to connect to the + * given url. Callers may change the URL before the connection by + * calling `git_remote_set_instance_url` in the callback. + * + * @param remote The remote to be connected + * @param direction GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH + * @param payload Payload provided by the caller + * @return 0 on success, or an error + */ +typedef int GIT_CALLBACK(git_remote_ready_cb)(git_remote *remote, int direction, void *payload); + +/** + * The callback settings structure + * + * Set the callbacks to be called by the remote when informing the user + * about the progress of the network operations. + */ +struct git_remote_callbacks { + unsigned int version; /**< The version */ + + /** + * Textual progress from the remote. Text send over the + * progress side-band will be passed to this function (this is + * the 'counting objects' output). + */ + git_transport_message_cb sideband_progress; + + /** + * Completion is called when different parts of the download + * process are done (currently unused). + */ + int GIT_CALLBACK(completion)(git_remote_completion_t type, + void *data); + + /** + * This will be called if the remote host requires + * authentication in order to connect to it. + * + * Returning GIT_PASSTHROUGH will make libgit2 behave as + * though this field isn't set. + */ + git_credential_acquire_cb credentials; + + /** + * If cert verification fails, this will be called to let the + * user make the final decision of whether to allow the + * connection to proceed. Returns 0 to allow the connection + * or a negative value to indicate an error. + */ + git_transport_certificate_check_cb certificate_check; + + /** + * During the download of new data, this will be regularly + * called with the current count of progress done by the + * indexer. + */ + git_indexer_progress_cb transfer_progress; + +#ifdef GIT_DEPRECATE_HARD + void *reserved_update_tips; +#else + /** + * Deprecated callback for reference updates, callers should + * set `update_refs` instead. This is retained for backward + * compatibility; if you specify both `update_refs` and + * `update_tips`, then only the `update_refs` function will + * be called. + * + * @deprecated the `update_refs` callback in this structure + * should be preferred + */ + int GIT_CALLBACK(update_tips)(const char *refname, + const git_oid *a, const git_oid *b, void *data); +#endif + + /** + * Function to call with progress information during pack + * building. Be aware that this is called inline with pack + * building operations, so performance may be affected. + */ + git_packbuilder_progress pack_progress; + + /** + * Function to call with progress information during the + * upload portion of a push. Be aware that this is called + * inline with pack building operations, so performance may be + * affected. + */ + git_push_transfer_progress_cb push_transfer_progress; + + /** + * See documentation of git_push_update_reference_cb + */ + git_push_update_reference_cb push_update_reference; + + /** + * Called once between the negotiation step and the upload. It + * provides information about what updates will be performed. + */ + git_push_negotiation push_negotiation; + + /** + * Create the transport to use for this operation. Leave NULL + * to auto-detect. + */ + git_transport_cb transport; + + /** + * Callback when the remote is ready to connect. + */ + git_remote_ready_cb remote_ready; + + /** + * This will be passed to each of the callbacks in this struct + * as the last parameter. + */ + void *payload; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + /** + * Resolve URL before connecting to remote. + * The returned URL will be used to connect to the remote instead. + * + * This callback is deprecated; users should use + * git_remote_ready_cb and configure the instance URL instead. + */ + git_url_resolve_cb resolve_url; +#endif + + /** + * Each time a reference is updated locally, this function + * will be called with information about it. This should be + * preferred over the `update_tips` callback in this + * structure. + */ + int GIT_CALLBACK(update_refs)( + const char *refname, + const git_oid *a, + const git_oid *b, + git_refspec *spec, + void *data); +}; + +/** Current version for the `git_remote_callbacks_options` structure */ +#define GIT_REMOTE_CALLBACKS_VERSION 1 + +/** Static constructor for `git_remote_callbacks_options` */ +#define GIT_REMOTE_CALLBACKS_INIT {GIT_REMOTE_CALLBACKS_VERSION} + +/** + * Initializes a `git_remote_callbacks` with default values. Equivalent to + * creating an instance with GIT_REMOTE_CALLBACKS_INIT. + * + * @param opts the `git_remote_callbacks` struct to initialize + * @param version Version of struct; pass `GIT_REMOTE_CALLBACKS_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_remote_init_callbacks( + git_remote_callbacks *opts, + unsigned int version); + +/** Acceptable prune settings when fetching */ +typedef enum { + /** + * Use the setting from the configuration + */ + GIT_FETCH_PRUNE_UNSPECIFIED, + /** + * Force pruning on + */ + GIT_FETCH_PRUNE, + /** + * Force pruning off + */ + GIT_FETCH_NO_PRUNE +} git_fetch_prune_t; + +/** + * Automatic tag following option + * + * Lets us select the --tags option to use. + */ +typedef enum { + /** + * Use the setting from the configuration. + */ + GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED = 0, + /** + * Ask the server for tags pointing to objects we're already + * downloading. + */ + GIT_REMOTE_DOWNLOAD_TAGS_AUTO, + /** + * Don't ask for any tags beyond the refspecs. + */ + GIT_REMOTE_DOWNLOAD_TAGS_NONE, + /** + * Ask for the all the tags. + */ + GIT_REMOTE_DOWNLOAD_TAGS_ALL +} git_remote_autotag_option_t; + +/** Constants for fetch depth (shallowness of fetch). */ +typedef enum { + /** The fetch is "full" (not shallow). This is the default. */ + GIT_FETCH_DEPTH_FULL = 0, + + /** The fetch should "unshallow" and fetch missing data. */ + GIT_FETCH_DEPTH_UNSHALLOW = 2147483647 +} git_fetch_depth_t; + +/** + * Fetch options structure. + * + * Zero out for defaults. Initialize with `GIT_FETCH_OPTIONS_INIT` macro to + * correctly set the `version` field. E.g. + * + * git_fetch_options opts = GIT_FETCH_OPTIONS_INIT; + */ +typedef struct { + int version; + + /** + * Callbacks to use for this fetch operation + */ + git_remote_callbacks callbacks; + + /** + * Whether to perform a prune after the fetch + */ + git_fetch_prune_t prune; + + /** + * How to handle reference updates; see `git_remote_update_flags`. + */ + unsigned int update_fetchhead; + + /** + * Determines how to behave regarding tags on the remote, such + * as auto-downloading tags for objects we're downloading or + * downloading all of them. + * + * The default is to auto-follow tags. + */ + git_remote_autotag_option_t download_tags; + + /** + * Proxy options to use, by default no proxy is used. + */ + git_proxy_options proxy_opts; + + /** + * Depth of the fetch to perform, or `GIT_FETCH_DEPTH_FULL` + * (or `0`) for full history, or `GIT_FETCH_DEPTH_UNSHALLOW` + * to "unshallow" a shallow repository. + * + * The default is full (`GIT_FETCH_DEPTH_FULL` or `0`). + */ + int depth; + + /** + * Whether to allow off-site redirects. If this is not + * specified, the `http.followRedirects` configuration setting + * will be consulted. + */ + git_remote_redirect_t follow_redirects; + + /** + * Extra headers for this fetch operation + */ + git_strarray custom_headers; +} git_fetch_options; + +/** Current version for the `git_fetch_options` structure */ +#define GIT_FETCH_OPTIONS_VERSION 1 + +/** Static constructor for `git_fetch_options` */ +#define GIT_FETCH_OPTIONS_INIT { \ + GIT_FETCH_OPTIONS_VERSION, \ + GIT_REMOTE_CALLBACKS_INIT, \ + GIT_FETCH_PRUNE_UNSPECIFIED, \ + GIT_REMOTE_UPDATE_FETCHHEAD, \ + GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED, \ + GIT_PROXY_OPTIONS_INIT } + +/** + * Initialize git_fetch_options structure + * + * Initializes a `git_fetch_options` with default values. Equivalent to + * creating an instance with `GIT_FETCH_OPTIONS_INIT`. + * + * @param opts The `git_fetch_options` struct to initialize. + * @param version The struct version; pass `GIT_FETCH_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_fetch_options_init( + git_fetch_options *opts, + unsigned int version); + + +/** + * Controls the behavior of a git_push object. + */ +typedef struct { + unsigned int version; + + /** + * If the transport being used to push to the remote requires the creation + * of a pack file, this controls the number of worker threads used by + * the packbuilder when creating that pack file to be sent to the remote. + * + * If set to 0, the packbuilder will auto-detect the number of threads + * to create. The default value is 1. + */ + unsigned int pb_parallelism; + + /** + * Callbacks to use for this push operation + */ + git_remote_callbacks callbacks; + + /** + * Proxy options to use, by default no proxy is used. + */ + git_proxy_options proxy_opts; + + /** + * Whether to allow off-site redirects. If this is not + * specified, the `http.followRedirects` configuration setting + * will be consulted. + */ + git_remote_redirect_t follow_redirects; + + /** + * Extra headers for this push operation + */ + git_strarray custom_headers; + + /** + * "Push options" to deliver to the remote. + */ + git_strarray remote_push_options; +} git_push_options; + +/** Current version for the `git_push_options` structure */ +#define GIT_PUSH_OPTIONS_VERSION 1 + +/** Static constructor for `git_push_options` */ +#define GIT_PUSH_OPTIONS_INIT { GIT_PUSH_OPTIONS_VERSION, 1, GIT_REMOTE_CALLBACKS_INIT, GIT_PROXY_OPTIONS_INIT } + +/** + * Initialize git_push_options structure + * + * Initializes a `git_push_options` with default values. Equivalent to + * creating an instance with `GIT_PUSH_OPTIONS_INIT`. + * + * @param opts The `git_push_options` struct to initialize. + * @param version The struct version; pass `GIT_PUSH_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_push_options_init( + git_push_options *opts, + unsigned int version); + +/** + * Remote creation options structure + * + * Initialize with `GIT_REMOTE_CREATE_OPTIONS_INIT`. Alternatively, you can + * use `git_remote_create_options_init`. + * + */ +typedef struct { + unsigned int version; + + /** Callbacks to use for this connection */ + git_remote_callbacks callbacks; + + /** HTTP Proxy settings */ + git_proxy_options proxy_opts; + + /** + * Whether to allow off-site redirects. If this is not + * specified, the `http.followRedirects` configuration setting + * will be consulted. + */ + git_remote_redirect_t follow_redirects; + + /** Extra HTTP headers to use in this connection */ + git_strarray custom_headers; +} git_remote_connect_options; + +/** Current version for the `git_remote_connect_options` structure */ +#define GIT_REMOTE_CONNECT_OPTIONS_VERSION 1 + +/** Static constructor for `git_remote_connect_options` */ +#define GIT_REMOTE_CONNECT_OPTIONS_INIT { \ + GIT_REMOTE_CONNECT_OPTIONS_VERSION, \ + GIT_REMOTE_CALLBACKS_INIT, \ + GIT_PROXY_OPTIONS_INIT } + +/** + * Initialize git_remote_connect_options structure. + * + * Initializes a `git_remote_connect_options` with default values. + * Equivalent to creating an instance with + * `GIT_REMOTE_CONNECT_OPTIONS_INIT`. + * + * @param opts The `git_remote_connect_options` struct to initialize. + * @param version The struct version; pass `GIT_REMOTE_CONNECT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_remote_connect_options_init( + git_remote_connect_options *opts, + unsigned int version); + +/** + * Open a connection to a remote. + * + * 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. + * + * @param remote the remote to connect to + * @param direction GIT_DIRECTION_FETCH if you want to fetch or + * GIT_DIRECTION_PUSH if you want to push + * @param callbacks the callbacks to use for this connection + * @param proxy_opts proxy settings + * @param custom_headers extra HTTP headers to use in this connection + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_connect( + git_remote *remote, + git_direction direction, + const git_remote_callbacks *callbacks, + const git_proxy_options *proxy_opts, + const git_strarray *custom_headers); + +/** + * Open a connection to a remote with extended options. + * + * 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. + * + * The given options structure will form the defaults for connection + * options and callback setup. Callers may override these defaults + * by specifying `git_fetch_options` or `git_push_options` in + * subsequent calls. + * + * @param remote the remote to connect to + * @param direction GIT_DIRECTION_FETCH if you want to fetch or + * GIT_DIRECTION_PUSH if you want to push + * @param opts the remote connection options + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_connect_ext( + git_remote *remote, + git_direction direction, + const git_remote_connect_options *opts); + +/** + * Download and index the packfile. + * + * Connect to the remote if it hasn't been done yet, negotiate with + * the remote git which objects are missing, download and index the + * packfile. + * + * The .idx file will be created and both it and the packfile with be + * renamed to their final name. + * + * 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. + * + * @param remote the remote + * @param refspecs the refspecs to use for this negotiation and + * download. Use NULL or an empty array to use the base refspecs + * @param opts the options to use for this fetch or NULL + * @return 0 or an error code + */ + GIT_EXTERN(int) git_remote_download( + git_remote *remote, + const git_strarray *refspecs, + const git_fetch_options *opts); + +/** + * Create a packfile and send it to the server + * + * Connect to the remote if it hasn't been done yet, negotiate with + * the remote git which objects are missing, create a packfile with + * the missing objects and send it. + * + * 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. + * + * @param remote the remote + * @param refspecs the refspecs to use for this negotiation and + * upload. Use NULL or an empty array to use the base refspecs + * @param opts the options to use for this push + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_upload( + git_remote *remote, + const git_strarray *refspecs, + const git_push_options *opts); + +/** + * Update the tips to the new state. + * + * If callbacks are not specified then the callbacks specified to + * `git_remote_connect` will be used (if it was called). + * + * @param remote the remote to update + * @param callbacks pointer to the callback structure to use or NULL + * @param update_flags the git_remote_update_flags for these tips. + * @param download_tags what the behaviour for downloading tags is for this fetch. This is + * ignored for push. This must be the same value passed to `git_remote_download()`. + * @param reflog_message The message to insert into the reflogs. If + * NULL and fetching, the default is "fetch ", where is + * the name of the remote (or its url, for in-memory remotes). This + * parameter is ignored when pushing. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_update_tips( + git_remote *remote, + const git_remote_callbacks *callbacks, + unsigned int update_flags, + git_remote_autotag_option_t download_tags, + const char *reflog_message); + +/** + * Download new data and update tips. + * + * Convenience function to connect to a remote, download the data, + * disconnect and update the remote-tracking branches. + * + * 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. + * + * @param remote the remote to fetch from + * @param refspecs the refspecs to use for this fetch. Pass NULL or an + * empty array to use the base refspecs. + * @param opts options to use for this fetch or NULL + * @param reflog_message The message to insert into the reflogs. If NULL, the + * default is "fetch" + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_fetch( + git_remote *remote, + const git_strarray *refspecs, + const git_fetch_options *opts, + const char *reflog_message); + +/** + * Prune tracking refs that are no longer present on remote. + * + * If callbacks are not specified then the callbacks specified to + * `git_remote_connect` will be used (if it was called). + * + * @param remote the remote to prune + * @param callbacks callbacks to use for this prune + * @return 0 or an error code + */ +GIT_EXTERN(int) git_remote_prune( + git_remote *remote, + const git_remote_callbacks *callbacks); + +/** + * Perform a push. + * + * 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. + * + * @param remote the remote to push to + * @param refspecs the refspecs to use for pushing. If NULL or an empty + * array, the configured refspecs will be used + * @param opts options to use for this push + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_remote_push( + git_remote *remote, + const git_strarray *refspecs, + const git_push_options *opts); + +/** + * Get the statistics structure that is filled in by the fetch operation. + * + * @param remote the remote to get statistics for + * @return the git_indexer_progress for the remote + */ +GIT_EXTERN(const git_indexer_progress *) git_remote_stats(git_remote *remote); + +/** + * Retrieve the tag auto-follow setting + * + * @param remote the remote to query + * @return the auto-follow setting + */ +GIT_EXTERN(git_remote_autotag_option_t) git_remote_autotag(const git_remote *remote); + +/** + * Set the remote's tag following setting. + * + * The change will be made in the configuration. No loaded remotes + * will be affected. + * + * @param repo the repository in which to make the change + * @param remote the name of the remote + * @param value the new value to take. + * @return 0, or an error code. + */ +GIT_EXTERN(int) git_remote_set_autotag(git_repository *repo, const char *remote, git_remote_autotag_option_t value); + +/** + * Retrieve the ref-prune setting + * + * @param remote the remote to query + * @return the ref-prune setting + */ +GIT_EXTERN(int) git_remote_prune_refs(const git_remote *remote); + +/** + * Give the remote a new name + * + * All remote-tracking branches and configuration settings + * for the remote are updated. + * + * The new name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * No loaded instances of a the remote with the old name will change + * their name or their list of refspecs. + * + * @param problems non-default refspecs cannot be renamed and will be + * stored here for further processing by the caller. Always free this + * strarray on successful return. + * @param repo the repository in which to rename + * @param name the current name of the remote + * @param new_name the new name the remote should bear + * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code + */ +GIT_EXTERN(int) git_remote_rename( + git_strarray *problems, + git_repository *repo, + const char *name, + const char *new_name); + +/** + * Ensure the remote name is well-formed. + * + * @param valid output pointer to set with validity of given remote name + * @param remote_name name to be checked. + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_remote_name_is_valid(int *valid, const char *remote_name); + +/** +* Delete an existing persisted remote. +* +* All remote-tracking branches and configuration settings +* for the remote will be removed. +* +* @param repo the repository in which to act +* @param name the name of the remote to delete +* @return 0 on success, or an error code. +*/ +GIT_EXTERN(int) git_remote_delete(git_repository *repo, const char *name); + +/** + * Retrieve the name of the remote's default branch + * + * The default branch of a repository is the branch which HEAD points + * to. If the remote does not support reporting this information + * directly, it performs the guess as git does; that is, if there are + * multiple branches which point to the same commit, the first one is + * chosen. If the master branch is a candidate, it wins. + * + * This function must only be called after connecting. + * + * @param out the buffer in which to store the reference name + * @param remote the remote + * @return 0, GIT_ENOTFOUND if the remote does not have any references + * or none of them point to HEAD's commit, or an error message. + */ +GIT_EXTERN(int) git_remote_default_branch(git_buf *out, git_remote *remote); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/repository.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/repository.h new file mode 100644 index 00000000..b203576a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/repository.h @@ -0,0 +1,1019 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_repository_h__ +#define INCLUDE_git_repository_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "odb.h" +#include "buffer.h" +#include "commit.h" + +/** + * @file git2/repository.h + * @brief The repository stores revisions for a source tree + * @defgroup git_repository The repository stores revisions for a source tree + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Open a git repository. + * + * The 'path' argument must point to either a git repository + * folder, or an existing work dir. + * + * The method will automatically detect if 'path' is a normal + * or bare repository or fail is 'path' is neither. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out pointer to the repo which will be opened + * @param path the path to the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_open(git_repository **out, const char *path); +/** + * Open working tree as a repository + * + * Open the working directory of the working tree as a normal + * repository that can then be worked on. + * + * @param out Output pointer containing opened repository + * @param wt Working tree to open + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_open_from_worktree(git_repository **out, git_worktree *wt); + +/** + * Create a "fake" repository to wrap an object database + * + * 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. + * + * @param out pointer to the repo + * @param odb the object database to wrap + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_wrap_odb( + git_repository **out, + git_odb *odb); + +/** + * Look for a git repository and copy its path in the given buffer. + * The lookup start from base_path and walk across parent directories + * if nothing has been found. The lookup ends when the first repository + * is found, or when reaching a directory referenced in ceiling_dirs + * or when the filesystem changes (in case across_fs is true). + * + * The method will automatically detect if the repository is bare + * (if there is a repository). + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param out A pointer to a user-allocated git_buf which will contain + * the found path. + * + * @param start_path The base path where the lookup starts. + * + * @param across_fs If true, then the lookup will not stop when a + * filesystem device change is detected while exploring parent directories. + * + * @param ceiling_dirs A GIT_PATH_LIST_SEPARATOR separated list of + * absolute symbolic link free paths. The lookup will stop when any + * of this paths is reached. Note that the lookup always performs on + * start_path no matter start_path appears in ceiling_dirs ceiling_dirs + * might be NULL (which is equivalent to an empty string) + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_discover( + git_buf *out, + const char *start_path, + int across_fs, + const char *ceiling_dirs); + +/** + * Option flags for `git_repository_open_ext`. + */ +typedef enum { + /** + * Only open the repository if it can be immediately found in the + * start_path. Do not walk up from the start_path looking at parent + * directories. + */ + GIT_REPOSITORY_OPEN_NO_SEARCH = (1 << 0), + + /** + * Unless this flag is set, open will not continue searching across + * filesystem boundaries (i.e. when `st_dev` changes from the `stat` + * system call). For example, searching in a user's home directory at + * "/home/user/source/" will not return "/.git/" as the found repo if + * "/" is a different filesystem than "/home". + */ + GIT_REPOSITORY_OPEN_CROSS_FS = (1 << 1), + + /** + * Open repository as a bare repo regardless of core.bare config, and + * defer loading config file for faster setup. + * Unlike `git_repository_open_bare`, this can follow gitlinks. + */ + GIT_REPOSITORY_OPEN_BARE = (1 << 2), + + /** + * Do not check for a repository by appending /.git to the start_path; + * only open the repository if start_path itself points to the git + * directory. + */ + GIT_REPOSITORY_OPEN_NO_DOTGIT = (1 << 3), + + /** + * Find and open a git repository, respecting the environment variables + * used by the git command-line tools. + * If set, `git_repository_open_ext` will ignore the other flags and + * the `ceiling_dirs` argument, and will allow a NULL `path` to use + * `GIT_DIR` or search from the current directory. + * The search for a repository will respect $GIT_CEILING_DIRECTORIES and + * $GIT_DISCOVERY_ACROSS_FILESYSTEM. The opened repository will + * respect $GIT_INDEX_FILE, $GIT_NAMESPACE, $GIT_OBJECT_DIRECTORY, and + * $GIT_ALTERNATE_OBJECT_DIRECTORIES. + * In the future, this flag will also cause `git_repository_open_ext` + * to respect $GIT_WORK_TREE and $GIT_COMMON_DIR; currently, + * `git_repository_open_ext` with this flag will error out if either + * $GIT_WORK_TREE or $GIT_COMMON_DIR is set. + */ + GIT_REPOSITORY_OPEN_FROM_ENV = (1 << 4) +} git_repository_open_flag_t; + +/** + * Find and open a repository with extended controls. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out Pointer to the repo which will be opened. This can + * actually be NULL if you only want to use the error code to + * see if a repo at this path could be opened. + * @param path Path to open as git repository. If the flags + * permit "searching", then this can be a path to a subdirectory + * inside the working directory of the repository. May be NULL if + * flags is GIT_REPOSITORY_OPEN_FROM_ENV. + * @param flags A combination of the GIT_REPOSITORY_OPEN flags above. + * @param ceiling_dirs A GIT_PATH_LIST_SEPARATOR delimited list of path + * prefixes at which the search for a containing repository should + * terminate. + * @return 0 on success, GIT_ENOTFOUND if no repository could be found, + * or -1 if there was a repository but open failed for some reason + * (such as repo corruption or system errors). + */ +GIT_EXTERN(int) git_repository_open_ext( + git_repository **out, + const char *path, + unsigned int flags, + const char *ceiling_dirs); + +/** + * Open a bare repository on the serverside. + * + * 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 + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out Pointer to the repo which will be opened. + * @param bare_path Direct path to the bare repository + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_open_bare(git_repository **out, const char *bare_path); + +/** + * Free a previously allocated repository + * + * 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 + * + * @param repo repository handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_repository_free(git_repository *repo); + +/** + * Creates a new Git repository in the given folder. + * + * TODO: + * - Reinit the repository + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param[out] out pointer to the repo which will be created or reinitialized + * @param path the path to the repository + * @param is_bare if true, a Git repository without a working directory is + * created at the pointed path. If false, provided path will be + * considered as the working directory into which the .git directory + * will be created. + * + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_init( + git_repository **out, + const char *path, + unsigned is_bare); + +/** + * Option flags for `git_repository_init_ext`. + * + * These flags configure extra behaviors to `git_repository_init_ext`. + * In every case, the default behavior is the zero value (i.e. flag is + * not set). Just OR the flag values together for the `flags` parameter + * when initializing a new repo. + */ +typedef enum { + /** + * Create a bare repository with no working directory. + */ + GIT_REPOSITORY_INIT_BARE = (1u << 0), + + /** + * Return an GIT_EEXISTS error if the repo_path appears to already be + * an git repository. + */ + GIT_REPOSITORY_INIT_NO_REINIT = (1u << 1), + + /** + * Normally a "/.git/" will be appended to the repo path for + * non-bare repos (if it is not already there), but passing this flag + * prevents that behavior. + */ + GIT_REPOSITORY_INIT_NO_DOTGIT_DIR = (1u << 2), + + /** + * Make the repo_path (and workdir_path) as needed. Init is always willing + * to create the ".git" directory even without this flag. This flag tells + * init to create the trailing component of the repo and workdir paths + * as needed. + */ + GIT_REPOSITORY_INIT_MKDIR = (1u << 3), + + /** + * Recursively make all components of the repo and workdir paths as + * necessary. + */ + GIT_REPOSITORY_INIT_MKPATH = (1u << 4), + + /** + * libgit2 normally uses internal templates to initialize a new repo. + * This flags enables external templates, looking the "template_path" from + * the options if set, or the `init.templatedir` global config if not, + * or falling back on "/usr/share/git-core/templates" if it exists. + */ + GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE = (1u << 5), + + /** + * If an alternate workdir is specified, use relative paths for the gitdir + * and core.worktree. + */ + GIT_REPOSITORY_INIT_RELATIVE_GITLINK = (1u << 6) +} git_repository_init_flag_t; + +/** + * Mode options for `git_repository_init_ext`. + * + * Set the mode field of the `git_repository_init_options` structure + * either to the custom mode that you would like, or to one of the + * defined modes. + */ +typedef enum { + /** + * Use permissions configured by umask - the default. + */ + GIT_REPOSITORY_INIT_SHARED_UMASK = 0, + + /** + * Use "--shared=group" behavior, chmod'ing the new repo to be group + * writable and "g+sx" for sticky group assignment. + */ + GIT_REPOSITORY_INIT_SHARED_GROUP = 0002775, + + /** + * Use "--shared=all" behavior, adding world readability. + */ + GIT_REPOSITORY_INIT_SHARED_ALL = 0002777 +} git_repository_init_mode_t; + +/** + * Extended options structure for `git_repository_init_ext`. + * + * This contains extra options for `git_repository_init_ext` that enable + * additional initialization features. + */ +typedef struct { + unsigned int version; + + /** + * Combination of GIT_REPOSITORY_INIT flags above. + */ + uint32_t flags; + + /** + * Set to one of the standard GIT_REPOSITORY_INIT_SHARED_... constants + * above, or to a custom value that you would like. + */ + uint32_t mode; + + /** + * The path to the working dir or NULL for default (i.e. repo_path parent + * on non-bare repos). IF THIS IS RELATIVE PATH, IT WILL BE EVALUATED + * RELATIVE TO THE REPO_PATH. If this is not the "natural" working + * directory, a .git gitlink file will be created here linking to the + * repo_path. + */ + const char *workdir_path; + + /** + * If set, this will be used to initialize the "description" file in the + * repository, instead of using the template content. + */ + const char *description; + + /** + * When GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE is set, this contains + * the path to use for the template directory. If this is NULL, the config + * or default directory options will be used instead. + */ + const char *template_path; + + /** + * The name of the head to point HEAD at. If NULL, then this will be + * treated as "master" and the HEAD ref will be set to "refs/heads/master". + * If this begins with "refs/" it will be used verbatim; + * otherwise "refs/heads/" will be prefixed. + */ + const char *initial_head; + + /** + * If this is non-NULL, then after the rest of the repository + * initialization is completed, an "origin" remote will be added + * pointing to this URL. + */ + const char *origin_url; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** + * + * Type of object IDs to use for this repository, or 0 for + * default (currently SHA1). + */ + git_oid_t oid_type; +#endif +} git_repository_init_options; + +/** Current version for the `git_repository_init_options` structure */ +#define GIT_REPOSITORY_INIT_OPTIONS_VERSION 1 + +/** Static constructor for `git_repository_init_options` */ +#define GIT_REPOSITORY_INIT_OPTIONS_INIT {GIT_REPOSITORY_INIT_OPTIONS_VERSION} + +/** + * Initialize git_repository_init_options structure + * + * Initializes a `git_repository_init_options` with default values. Equivalent to + * creating an instance with `GIT_REPOSITORY_INIT_OPTIONS_INIT`. + * + * @param opts The `git_repository_init_options` struct to initialize. + * @param version The struct version; pass `GIT_REPOSITORY_INIT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_repository_init_options_init( + git_repository_init_options *opts, + unsigned int version); + +/** + * Create a new Git repository in the given folder with extended controls. + * + * 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. + * + * Note that the libgit2 library _must_ be initialized using + * `git_libgit2_init` before any APIs can be called, including + * this one. + * + * @param out Pointer to the repo which will be created or reinitialized. + * @param repo_path The path to the repository. + * @param opts Pointer to git_repository_init_options struct. + * @return 0 or an error code on failure. + */ +GIT_EXTERN(int) git_repository_init_ext( + git_repository **out, + const char *repo_path, + git_repository_init_options *opts); + +/** + * Retrieve and resolve the reference pointed at by HEAD. + * + * The returned `git_reference` will be owned by caller and + * `git_reference_free()` must be called when done with it to release the + * allocated memory and prevent a leak. + * + * @param[out] out pointer to the reference which will be retrieved + * @param repo a repository object + * + * @return 0 on success, GIT_EUNBORNBRANCH when HEAD points to a non existing + * branch, GIT_ENOTFOUND when HEAD is missing; an error code otherwise + */ +GIT_EXTERN(int) git_repository_head(git_reference **out, git_repository *repo); + +/** + * Retrieve the referenced HEAD for the worktree + * + * @param out pointer to the reference which will be retrieved + * @param repo a repository object + * @param name name of the worktree to retrieve HEAD for + * @return 0 when successful, error-code otherwise + */ +GIT_EXTERN(int) git_repository_head_for_worktree(git_reference **out, git_repository *repo, + const char *name); + +/** + * Check if a repository's HEAD is detached + * + * A repository's HEAD is detached when it points directly to a commit + * instead of a branch. + * + * @param repo Repo to test + * @return 1 if HEAD is detached, 0 if it's not; error code if there + * was an error. + */ +GIT_EXTERN(int) git_repository_head_detached(git_repository *repo); + +/** + * Check if a worktree's HEAD is detached + * + * A worktree's HEAD is detached when it points directly to a + * commit instead of a branch. + * + * @param repo a repository object + * @param name name of the worktree to retrieve HEAD for + * @return 1 if HEAD is detached, 0 if its not; error code if + * there was an error + */ +GIT_EXTERN(int) git_repository_head_detached_for_worktree(git_repository *repo, + const char *name); + +/** + * Check if the current branch is unborn + * + * An unborn branch is one named from HEAD but which doesn't exist in + * the refs namespace, because it doesn't have any commit to point to. + * + * @param repo Repo to test + * @return 1 if the current branch is unborn, 0 if it's not; error + * code if there was an error + */ +GIT_EXTERN(int) git_repository_head_unborn(git_repository *repo); + +/** + * Check if a repository is empty + * + * An empty repository has just been initialized and contains no references + * apart from HEAD, which must be pointing to the unborn master branch, + * or the branch specified for the repository in the `init.defaultBranch` + * configuration variable. + * + * @param repo Repo to test + * @return 1 if the repository is empty, 0 if it isn't, error code + * if the repository is corrupted + */ +GIT_EXTERN(int) git_repository_is_empty(git_repository *repo); + +/** + * List of items which belong to the git repository layout + */ +typedef enum { + GIT_REPOSITORY_ITEM_GITDIR, + GIT_REPOSITORY_ITEM_WORKDIR, + GIT_REPOSITORY_ITEM_COMMONDIR, + GIT_REPOSITORY_ITEM_INDEX, + GIT_REPOSITORY_ITEM_OBJECTS, + GIT_REPOSITORY_ITEM_REFS, + GIT_REPOSITORY_ITEM_PACKED_REFS, + GIT_REPOSITORY_ITEM_REMOTES, + GIT_REPOSITORY_ITEM_CONFIG, + GIT_REPOSITORY_ITEM_INFO, + GIT_REPOSITORY_ITEM_HOOKS, + GIT_REPOSITORY_ITEM_LOGS, + GIT_REPOSITORY_ITEM_MODULES, + GIT_REPOSITORY_ITEM_WORKTREES, + GIT_REPOSITORY_ITEM_WORKTREE_CONFIG, + GIT_REPOSITORY_ITEM__LAST +} git_repository_item_t; + +/** + * Get the location of a specific repository file or directory + * + * This function will retrieve the path of a specific repository + * item. It will thereby honor things like the repository's + * common directory, gitdir, etc. In case a file path cannot + * exist for a given item (e.g. the working directory of a bare + * repository), GIT_ENOTFOUND is returned. + * + * @param out Buffer to store the path at + * @param repo Repository to get path for + * @param item The repository item for which to retrieve the path + * @return 0, GIT_ENOTFOUND if the path cannot exist or an error code + */ +GIT_EXTERN(int) git_repository_item_path(git_buf *out, const git_repository *repo, git_repository_item_t item); + +/** + * Get the path of this repository + * + * This is the path of the `.git` folder for normal repositories, + * or of the repository itself for bare repositories. + * + * @param repo A repository object + * @return the path to the repository + */ +GIT_EXTERN(const char *) git_repository_path(const git_repository *repo); + +/** + * Get the path of the working directory for this repository + * + * If the repository is bare, this function will always return + * NULL. + * + * @param repo A repository object + * @return the path to the working dir, if it exists + */ +GIT_EXTERN(const char *) git_repository_workdir(const git_repository *repo); + +/** + * Get the path of the shared common directory for this repository. + * + * If the repository is bare, it is the root directory for the repository. + * If the repository is a worktree, it is the parent repo's gitdir. + * Otherwise, it is the gitdir. + * + * @param repo A repository object + * @return the path to the common dir + */ +GIT_EXTERN(const char *) git_repository_commondir(const git_repository *repo); + +/** + * Set the path to the working directory for this repository + * + * The working directory doesn't need to be the same one + * that contains the `.git` folder for this repository. + * + * If this repository is bare, setting its working directory + * will turn it into a normal repository, capable of performing + * all the common workdir operations (checkout, status, index + * manipulation, etc). + * + * @param repo A repository object + * @param workdir The path to a working directory + * @param update_gitlink Create/update gitlink in workdir and set config + * "core.worktree" (if workdir is not the parent of the .git directory) + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_set_workdir( + git_repository *repo, const char *workdir, int update_gitlink); + +/** + * Check if a repository is bare + * + * @param repo Repo to test + * @return 1 if the repository is bare, 0 otherwise. + */ +GIT_EXTERN(int) git_repository_is_bare(const git_repository *repo); + +/** + * Check if a repository is a linked work tree + * + * @param repo Repo to test + * @return 1 if the repository is a linked work tree, 0 otherwise. + */ +GIT_EXTERN(int) git_repository_is_worktree(const git_repository *repo); + +/** + * Get the configuration file for this repository. + * + * 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). + * + * The configuration file must be freed once it's no longer + * being used by the user. + * + * @param out Pointer to store the loaded configuration + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_config(git_config **out, git_repository *repo); + +/** + * Get a snapshot of the repository's configuration + * + * Convenience function to take a snapshot from the repository's + * configuration. The contents of this snapshot will not change, + * even if the underlying config files are modified. + * + * The configuration file must be freed once it's no longer + * being used by the user. + * + * @param out Pointer to store the loaded configuration + * @param repo the repository + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_config_snapshot(git_config **out, git_repository *repo); + +/** + * Get the Object Database for this repository. + * + * If a custom ODB has not been set, the default + * database for the repository will be returned (the one + * located in `.git/objects`). + * + * The ODB must be freed once it's no longer being used by + * the user. + * + * @param[out] out Pointer to store the loaded ODB + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_odb(git_odb **out, git_repository *repo); + +/** + * Get the Reference Database Backend for this repository. + * + * If a custom refsdb has not been set, the default database for + * the repository will be returned (the one that manipulates loose + * and packed references in the `.git` directory). + * + * The refdb must be freed once it's no longer being used by + * the user. + * + * @param[out] out Pointer to store the loaded refdb + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_refdb(git_refdb **out, git_repository *repo); + +/** + * Get the Index file for this repository. + * + * If a custom index has not been set, the default + * index for the repository will be returned (the one + * located in `.git/index`). + * + * The index must be freed once it's no longer being used by + * the user. + * + * @param[out] out Pointer to store the loaded index + * @param repo A repository object + * @return 0, or an error code + */ +GIT_EXTERN(int) git_repository_index(git_index **out, git_repository *repo); + +/** + * Retrieve git's prepared message + * + * Operations such as git revert/cherry-pick/merge with the -n option + * stop just short of creating a commit with the changes and save + * their prepared message in .git/MERGE_MSG so the next git-commit + * execution can present it to the user for them to amend if they + * wish. + * + * Use this function to get the contents of this file. Don't forget to + * remove the file after you create the commit. + * + * @param out git_buf to write data into + * @param repo Repository to read prepared message from + * @return 0, GIT_ENOTFOUND if no message exists or an error code + */ +GIT_EXTERN(int) git_repository_message(git_buf *out, git_repository *repo); + +/** + * Remove git's prepared message. + * + * Remove the message that `git_repository_message` retrieves. + * + * @param repo Repository to remove prepared message from. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_repository_message_remove(git_repository *repo); + +/** + * Remove all the metadata associated with an ongoing command like merge, + * revert, cherry-pick, etc. For example: MERGE_HEAD, MERGE_MSG, etc. + * + * @param repo A repository object + * @return 0 on success, or error + */ +GIT_EXTERN(int) git_repository_state_cleanup(git_repository *repo); + +/** + * Callback used to iterate over each FETCH_HEAD entry + * + * @see git_repository_fetchhead_foreach + * + * @param ref_name The reference name + * @param remote_url The remote URL + * @param oid The reference target OID + * @param is_merge Was the reference the result of a merge + * @param payload Payload passed to git_repository_fetchhead_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_repository_fetchhead_foreach_cb)(const char *ref_name, + const char *remote_url, + const git_oid *oid, + unsigned int is_merge, + void *payload); + +/** + * Invoke 'callback' for each entry in the given FETCH_HEAD file. + * + * Return a non-zero value from the callback to stop the loop. + * + * @param repo A repository object + * @param callback Callback function + * @param payload Pointer to callback data (optional) + * @return 0 on success, non-zero callback return value, GIT_ENOTFOUND if + * there is no FETCH_HEAD file, or other error code. + */ +GIT_EXTERN(int) git_repository_fetchhead_foreach( + git_repository *repo, + git_repository_fetchhead_foreach_cb callback, + void *payload); + +/** + * Callback used to iterate over each MERGE_HEAD entry + * + * @see git_repository_mergehead_foreach + * + * @param oid The merge OID + * @param payload Payload passed to git_repository_mergehead_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_repository_mergehead_foreach_cb)(const git_oid *oid, + void *payload); + +/** + * If a merge is in progress, invoke 'callback' for each commit ID in the + * MERGE_HEAD file. + * + * Return a non-zero value from the callback to stop the loop. + * + * @param repo A repository object + * @param callback Callback function + * @param payload Pointer to callback data (optional) + * @return 0 on success, non-zero callback return value, GIT_ENOTFOUND if + * there is no MERGE_HEAD file, or other error code. + */ +GIT_EXTERN(int) git_repository_mergehead_foreach( + git_repository *repo, + git_repository_mergehead_foreach_cb callback, + void *payload); + +/** + * Calculate hash of file using repository filtering rules. + * + * If you simply want to calculate the hash of a file on disk with no filters, + * you can just use the `git_odb_hashfile()` API. However, if you want to + * hash a file in the repository and you want to apply filtering rules (e.g. + * crlf filters) before generating the SHA, then use this function. + * + * Note: if the repository has `core.safecrlf` set to fail and the + * filtering triggers that failure, then this function will return an + * error and not calculate the hash of the file. + * + * @param out Output value of calculated SHA + * @param repo Repository pointer + * @param path Path to file on disk whose contents should be hashed. This + * may be an absolute path or a relative path, in which case it + * will be treated as a path within the working directory. + * @param type The object type to hash as (e.g. GIT_OBJECT_BLOB) + * @param as_path The path to use to look up filtering rules. If this is + * an empty string then no filters will be applied when + * calculating the hash. If this is `NULL` and the `path` + * parameter is a file within the repository's working + * directory, then the `path` will be used. + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_hashfile( + git_oid *out, + git_repository *repo, + const char *path, + git_object_t type, + const char *as_path); + +/** + * Make the repository HEAD point to the specified reference. + * + * If the provided reference points to a Tree or a Blob, the HEAD is + * unaltered and -1 is returned. + * + * 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. + * + * Otherwise, the HEAD will be detached and will directly point to + * the Commit. + * + * @param repo Repository pointer + * @param refname Canonical name of the reference the HEAD should point at + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_head( + git_repository *repo, + const char *refname); + +/** + * Make the repository HEAD directly point to the Commit. + * + * If the provided committish cannot be found in the repository, the HEAD + * is unaltered and GIT_ENOTFOUND is returned. + * + * If the provided committish cannot be peeled into a commit, the HEAD + * is unaltered and -1 is returned. + * + * Otherwise, the HEAD will eventually be detached and will directly point to + * the peeled Commit. + * + * @param repo Repository pointer + * @param committish Object id of the Commit the HEAD should point to + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_head_detached( + git_repository *repo, + const git_oid *committish); + +/** + * Make the repository HEAD directly point to the Commit. + * + * 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. + * + * See the documentation for `git_repository_set_head_detached()`. + * + * @param repo Repository pointer + * @param committish annotated commit to point HEAD to + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_head_detached_from_annotated( + git_repository *repo, + const git_annotated_commit *committish); + +/** + * Detach the HEAD. + * + * If the HEAD is already detached and points to a Commit, 0 is returned. + * + * If the HEAD is already detached and points to a Tag, the HEAD is + * updated into making it point to the peeled Commit, and 0 is returned. + * + * If the HEAD is already detached and points to a non committish, the HEAD is + * unaltered, and -1 is returned. + * + * Otherwise, the HEAD will be detached and point to the peeled Commit. + * + * @param repo Repository pointer + * @return 0 on success, GIT_EUNBORNBRANCH when HEAD points to a non existing + * branch or an error code + */ +GIT_EXTERN(int) git_repository_detach_head( + git_repository *repo); + +/** + * Repository state + * + * These values represent possible states for the repository to be in, + * based on the current operation which is ongoing. + */ +typedef enum { + GIT_REPOSITORY_STATE_NONE, + GIT_REPOSITORY_STATE_MERGE, + GIT_REPOSITORY_STATE_REVERT, + GIT_REPOSITORY_STATE_REVERT_SEQUENCE, + GIT_REPOSITORY_STATE_CHERRYPICK, + GIT_REPOSITORY_STATE_CHERRYPICK_SEQUENCE, + GIT_REPOSITORY_STATE_BISECT, + GIT_REPOSITORY_STATE_REBASE, + GIT_REPOSITORY_STATE_REBASE_INTERACTIVE, + GIT_REPOSITORY_STATE_REBASE_MERGE, + GIT_REPOSITORY_STATE_APPLY_MAILBOX, + GIT_REPOSITORY_STATE_APPLY_MAILBOX_OR_REBASE +} git_repository_state_t; + +/** + * Determines the status of a git repository - ie, whether an operation + * (merge, cherry-pick, etc) is in progress. + * + * @param repo Repository pointer + * @return The state of the repository + */ +GIT_EXTERN(int) git_repository_state(git_repository *repo); + +/** + * Sets the active namespace for this Git Repository + * + * This namespace affects all reference operations for the repo. + * See `man gitnamespaces` + * + * @param repo The repo + * @param nmspace The namespace. This should not include the refs + * folder, e.g. to namespace all references under `refs/namespaces/foo/`, + * use `foo` as the namespace. + * @return 0 on success, -1 on error + */ +GIT_EXTERN(int) git_repository_set_namespace(git_repository *repo, const char *nmspace); + +/** + * Get the currently active namespace for this repository + * + * @param repo The repo + * @return the active namespace, or NULL if there isn't one + */ +GIT_EXTERN(const char *) git_repository_get_namespace(git_repository *repo); + + +/** + * Determine if the repository was a shallow clone + * + * @param repo The repository + * @return 1 if shallow, zero if not + */ +GIT_EXTERN(int) git_repository_is_shallow(git_repository *repo); + +/** + * Retrieve the configured identity to use for reflogs + * + * The memory is owned by the repository and must not be freed by the + * user. + * + * @param[out] name where to store the pointer to the name + * @param[out] email where to store the pointer to the email + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_ident(const char **name, const char **email, const git_repository *repo); + +/** + * Set the identity to be used for writing reflogs + * + * If both are set, this name and email will be used to write to the + * reflog. Pass NULL to unset. When unset, the identity will be taken + * from the repository's configuration. + * + * @param repo the repository to configure + * @param name the name to use for the reflog entries + * @param email the email to use for the reflog entries + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_repository_set_ident(git_repository *repo, const char *name, const char *email); + +/** + * Gets the object type used by this repository. + * + * @param repo the repository + * @return the object id type + */ +GIT_EXTERN(git_oid_t) git_repository_oid_type(git_repository *repo); + +/** + * Gets the parents of the next commit, given the current repository state. + * Generally, this is the HEAD commit, except when performing a merge, in + * which case it is two or more commits. + * + * @param commits a `git_commitarray` that will contain the commit parents + * @param repo the repository + * @return 0 or an error code + */ +GIT_EXTERN(int) git_repository_commit_parents(git_commitarray *commits, git_repository *repo); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/reset.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/reset.h new file mode 100644 index 00000000..0123f7c7 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/reset.h @@ -0,0 +1,124 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_reset_h__ +#define INCLUDE_git_reset_h__ + +#include "common.h" +#include "types.h" +#include "strarray.h" +#include "checkout.h" + +/** + * @file git2/reset.h + * @brief Reset will update the local repository to a prior state + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Kinds of reset operation + */ +typedef enum { + GIT_RESET_SOFT = 1, /**< Move the head to the given commit */ + GIT_RESET_MIXED = 2, /**< SOFT plus reset index to the commit */ + GIT_RESET_HARD = 3 /**< MIXED plus changes in working tree discarded */ +} git_reset_t; + +/** + * Sets the current head to the specified commit oid and optionally + * resets the index and working tree to match. + * + * SOFT reset means the Head will be moved to the commit. + * + * MIXED reset will trigger a SOFT reset, plus the index will be replaced + * with the content of the commit tree. + * + * HARD reset will trigger a MIXED reset and the working directory will be + * replaced with the content of the index. (Untracked and ignored files + * will be left alone, however.) + * + * TODO: Implement remaining kinds of resets. + * + * @param repo Repository where to perform the reset operation. + * + * @param target Committish to which the Head should be moved to. This object + * must belong to the given `repo` and can either be a git_commit or a + * git_tag. When a git_tag is being passed, it should be dereferenceable + * to a git_commit which oid will be used as the target of the branch. + * + * @param reset_type Kind of reset operation to perform. + * + * @param checkout_opts Optional checkout options to be used for a HARD reset. + * The checkout_strategy field will be overridden (based on reset_type). + * This parameter can be used to propagate notify and progress callbacks. + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_reset( + git_repository *repo, + const git_object *target, + git_reset_t reset_type, + const git_checkout_options *checkout_opts); + +/** + * Sets the current head to the specified commit oid and optionally + * resets the index and working tree to match. + * + * 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. + * + * See the documentation for `git_reset()`. + * + * @param repo Repository where to perform the reset operation. + * + * @param target Annotated commit to which the Head should be moved to. + * This object must belong to the given `repo`, it will be dereferenced + * to a git_commit which oid will be used as the target of the branch. + * + * @param reset_type Kind of reset operation to perform. + * + * @param checkout_opts Optional checkout options to be used for a HARD reset. + * The checkout_strategy field will be overridden (based on reset_type). + * This parameter can be used to propagate notify and progress callbacks. + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_reset_from_annotated( + git_repository *repo, + const git_annotated_commit *target, + git_reset_t reset_type, + const git_checkout_options *checkout_opts); + +/** + * Updates some entries in the index from the target commit tree. + * + * The scope of the updated entries is determined by the paths + * being passed in the `pathspec` parameters. + * + * Passing a NULL `target` will result in removing + * entries in the index matching the provided pathspecs. + * + * @param repo Repository where to perform the reset operation. + * + * @param target The committish which content will be used to reset the content + * of the index. + * + * @param pathspecs List of pathspecs to operate on. + * + * @return 0 on success or an error code < 0 + */ +GIT_EXTERN(int) git_reset_default( + git_repository *repo, + const git_object *target, + const git_strarray* pathspecs); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revert.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revert.h new file mode 100644 index 00000000..ec51eca2 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revert.h @@ -0,0 +1,96 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revert_h__ +#define INCLUDE_git_revert_h__ + +#include "common.h" +#include "types.h" +#include "merge.h" + +/** + * @file git2/revert.h + * @brief Cherry-pick the inverse of a change to "undo" its effects + * @defgroup git_revert Cherry-pick the inverse of a change to "undo" its effects + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options for revert + */ +typedef struct { + unsigned int version; + + /** For merge commits, the "mainline" is treated as the parent. */ + unsigned int mainline; + + git_merge_options merge_opts; /**< Options for the merging */ + git_checkout_options checkout_opts; /**< Options for the checkout */ +} git_revert_options; + +/** Current version for the `git_revert_options` structure */ +#define GIT_REVERT_OPTIONS_VERSION 1 + +/** Static constructor for `git_revert_options` */ +#define GIT_REVERT_OPTIONS_INIT { \ + GIT_REVERT_OPTIONS_VERSION, 0, \ + GIT_MERGE_OPTIONS_INIT, GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_revert_options structure + * + * Initializes a `git_revert_options` with default values. Equivalent to + * creating an instance with `GIT_REVERT_OPTIONS_INIT`. + * + * @param opts The `git_revert_options` struct to initialize. + * @param version The struct version; pass `GIT_REVERT_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_revert_options_init( + git_revert_options *opts, + unsigned int version); + +/** + * Reverts the given commit against the given "our" commit, producing an + * index that reflects the result of the revert. + * + * The returned index must be freed explicitly with `git_index_free`. + * + * @param out pointer to store the index result in + * @param repo the repository that contains the given commits + * @param revert_commit the commit to revert + * @param our_commit the commit to revert against (eg, HEAD) + * @param mainline the parent of the revert commit, if it is a merge + * @param merge_options the merge options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_revert_commit( + git_index **out, + git_repository *repo, + git_commit *revert_commit, + git_commit *our_commit, + unsigned int mainline, + const git_merge_options *merge_options); + +/** + * Reverts the given commit, producing changes in the index and working directory. + * + * @param repo the repository to revert + * @param commit the commit to revert + * @param given_opts the revert options (or null for defaults) + * @return zero on success, -1 on failure. + */ +GIT_EXTERN(int) git_revert( + git_repository *repo, + git_commit *commit, + const git_revert_options *given_opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revparse.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revparse.h new file mode 100644 index 00000000..c14fe3dc --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revparse.h @@ -0,0 +1,113 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revparse_h__ +#define INCLUDE_git_revparse_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/revparse.h + * @brief Parse the textual revision information + * @defgroup git_revparse Parse the textual revision information + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Find a single object, as specified by a revision string. + * + * See `man gitrevisions`, or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * The returned object should be released with `git_object_free` when no + * longer needed. + * + * @param out pointer to output object + * @param repo the repository to search in + * @param spec the textual specification for an object + * @return 0 on success, GIT_ENOTFOUND, GIT_EAMBIGUOUS, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_revparse_single( + git_object **out, git_repository *repo, const char *spec); + +/** + * Find a single object and intermediate reference by a revision string. + * + * See `man gitrevisions`, or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * In some cases (`@{<-n>}` or `@{upstream}`), the expression may + * point to an intermediate reference. When such expressions are being passed + * in, `reference_out` will be valued as well. + * + * The returned object should be released with `git_object_free` and the + * returned reference with `git_reference_free` when no longer needed. + * + * @param object_out pointer to output object + * @param reference_out pointer to output reference or NULL + * @param repo the repository to search in + * @param spec the textual specification for an object + * @return 0 on success, GIT_ENOTFOUND, GIT_EAMBIGUOUS, GIT_EINVALIDSPEC + * or an error code + */ +GIT_EXTERN(int) git_revparse_ext( + git_object **object_out, + git_reference **reference_out, + git_repository *repo, + const char *spec); + +/** + * Revparse flags. These indicate the intended behavior of the spec passed to + * git_revparse. + */ +typedef enum { + /** The spec targeted a single object. */ + GIT_REVSPEC_SINGLE = 1 << 0, + /** The spec targeted a range of commits. */ + GIT_REVSPEC_RANGE = 1 << 1, + /** The spec used the '...' operator, which invokes special semantics. */ + GIT_REVSPEC_MERGE_BASE = 1 << 2 +} git_revspec_t; + +/** + * Git Revision Spec: output of a `git_revparse` operation + */ +typedef struct { + /** The left element of the revspec; must be freed by the user */ + git_object *from; + /** The right element of the revspec; must be freed by the user */ + git_object *to; + /** The intent of the revspec (i.e. `git_revspec_mode_t` flags) */ + unsigned int flags; +} git_revspec; + +/** + * Parse a revision string for `from`, `to`, and intent. + * + * See `man gitrevisions` or + * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for + * information on the syntax accepted. + * + * @param revspec Pointer to an user-allocated git_revspec struct where + * the result of the rev-parse will be stored + * @param repo the repository to search in + * @param spec the rev-parse spec to parse + * @return 0 on success, GIT_INVALIDSPEC, GIT_ENOTFOUND, GIT_EAMBIGUOUS or an error code + */ +GIT_EXTERN(int) git_revparse( + git_revspec *revspec, + git_repository *repo, + const char *spec); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revwalk.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revwalk.h new file mode 100644 index 00000000..7c4ac546 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/revwalk.h @@ -0,0 +1,303 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_revwalk_h__ +#define INCLUDE_git_revwalk_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/revwalk.h + * @brief Traverse (walk) the commit graph (revision history) + * @defgroup git_revwalk Traverse (walk) the commit graph (revision history) + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Flags to specify the sorting which a revwalk should perform. + */ +typedef enum { + /** + * Sort the output with the same default method from `git`: reverse + * chronological order. This is the default sorting for new walkers. + */ + GIT_SORT_NONE = 0, + + /** + * Sort the repository contents in topological order (no parents before + * all of its children are shown); this sorting mode can be combined + * with time sorting to produce `git`'s `--date-order``. + */ + GIT_SORT_TOPOLOGICAL = 1 << 0, + + /** + * Sort the repository contents by commit time; + * this sorting mode can be combined with + * topological sorting. + */ + GIT_SORT_TIME = 1 << 1, + + /** + * Iterate through the repository contents in reverse + * order; this sorting mode can be combined with + * any of the above. + */ + GIT_SORT_REVERSE = 1 << 2 +} git_sort_t; + +/** + * Allocate a new revision walker to iterate through a repo. + * + * This revision walker uses a custom memory pool and an internal + * commit cache, so it is relatively expensive to allocate. + * + * For maximum performance, this revision walker should be + * reused for different walks. + * + * 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. + * + * @param out pointer to the new revision walker + * @param repo the repo to walk through + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_new(git_revwalk **out, git_repository *repo); + +/** + * Reset the revision walker for reuse. + * + * This will clear all the pushed and hidden commits, and + * leave the walker in a blank state (just like at + * creation) ready to receive new commit pushes and + * start a new walk. + * + * The revision walk is automatically reset when a walk + * is over. + * + * @param walker handle to reset. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_reset(git_revwalk *walker); + +/** + * Add a new root for the traversal + * + * 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. + * + * At least one commit must be pushed onto the walker before a walk + * can be started. + * + * The given id must belong to a committish on the walked + * repository. + * + * @param walk the walker being used for the traversal. + * @param id the oid of the commit to start from. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push(git_revwalk *walk, const git_oid *id); + +/** + * Push matching references + * + * The OIDs pointed to by the references that match the given glob + * pattern will be pushed to the revision walker. + * + * A leading 'refs/' is implied if not present as well as a trailing + * '/\*' if the glob lacks '?', '\*' or '['. + * + * Any references matching this glob which do not point to a + * committish will be ignored. + * + * @param walk the walker being used for the traversal + * @param glob the glob pattern references should match + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_glob(git_revwalk *walk, const char *glob); + +/** + * Push the repository's HEAD + * + * @param walk the walker being used for the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_head(git_revwalk *walk); + +/** + * Mark a commit (and its ancestors) uninteresting for the output. + * + * The given id must belong to a committish on the walked + * repository. + * + * The resolved commit and all its parents will be hidden from the + * output on the revision walk. + * + * @param walk the walker being used for the traversal. + * @param commit_id the oid of commit that will be ignored during the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide(git_revwalk *walk, const git_oid *commit_id); + +/** + * Hide matching references. + * + * The OIDs pointed to by the references that match the given glob + * pattern and their ancestors will be hidden from the output on the + * revision walk. + * + * A leading 'refs/' is implied if not present as well as a trailing + * '/\*' if the glob lacks '?', '\*' or '['. + * + * Any references matching this glob which do not point to a + * committish will be ignored. + * + * @param walk the walker being used for the traversal + * @param glob the glob pattern references should match + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_glob(git_revwalk *walk, const char *glob); + +/** + * Hide the repository's HEAD + * + * @param walk the walker being used for the traversal + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_head(git_revwalk *walk); + +/** + * Push the OID pointed to by a reference + * + * The reference must point to a committish. + * + * @param walk the walker being used for the traversal + * @param refname the reference to push + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_push_ref(git_revwalk *walk, const char *refname); + +/** + * Hide the OID pointed to by a reference + * + * The reference must point to a committish. + * + * @param walk the walker being used for the traversal + * @param refname the reference to hide + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_hide_ref(git_revwalk *walk, const char *refname); + +/** + * Get the next commit from the revision walk. + * + * The initial call to this method is *not* blocking when + * iterating through a repo with a time-sorting mode. + * + * 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). + * + * The revision walker is reset when the walk is over. + * + * @param out Pointer where to store the oid of the next commit + * @param walk the walker to pop the commit from. + * @return 0 if the next commit was found; + * GIT_ITEROVER if there are no commits left to iterate + */ +GIT_EXTERN(int) git_revwalk_next(git_oid *out, git_revwalk *walk); + +/** + * Change the sorting mode when iterating through the + * repository's contents. + * + * Changing the sorting mode resets the walker. + * + * @param walk the walker being used for the traversal. + * @param sort_mode combination of GIT_SORT_XXX flags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_sorting(git_revwalk *walk, unsigned int sort_mode); + +/** + * Push and hide the respective endpoints of the given range. + * + * The range should be of the form + * .. + * where each is in the form accepted by 'git_revparse_single'. + * The left-hand commit will be hidden and the right-hand commit pushed. + * + * @param walk the walker being used for the traversal + * @param range the range + * @return 0 or an error code + * + */ +GIT_EXTERN(int) git_revwalk_push_range(git_revwalk *walk, const char *range); + +/** + * Simplify the history by first-parent + * + * No parents other than the first for each commit will be enqueued. + * + * @param walk The revision walker. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_revwalk_simplify_first_parent(git_revwalk *walk); + + +/** + * Free a revision walker previously allocated. + * + * @param walk traversal handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_revwalk_free(git_revwalk *walk); + +/** + * Return the repository on which this walker + * is operating. + * + * @param walk the revision walker + * @return the repository being walked + */ +GIT_EXTERN(git_repository *) git_revwalk_repository(git_revwalk *walk); + +/** + * This is a callback function that user can provide to hide a + * commit and its parents. If the callback function returns non-zero value, + * then this commit and its parents will be hidden. + * + * @param commit_id oid of Commit + * @param payload User-specified pointer to data to be passed as data payload + * @return non-zero to hide the commmit and it parent. + */ +typedef int GIT_CALLBACK(git_revwalk_hide_cb)( + const git_oid *commit_id, + void *payload); + +/** + * Adds, changes or removes a callback function to hide a commit and its parents + * + * @param walk the revision walker + * @param hide_cb callback function to hide a commit and its parents + * @param payload data payload to be passed to callback function + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_revwalk_add_hide_cb( + git_revwalk *walk, + git_revwalk_hide_cb hide_cb, + void *payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/signature.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/signature.h new file mode 100644 index 00000000..20ec24b3 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/signature.h @@ -0,0 +1,148 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_signature_h__ +#define INCLUDE_git_signature_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/signature.h + * @brief Signatures are the actor in a repository and when they acted + * @defgroup git_signature Git signature creation + * @ingroup Git + * + * Signatures contain the information about the actor (committer or + * author) in a repository, and the time that they performed the + * commit, or authoring. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new action signature. + * + * Call `git_signature_free()` to free the data. + * + * Note: angle brackets ('<' and '>') characters are not allowed + * to be used in either the `name` or the `email` parameter. + * + * @param out new signature, in case of error NULL + * @param name name of the person + * @param email email of the person + * @param time time (in seconds from epoch) when the action happened + * @param offset timezone offset (in minutes) for the time + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_new(git_signature **out, const char *name, const char *email, git_time_t time, int offset); + +/** + * Create a new action signature with a timestamp of 'now'. + * + * Call `git_signature_free()` to free the data. + * + * @param out new signature, in case of error NULL + * @param name name of the person + * @param email email of the person + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_now(git_signature **out, const char *name, const char *email); + +/** + * Create a new author and/or committer signatures with default + * information based on the configuration and environment variables. + * + * 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. + * + * 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. + * + * If neither `GIT_AUTHOR_DATE` nor `GIT_COMMITTER_DATE` are set, + * both timestamps will be set to the same time. + * + * 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. + * + * @param author_out pointer to set the author signature, or NULL + * @param committer_out pointer to set the committer signature, or NULL + * @param repo repository pointer + * @return 0 on success, GIT_ENOTFOUND if config is missing, or error code + */ +GIT_EXTERN(int) git_signature_default_from_env( + git_signature **author_out, + git_signature **committer_out, + git_repository *repo); + +/** + * Create a new action signature with default user and now timestamp. + * + * 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. + * + * Note that these do not examine environment variables, only the + * configuration files. Use `git_signature_default_from_env` to + * consider the environment variables. + * + * @param out new signature + * @param repo repository pointer + * @return 0 on success, GIT_ENOTFOUND if config is missing, or error code + */ +GIT_EXTERN(int) git_signature_default(git_signature **out, git_repository *repo); + +/** + * Create a new signature by parsing the given buffer, which is + * expected to be in the format "Real Name timestamp tzoffset", + * where `timestamp` is the number of seconds since the Unix epoch and + * `tzoffset` is the timezone offset in `hhmm` format (note the lack + * of a colon separator). + * + * @param out new signature + * @param buf signature string + * @return 0 on success, GIT_EINVALID if the signature is not parseable, or an error code + */ +GIT_EXTERN(int) git_signature_from_buffer(git_signature **out, const char *buf); + +/** + * Create a copy of an existing signature. All internal strings are also + * duplicated. + * + * Call `git_signature_free()` to free the data. + * + * @param dest pointer where to store the copy + * @param sig signature to duplicate + * @return 0 or an error code + */ +GIT_EXTERN(int) git_signature_dup(git_signature **dest, const git_signature *sig); + +/** + * Free an existing signature. + * + * 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. + * + * @param sig signature to free + */ +GIT_EXTERN(void) git_signature_free(git_signature *sig); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/stash.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/stash.h new file mode 100644 index 00000000..ad28c326 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/stash.h @@ -0,0 +1,328 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_stash_h__ +#define INCLUDE_git_stash_h__ + +#include "common.h" +#include "types.h" +#include "checkout.h" + +/** + * @file git2/stash.h + * @brief Stashes stores some uncommitted state in the repository + * @ingroup Git + * + * Stashes stores some uncommitted state in the repository; generally + * this allows a user to stash some changes so that they can restore + * the working directory to an unmodified state. This can allow a + * developer to work on two different changes in parallel. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Stash flags + */ +typedef enum { + /** + * No option, default + */ + GIT_STASH_DEFAULT = 0, + + /** + * All changes already added to the index are left intact in + * the working directory + */ + GIT_STASH_KEEP_INDEX = (1 << 0), + + /** + * All untracked files are also stashed and then cleaned up + * from the working directory + */ + GIT_STASH_INCLUDE_UNTRACKED = (1 << 1), + + /** + * All ignored files are also stashed and then cleaned up from + * the working directory + */ + GIT_STASH_INCLUDE_IGNORED = (1 << 2), + + /** + * All changes in the index and working directory are left intact + */ + GIT_STASH_KEEP_ALL = (1 << 3) +} git_stash_flags; + +/** + * Save the local modifications to a new stash. + * + * @param out Object id of the commit containing the stashed state. + * This commit is also the target of the direct reference refs/stash. + * @param repo The owning repository. + * @param stasher The identity of the person performing the stashing. + * @param message Optional description along with the stashed state. + * @param flags Flags to control the stashing process. (see GIT_STASH_* above) + * @return 0 on success, GIT_ENOTFOUND where there's nothing to stash, + * or error code. + */ +GIT_EXTERN(int) git_stash_save( + git_oid *out, + git_repository *repo, + const git_signature *stasher, + const char *message, + uint32_t flags); + +/** + * Stash save options structure + * + * Initialize with `GIT_STASH_SAVE_OPTIONS_INIT`. Alternatively, you can + * use `git_stash_save_options_init`. + * + */ +typedef struct git_stash_save_options { + unsigned int version; + + /** Flags to control the stashing process. (see GIT_STASH_* above) */ + uint32_t flags; + + /** The identity of the person performing the stashing. */ + const git_signature *stasher; + + /** Optional description along with the stashed state. */ + const char *message; + + /** Optional paths that control which files are stashed. */ + git_strarray paths; +} git_stash_save_options; + +/** Current version for the `git_stash_save_options` structure */ +#define GIT_STASH_SAVE_OPTIONS_VERSION 1 + +/** Static constructor for `git_stash_save_options` */ +#define GIT_STASH_SAVE_OPTIONS_INIT { GIT_STASH_SAVE_OPTIONS_VERSION } + +/** + * Initialize git_stash_save_options structure + * + * Initializes a `git_stash_save_options` with default values. Equivalent to + * creating an instance with `GIT_STASH_SAVE_OPTIONS_INIT`. + * + * @param opts The `git_stash_save_options` struct to initialize. + * @param version The struct version; pass `GIT_STASH_SAVE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_stash_save_options_init( + git_stash_save_options *opts, unsigned int version); + +/** + * Save the local modifications to a new stash, with options. + * + * @param out Object id of the commit containing the stashed state. + * This commit is also the target of the direct reference refs/stash. + * @param repo The owning repository. + * @param opts The stash options. + * @return 0 on success, GIT_ENOTFOUND where there's nothing to stash, + * or error code. + */ +GIT_EXTERN(int) git_stash_save_with_opts( + git_oid *out, + git_repository *repo, + const git_stash_save_options *opts); + +/** Stash application flags. */ +typedef enum { + GIT_STASH_APPLY_DEFAULT = 0, + + /* Try to reinstate not only the working tree's changes, + * but also the index's changes. + */ + GIT_STASH_APPLY_REINSTATE_INDEX = (1 << 0) +} git_stash_apply_flags; + +/** Stash apply progression states */ +typedef enum { + GIT_STASH_APPLY_PROGRESS_NONE = 0, + + /** Loading the stashed data from the object database. */ + GIT_STASH_APPLY_PROGRESS_LOADING_STASH, + + /** The stored index is being analyzed. */ + GIT_STASH_APPLY_PROGRESS_ANALYZE_INDEX, + + /** The modified files are being analyzed. */ + GIT_STASH_APPLY_PROGRESS_ANALYZE_MODIFIED, + + /** The untracked and ignored files are being analyzed. */ + GIT_STASH_APPLY_PROGRESS_ANALYZE_UNTRACKED, + + /** The untracked files are being written to disk. */ + GIT_STASH_APPLY_PROGRESS_CHECKOUT_UNTRACKED, + + /** The modified files are being written to disk. */ + GIT_STASH_APPLY_PROGRESS_CHECKOUT_MODIFIED, + + /** The stash was applied successfully. */ + GIT_STASH_APPLY_PROGRESS_DONE +} git_stash_apply_progress_t; + +/** + * Stash application progress notification function. + * Return 0 to continue processing, or a negative value to + * abort the stash application. + * + * @param progress the progress information + * @param payload the user-specified payload to the apply function + * @return 0 on success, -1 on error + */ +typedef int GIT_CALLBACK(git_stash_apply_progress_cb)( + git_stash_apply_progress_t progress, + void *payload); + +/** + * Stash application options structure + * + * Initialize with `GIT_STASH_APPLY_OPTIONS_INIT`. Alternatively, you can + * use `git_stash_apply_options_init`. + * + */ +typedef struct git_stash_apply_options { + unsigned int version; + + /** See `git_stash_apply_flags`, above. */ + uint32_t flags; + + /** Options to use when writing files to the working directory. */ + git_checkout_options checkout_options; + + /** Optional callback to notify the consumer of application progress. */ + git_stash_apply_progress_cb progress_cb; + void *progress_payload; +} git_stash_apply_options; + +/** Current version for the `git_stash_apply_options` structure */ +#define GIT_STASH_APPLY_OPTIONS_VERSION 1 + +/** Static constructor for `git_stash_apply_options` */ +#define GIT_STASH_APPLY_OPTIONS_INIT { \ + GIT_STASH_APPLY_OPTIONS_VERSION, \ + GIT_STASH_APPLY_DEFAULT, \ + GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_stash_apply_options structure + * + * Initializes a `git_stash_apply_options` with default values. Equivalent to + * creating an instance with `GIT_STASH_APPLY_OPTIONS_INIT`. + * + * @param opts The `git_stash_apply_options` struct to initialize. + * @param version The struct version; pass `GIT_STASH_APPLY_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_stash_apply_options_init( + git_stash_apply_options *opts, unsigned int version); + +/** + * Apply a single stashed state from the stash list. + * + * 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. + * + * 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. + * + * @param repo The owning repository. + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * @param options Optional options to control how stashes are applied. + * + * @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the + * given index, GIT_EMERGECONFLICT if changes exist in the working + * directory, or an error code + */ +GIT_EXTERN(int) git_stash_apply( + git_repository *repo, + size_t index, + const git_stash_apply_options *options); + +/** + * This is a callback function you can provide to iterate over all the + * stashed states that will be invoked per entry. + * + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * @param message The stash message. + * @param stash_id The commit oid of the stashed state. + * @param payload Extra parameter to callback function. + * @return 0 to continue iterating or non-zero to stop. + */ +typedef int GIT_CALLBACK(git_stash_cb)( + size_t index, + const char *message, + const git_oid *stash_id, + void *payload); + +/** + * Loop over all the stashed states and issue a callback for each one. + * + * If the callback returns a non-zero value, this will stop looping. + * + * @param repo Repository where to find the stash. + * + * @param callback Callback to invoke per found stashed state. The most + * recent stash state will be enumerated first. + * + * @param payload Extra parameter to callback function. + * + * @return 0 on success, non-zero callback return value, or error code. + */ +GIT_EXTERN(int) git_stash_foreach( + git_repository *repo, + git_stash_cb callback, + void *payload); + +/** + * Remove a single stashed state from the stash list. + * + * @param repo The owning repository. + * + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * + * @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the given + * index, or error code. + */ +GIT_EXTERN(int) git_stash_drop( + git_repository *repo, + size_t index); + +/** + * Apply a single stashed state from the stash list and remove it from the list + * if successful. + * + * @param repo The owning repository. + * @param index The position within the stash list. 0 points to the + * most recent stashed state. + * @param options Optional options to control how stashes are applied. + * + * @return 0 on success, GIT_ENOTFOUND if there's no stashed state for the given + * index, or error code. (see git_stash_apply() above for details) +*/ +GIT_EXTERN(int) git_stash_pop( + git_repository *repo, + size_t index, + const git_stash_apply_options *options); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/status.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/status.h new file mode 100644 index 00000000..e13783b6 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/status.h @@ -0,0 +1,456 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_status_h__ +#define INCLUDE_git_status_h__ + +#include "common.h" +#include "types.h" +#include "strarray.h" +#include "diff.h" + +/** + * @file git2/status.h + * @brief Status indicates how a user has changed the working directory and index + * @defgroup git_status Git file status routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Status flags for a single file. + * + * A combination of these values will be returned to indicate the status of + * a file. Status compares the working directory, the index, and the + * current HEAD of the repository. The `GIT_STATUS_INDEX` set of flags + * represents the status of file in the index relative to the HEAD, and the + * `GIT_STATUS_WT` set of flags represent the status of the file in the + * working directory relative to the index. + */ +typedef enum { + GIT_STATUS_CURRENT = 0, + + GIT_STATUS_INDEX_NEW = (1u << 0), + GIT_STATUS_INDEX_MODIFIED = (1u << 1), + GIT_STATUS_INDEX_DELETED = (1u << 2), + GIT_STATUS_INDEX_RENAMED = (1u << 3), + GIT_STATUS_INDEX_TYPECHANGE = (1u << 4), + + GIT_STATUS_WT_NEW = (1u << 7), + GIT_STATUS_WT_MODIFIED = (1u << 8), + GIT_STATUS_WT_DELETED = (1u << 9), + GIT_STATUS_WT_TYPECHANGE = (1u << 10), + GIT_STATUS_WT_RENAMED = (1u << 11), + GIT_STATUS_WT_UNREADABLE = (1u << 12), + + GIT_STATUS_IGNORED = (1u << 14), + GIT_STATUS_CONFLICTED = (1u << 15) +} git_status_t; + +/** + * Function pointer to receive status on individual files + * + * @param path is the path to the file + * @param status_flags the `git_status_t` values for file's status + * @param payload the user-specified payload to the foreach function + * @return 0 on success, or a negative number on failure + */ +typedef int GIT_CALLBACK(git_status_cb)( + const char *path, unsigned int status_flags, void *payload); + +/** + * Select the files on which to report status. + * + * With `git_status_foreach_ext`, this will control which changes get + * callbacks. With `git_status_list_new`, these will control which + * changes are included in the list. + */ +typedef enum { + /** + * The default. This roughly matches `git status --porcelain` regarding + * which files are included and in what order. + */ + GIT_STATUS_SHOW_INDEX_AND_WORKDIR = 0, + + /** + * Only gives status based on HEAD to index comparison, not looking at + * working directory changes. + */ + GIT_STATUS_SHOW_INDEX_ONLY = 1, + + /** + * Only gives status based on index to working directory comparison, + * not comparing the index to the HEAD. + */ + GIT_STATUS_SHOW_WORKDIR_ONLY = 2 +} git_status_show_t; + +/** + * Flags to control status callbacks + * + * Calling `git_status_foreach()` is like calling the extended version + * with: GIT_STATUS_OPT_INCLUDE_IGNORED, GIT_STATUS_OPT_INCLUDE_UNTRACKED, + * and GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS. Those options are bundled + * together as `GIT_STATUS_OPT_DEFAULTS` if you want them as a baseline. + */ +typedef enum { + /** + * Says that callbacks should be made on untracked files. + * These will only be made if the workdir files are included in the status + * "show" option. + */ + GIT_STATUS_OPT_INCLUDE_UNTRACKED = (1u << 0), + + /** + * Says that ignored files get callbacks. + * Again, these callbacks will only be made if the workdir files are + * included in the status "show" option. + */ + GIT_STATUS_OPT_INCLUDE_IGNORED = (1u << 1), + + /** + * Indicates that callback should be made even on unmodified files. + */ + GIT_STATUS_OPT_INCLUDE_UNMODIFIED = (1u << 2), + + /** + * Indicates that submodules should be skipped. + * This only applies if there are no pending typechanges to the submodule + * (either from or to another type). + */ + GIT_STATUS_OPT_EXCLUDE_SUBMODULES = (1u << 3), + + /** + * Indicates that all files in untracked directories should be included. + * Normally if an entire directory is new, then just the top-level + * directory is included (with a trailing slash on the entry name). + * This flag says to include all of the individual files in the directory + * instead. + */ + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS = (1u << 4), + + /** + * Indicates that the given path should be treated as a literal path, + * and not as a pathspec pattern. + */ + GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH = (1u << 5), + + /** + * Indicates that the contents of ignored directories should be included + * in the status. This is like doing `git ls-files -o -i --exclude-standard` + * with core git. + */ + GIT_STATUS_OPT_RECURSE_IGNORED_DIRS = (1u << 6), + + /** + * Indicates that rename detection should be processed between the head and + * the index and enables the GIT_STATUS_INDEX_RENAMED as a possible status + * flag. + */ + GIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX = (1u << 7), + + /** + * Indicates that rename detection should be run between the index and the + * working directory and enabled GIT_STATUS_WT_RENAMED as a possible status + * flag. + */ + GIT_STATUS_OPT_RENAMES_INDEX_TO_WORKDIR = (1u << 8), + + /** + * Overrides the native case sensitivity for the file system and forces + * the output to be in case-sensitive order. + */ + GIT_STATUS_OPT_SORT_CASE_SENSITIVELY = (1u << 9), + + /** + * Overrides the native case sensitivity for the file system and forces + * the output to be in case-insensitive order. + */ + GIT_STATUS_OPT_SORT_CASE_INSENSITIVELY = (1u << 10), + + /** + * Iindicates that rename detection should include rewritten files. + */ + GIT_STATUS_OPT_RENAMES_FROM_REWRITES = (1u << 11), + + /** + * Bypasses the default status behavior of doing a "soft" index reload + * (i.e. reloading the index data if the file on disk has been modified + * outside libgit2). + */ + GIT_STATUS_OPT_NO_REFRESH = (1u << 12), + + /** + * Tells libgit2 to refresh the stat cache in the index for files that are + * unchanged but have out of date stat einformation in the index. + * It will result in less work being done on subsequent calls to get status. + * This is mutually exclusive with the NO_REFRESH option. + */ + GIT_STATUS_OPT_UPDATE_INDEX = (1u << 13), + + /** + * Normally files that cannot be opened or read are ignored as + * these are often transient files; this option will return + * unreadable files as `GIT_STATUS_WT_UNREADABLE`. + */ + GIT_STATUS_OPT_INCLUDE_UNREADABLE = (1u << 14), + + /** + * Unreadable files will be detected and given the status + * untracked instead of unreadable. + */ + GIT_STATUS_OPT_INCLUDE_UNREADABLE_AS_UNTRACKED = (1u << 15) +} git_status_opt_t; + +/** Default `git_status_opt_t` values */ +#define GIT_STATUS_OPT_DEFAULTS \ + (GIT_STATUS_OPT_INCLUDE_IGNORED | \ + GIT_STATUS_OPT_INCLUDE_UNTRACKED | \ + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS) + +/** + * Options to control how `git_status_foreach_ext()` will issue callbacks. + * + * Initialize with `GIT_STATUS_OPTIONS_INIT`. Alternatively, you can + * use `git_status_options_init`. + * + */ +typedef struct { + /** + * The struct version; pass `GIT_STATUS_OPTIONS_VERSION`. + */ + unsigned int version; + + /** + * The `show` value is one of the `git_status_show_t` constants that + * control which files to scan and in what order. The default is + * `GIT_STATUS_SHOW_INDEX_AND_WORKDIR`. + */ + git_status_show_t show; + + /** + * The `flags` value is an OR'ed combination of the + * `git_status_opt_t` values above. The default is + * `GIT_STATUS_OPT_DEFAULTS`, which matches git's default + * behavior. + */ + unsigned int flags; + + /** + * The `pathspec` is an array of path patterns to match (using + * fnmatch-style matching), or just an array of paths to match + * exactly if `GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH` is specified + * in the flags. + */ + git_strarray pathspec; + + /** + * The `baseline` is the tree to be used for comparison to the + * working directory and index; defaults to HEAD. + */ + git_tree *baseline; + + /** + * Threshold above which similar files will be considered renames. + * This is equivalent to the -M option. Defaults to 50. + */ + uint16_t rename_threshold; +} git_status_options; + +/** Current version for the `git_status_options` structure */ +#define GIT_STATUS_OPTIONS_VERSION 1 + +/** Static constructor for `git_status_options` */ +#define GIT_STATUS_OPTIONS_INIT {GIT_STATUS_OPTIONS_VERSION} + +/** + * Initialize git_status_options structure + * + * Initializes a `git_status_options` with default values. Equivalent to + * creating an instance with `GIT_STATUS_OPTIONS_INIT`. + * + * @param opts The `git_status_options` struct to initialize. + * @param version The struct version; pass `GIT_STATUS_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_status_options_init( + git_status_options *opts, + unsigned int version); + +/** + * A status entry, providing the differences between the file as it exists + * in HEAD and the index, and providing the differences between the index + * and the working directory. + * + * The `status` value provides the status flags for this file. + * + * The `head_to_index` value provides detailed information about the + * differences between the file in HEAD and the file in the index. + * + * The `index_to_workdir` value provides detailed information about the + * differences between the file in the index and the file in the + * working directory. + */ +typedef struct { + git_status_t status; + git_diff_delta *head_to_index; + git_diff_delta *index_to_workdir; +} git_status_entry; + + +/** + * Gather file statuses and run a callback for each one. + * + * 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. + * + * If the callback returns a non-zero value, this function will stop looping + * and return that value to caller. + * + * @param repo A repository object + * @param callback The function to call on each file + * @param payload Pointer to pass through to callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_status_foreach( + git_repository *repo, + git_status_cb callback, + void *payload); + +/** + * Gather file status information and run callbacks as requested. + * + * 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. + * + * 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. + * + * @param repo Repository object + * @param opts Status options structure + * @param callback The function to call on each file + * @param payload Pointer to pass through to callback function + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_status_foreach_ext( + git_repository *repo, + const git_status_options *opts, + git_status_cb callback, + void *payload); + +/** + * Get file status for a single file. + * + * 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. + * + * 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. + * + * 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. + * + * @param status_flags Output combination of git_status_t values for file + * @param repo A repository object + * @param path The exact path to retrieve status for relative to the + * repository working directory + * @return 0 on success, GIT_ENOTFOUND if the file is not found in the HEAD, + * index, and work tree, GIT_EAMBIGUOUS if `path` matches multiple files + * or if it refers to a folder, and -1 on other errors. + */ +GIT_EXTERN(int) git_status_file( + unsigned int *status_flags, + git_repository *repo, + const char *path); + +/** + * Gather file status information and populate the `git_status_list`. + * + * 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. + * + * @param out Pointer to store the status results in + * @param repo Repository object + * @param opts Status options structure + * @return 0 on success or error code + */ +GIT_EXTERN(int) git_status_list_new( + git_status_list **out, + git_repository *repo, + const git_status_options *opts); + +/** + * Gets the count of status entries in this list. + * + * If there are no changes in status (at least according the options given + * when the status list was created), this can return 0. + * + * @param statuslist Existing status list object + * @return the number of status entries + */ +GIT_EXTERN(size_t) git_status_list_entrycount( + git_status_list *statuslist); + +/** + * Get a pointer to one of the entries in the status list. + * + * The entry is not modifiable and should not be freed. + * + * @param statuslist Existing status list object + * @param idx Position of the entry + * @return Pointer to the entry; NULL if out of bounds + */ +GIT_EXTERN(const git_status_entry *) git_status_byindex( + git_status_list *statuslist, + size_t idx); + +/** + * Free an existing status list + * + * @param statuslist Existing status list object + */ +GIT_EXTERN(void) git_status_list_free( + git_status_list *statuslist); + +/** + * Test if the ignore rules apply to a given file. + * + * 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. + * + * One way to think of this is if you were to do "git add ." on the + * directory containing the file, would it be added or not? + * + * @param ignored Boolean returning 0 if the file is not ignored, 1 if it is + * @param repo A repository object + * @param path The file to check ignores for, rooted at the repo's workdir. + * @return 0 if ignore rules could be processed for the file (regardless + * of whether it exists or not), or an error < 0 if they could not. + */ +GIT_EXTERN(int) git_status_should_ignore( + int *ignored, + git_repository *repo, + const char *path); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/stdint.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/stdint.h new file mode 100644 index 00000000..4f532e13 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/stdint.h @@ -0,0 +1,249 @@ +/* ISO C9x compliant stdint.h for Microsoft Visual Studio + * Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 + * + * Copyright (c) 2006-2008 Alexander Chemeris + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. The name of the author may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + *******************************************************************************/ + +#ifdef _MSC_VER /* [ */ + +#ifndef _MSC_STDINT_H_ /* [ */ +#define _MSC_STDINT_H_ + +#if _MSC_VER > 1000 +#pragma once +#endif + +#include + +/* For Visual Studio 6 in C++ mode and for many Visual Studio versions when + * compiling for ARM we should wrap include with 'extern "C++" {}' + * or compiler give many errors like this: + * error C2733: second C linkage of overloaded function 'wmemchr' not allowed +*/ +#ifdef __cplusplus +extern "C" { +#endif +# include +#ifdef __cplusplus +} +#endif + +/* Define _W64 macros to mark types changing their size, like intptr_t. */ +#ifndef _W64 +# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 +# define _W64 __w64 +# else +# define _W64 +# endif +#endif + + +/* 7.18.1 Integer types + * + * 7.18.1.1 Exact-width integer types + * + * Visual Studio 6 and Embedded Visual C++ 4 doesn't + * realize that, e.g. char has the same size as __int8 + * so we give up on __intX for them. + */ +#if (_MSC_VER < 1300) + typedef signed char int8_t; + typedef signed short int16_t; + typedef signed int int32_t; + typedef unsigned char uint8_t; + typedef unsigned short uint16_t; + typedef unsigned int uint32_t; +#else + typedef signed __int8 int8_t; + typedef signed __int16 int16_t; + typedef signed __int32 int32_t; + typedef unsigned __int8 uint8_t; + typedef unsigned __int16 uint16_t; + typedef unsigned __int32 uint32_t; +#endif +typedef signed __int64 int64_t; +typedef unsigned __int64 uint64_t; + + +/* 7.18.1.2 Minimum-width integer types */ +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +typedef int64_t int_least64_t; +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +typedef uint64_t uint_least64_t; + +/* 7.18.1.3 Fastest minimum-width integer types */ +typedef int8_t int_fast8_t; +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef int64_t int_fast64_t; +typedef uint8_t uint_fast8_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; +typedef uint64_t uint_fast64_t; + +/* 7.18.1.4 Integer types capable of holding object pointers */ +#ifdef _WIN64 /* [ */ + typedef signed __int64 intptr_t; + typedef unsigned __int64 uintptr_t; +#else /* _WIN64 ][ */ + typedef _W64 signed int intptr_t; + typedef _W64 unsigned int uintptr_t; +#endif /* _WIN64 ] */ + +/* 7.18.1.5 Greatest-width integer types */ +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; + + +/* 7.18.2 Limits of specified-width integer types */ + +#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) /* [ See footnote 220 at page 257 and footnote 221 at page 259 */ + +/* 7.18.2.1 Limits of exact-width integer types */ +#define INT8_MIN ((int8_t)_I8_MIN) +#define INT8_MAX _I8_MAX +#define INT16_MIN ((int16_t)_I16_MIN) +#define INT16_MAX _I16_MAX +#define INT32_MIN ((int32_t)_I32_MIN) +#define INT32_MAX _I32_MAX +#define INT64_MIN ((int64_t)_I64_MIN) +#define INT64_MAX _I64_MAX +#define UINT8_MAX _UI8_MAX +#define UINT16_MAX _UI16_MAX +#define UINT32_MAX _UI32_MAX +#define UINT64_MAX _UI64_MAX + +/* 7.18.2.2 Limits of minimum-width integer types */ +#define INT_LEAST8_MIN INT8_MIN +#define INT_LEAST8_MAX INT8_MAX +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST16_MAX INT16_MAX +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST32_MAX INT32_MAX +#define INT_LEAST64_MIN INT64_MIN +#define INT_LEAST64_MAX INT64_MAX +#define UINT_LEAST8_MAX UINT8_MAX +#define UINT_LEAST16_MAX UINT16_MAX +#define UINT_LEAST32_MAX UINT32_MAX +#define UINT_LEAST64_MAX UINT64_MAX + +/* 7.18.2.3 Limits of fastest minimum-width integer types */ +#define INT_FAST8_MIN INT8_MIN +#define INT_FAST8_MAX INT8_MAX +#define INT_FAST16_MIN INT16_MIN +#define INT_FAST16_MAX INT16_MAX +#define INT_FAST32_MIN INT32_MIN +#define INT_FAST32_MAX INT32_MAX +#define INT_FAST64_MIN INT64_MIN +#define INT_FAST64_MAX INT64_MAX +#define UINT_FAST8_MAX UINT8_MAX +#define UINT_FAST16_MAX UINT16_MAX +#define UINT_FAST32_MAX UINT32_MAX +#define UINT_FAST64_MAX UINT64_MAX + +/* 7.18.2.4 Limits of integer types capable of holding object pointers */ +#ifdef _WIN64 /* [ */ +# define INTPTR_MIN INT64_MIN +# define INTPTR_MAX INT64_MAX +# define UINTPTR_MAX UINT64_MAX +#else /* _WIN64 ][ */ +# define INTPTR_MIN INT32_MIN +# define INTPTR_MAX INT32_MAX +# define UINTPTR_MAX UINT32_MAX +#endif /* _WIN64 ] */ + +/* 7.18.2.5 Limits of greatest-width integer types */ +#define INTMAX_MIN INT64_MIN +#define INTMAX_MAX INT64_MAX +#define UINTMAX_MAX UINT64_MAX + +/* 7.18.3 Limits of other integer types */ + +#ifdef _WIN64 /* [ */ +# define PTRDIFF_MIN _I64_MIN +# define PTRDIFF_MAX _I64_MAX +#else /* _WIN64 ][ */ +# define PTRDIFF_MIN _I32_MIN +# define PTRDIFF_MAX _I32_MAX +#endif /* _WIN64 ] */ + +#define SIG_ATOMIC_MIN INT_MIN +#define SIG_ATOMIC_MAX INT_MAX + +#ifndef SIZE_MAX /* [ */ +# ifdef _WIN64 /* [ */ +# define SIZE_MAX _UI64_MAX +# else /* _WIN64 ][ */ +# define SIZE_MAX _UI32_MAX +# endif /* _WIN64 ] */ +#endif /* SIZE_MAX ] */ + +/* WCHAR_MIN and WCHAR_MAX are also defined in */ +#ifndef WCHAR_MIN /* [ */ +# define WCHAR_MIN 0 +#endif /* WCHAR_MIN ] */ +#ifndef WCHAR_MAX /* [ */ +# define WCHAR_MAX _UI16_MAX +#endif /* WCHAR_MAX ] */ + +#define WINT_MIN 0 +#define WINT_MAX _UI16_MAX + +#endif /* __STDC_LIMIT_MACROS ] */ + + +/* 7.18.4 Limits of other integer types */ + +#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) /* [ See footnote 224 at page 260 */ + +/* 7.18.4.1 Macros for minimum-width integer constants */ + +#define INT8_C(val) val##i8 +#define INT16_C(val) val##i16 +#define INT32_C(val) val##i32 +#define INT64_C(val) val##i64 + +#define UINT8_C(val) val##ui8 +#define UINT16_C(val) val##ui16 +#define UINT32_C(val) val##ui32 +#define UINT64_C(val) val##ui64 + +/* 7.18.4.2 Macros for greatest-width integer constants */ +#define INTMAX_C INT64_C +#define UINTMAX_C UINT64_C + +#endif /* __STDC_CONSTANT_MACROS ] */ + + +#endif /* _MSC_STDINT_H_ ] */ + +#endif /* _MSC_VER ] */ diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/strarray.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/strarray.h new file mode 100644 index 00000000..dcb628a1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/strarray.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_strarray_h__ +#define INCLUDE_git_strarray_h__ + +#include "common.h" + +/** + * @file git2/strarray.h + * @brief An array of strings for the user to free + * @defgroup git_strarray An array of strings for the user to free + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Array of strings */ +typedef struct git_strarray { + char **strings; + size_t count; +} git_strarray; + +/** + * Free the strings contained in a string array. This method should + * be called on `git_strarray` objects that were provided by the + * library. Not doing so, will result in a memory leak. + * + * This does not free the `git_strarray` itself, since the library will + * never allocate that object directly itself. + * + * @param array The git_strarray that contains strings to free + */ +GIT_EXTERN(void) git_strarray_dispose(git_strarray *array); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/submodule.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/submodule.h new file mode 100644 index 00000000..911b3cee --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/submodule.h @@ -0,0 +1,679 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_submodule_h__ +#define INCLUDE_git_submodule_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "remote.h" +#include "checkout.h" + +/** + * @file git2/submodule.h + * @brief Submodules place another repository's contents within this one + * + * Submodule support in libgit2 builds a list of known submodules and keeps + * it in the repository. The list is built from the .gitmodules file, the + * .git/config file, the index, and the HEAD tree. Items in the working + * directory that look like submodules (i.e. a git repo) but are not + * mentioned in those places won't be tracked. + * + * @defgroup git_submodule Git submodule management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Return codes for submodule status. + * + * A combination of these flags will be returned to describe the status of a + * submodule. Depending on the "ignore" property of the submodule, some of + * the flags may never be returned because they indicate changes that are + * supposed to be ignored. + * + * Submodule info is contained in 4 places: the HEAD tree, the index, config + * files (both .git/config and .gitmodules), and the working directory. Any + * or all of those places might be missing information about the submodule + * depending on what state the repo is in. We consider all four places to + * build the combination of status flags. + * + * There are four values that are not really status, but give basic info + * about what sources of submodule data are available. These will be + * returned even if ignore is set to "ALL". + * + * * IN_HEAD - superproject head contains submodule + * * IN_INDEX - superproject index contains submodule + * * IN_CONFIG - superproject gitmodules has submodule + * * IN_WD - superproject workdir has submodule + * + * The following values will be returned so long as ignore is not "ALL". + * + * * INDEX_ADDED - in index, not in head + * * INDEX_DELETED - in head, not in index + * * INDEX_MODIFIED - index and head don't match + * * WD_UNINITIALIZED - workdir contains empty directory + * * WD_ADDED - in workdir, not index + * * WD_DELETED - in index, not workdir + * * WD_MODIFIED - index and workdir head don't match + * + * The following can only be returned if ignore is "NONE" or "UNTRACKED". + * + * * WD_INDEX_MODIFIED - submodule workdir index is dirty + * * WD_WD_MODIFIED - submodule workdir has modified files + * + * Lastly, the following will only be returned for ignore "NONE". + * + * * WD_UNTRACKED - wd contains untracked files + */ +typedef enum { + GIT_SUBMODULE_STATUS_IN_HEAD = (1u << 0), + GIT_SUBMODULE_STATUS_IN_INDEX = (1u << 1), + GIT_SUBMODULE_STATUS_IN_CONFIG = (1u << 2), + GIT_SUBMODULE_STATUS_IN_WD = (1u << 3), + GIT_SUBMODULE_STATUS_INDEX_ADDED = (1u << 4), + GIT_SUBMODULE_STATUS_INDEX_DELETED = (1u << 5), + GIT_SUBMODULE_STATUS_INDEX_MODIFIED = (1u << 6), + GIT_SUBMODULE_STATUS_WD_UNINITIALIZED = (1u << 7), + GIT_SUBMODULE_STATUS_WD_ADDED = (1u << 8), + GIT_SUBMODULE_STATUS_WD_DELETED = (1u << 9), + GIT_SUBMODULE_STATUS_WD_MODIFIED = (1u << 10), + GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED = (1u << 11), + GIT_SUBMODULE_STATUS_WD_WD_MODIFIED = (1u << 12), + GIT_SUBMODULE_STATUS_WD_UNTRACKED = (1u << 13) +} git_submodule_status_t; + +/** Submodule source bits */ +#define GIT_SUBMODULE_STATUS__IN_FLAGS 0x000Fu +/** Submodule index status */ +#define GIT_SUBMODULE_STATUS__INDEX_FLAGS 0x0070u +/** Submodule working directory status */ +#define GIT_SUBMODULE_STATUS__WD_FLAGS 0x3F80u + +/** Whether the submodule is modified */ +#define GIT_SUBMODULE_STATUS_IS_UNMODIFIED(S) \ + (((S) & ~GIT_SUBMODULE_STATUS__IN_FLAGS) == 0) + +/** Whether the submodule is modified (in the index) */ +#define GIT_SUBMODULE_STATUS_IS_INDEX_UNMODIFIED(S) \ + (((S) & GIT_SUBMODULE_STATUS__INDEX_FLAGS) == 0) + +/** Whether the submodule is modified (in the working directory) */ +#define GIT_SUBMODULE_STATUS_IS_WD_UNMODIFIED(S) \ + (((S) & (GIT_SUBMODULE_STATUS__WD_FLAGS & \ + ~GIT_SUBMODULE_STATUS_WD_UNINITIALIZED)) == 0) + +/** Whether the submodule working directory is dirty */ +#define GIT_SUBMODULE_STATUS_IS_WD_DIRTY(S) \ + (((S) & (GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED | \ + GIT_SUBMODULE_STATUS_WD_WD_MODIFIED | \ + GIT_SUBMODULE_STATUS_WD_UNTRACKED)) != 0) + +/** + * Function pointer to receive each submodule + * + * @param sm git_submodule currently being visited + * @param name name of the submodule + * @param payload value you passed to the foreach function as payload + * @return 0 on success or error code + */ +typedef int GIT_CALLBACK(git_submodule_cb)( + git_submodule *sm, const char *name, void *payload); + +/** + * Submodule update options structure + * + * Initialize with `GIT_SUBMODULE_UPDATE_OPTIONS_INIT`. Alternatively, you can + * use `git_submodule_update_options_init`. + * + */ +typedef struct git_submodule_update_options { + unsigned int version; + + /** + * These options are passed to the checkout step. To disable + * checkout, set the `checkout_strategy` to `GIT_CHECKOUT_NONE` + * or `GIT_CHECKOUT_DRY_RUN`. + */ + git_checkout_options checkout_opts; + + /** + * Options which control the fetch, including callbacks. + * + * The callbacks to use for reporting fetch progress, and for acquiring + * credentials in the event they are needed. + */ + git_fetch_options fetch_opts; + + /** + * Allow fetching from the submodule's default remote if the target + * commit isn't found. Enabled by default. + */ + int allow_fetch; +} git_submodule_update_options; + +/** Current version for the `git_submodule_update_options` structure */ +#define GIT_SUBMODULE_UPDATE_OPTIONS_VERSION 1 + +/** Static constructor for `git_submodule_update_options` */ +#define GIT_SUBMODULE_UPDATE_OPTIONS_INIT \ + { GIT_SUBMODULE_UPDATE_OPTIONS_VERSION, \ + GIT_CHECKOUT_OPTIONS_INIT, \ + GIT_FETCH_OPTIONS_INIT, \ + 1 } + +/** + * Initialize git_submodule_update_options structure + * + * Initializes a `git_submodule_update_options` with default values. Equivalent to + * creating an instance with `GIT_SUBMODULE_UPDATE_OPTIONS_INIT`. + * + * @param opts The `git_submodule_update_options` struct to initialize. + * @param version The struct version; pass `GIT_SUBMODULE_UPDATE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_submodule_update_options_init( + git_submodule_update_options *opts, unsigned int version); + +/** + * Update a submodule. This will clone a missing submodule and + * checkout the subrepository to the commit specified in the index of + * the containing repository. If the submodule repository doesn't contain + * the target commit (e.g. because fetchRecurseSubmodules isn't set), then + * the submodule is fetched using the fetch options supplied in options. + * + * @param submodule Submodule object + * @param init If the submodule is not initialized, setting this flag to true + * will initialize the submodule before updating. Otherwise, this will + * return an error if attempting to update an uninitialized repository. + * but setting this to true forces them to be updated. + * @param options configuration options for the update. If NULL, the + * function works as though GIT_SUBMODULE_UPDATE_OPTIONS_INIT was passed. + * @return 0 on success, any non-zero return value from a callback + * function, or a negative value to indicate an error (use + * `git_error_last` for a detailed error message). + */ +GIT_EXTERN(int) git_submodule_update(git_submodule *submodule, int init, git_submodule_update_options *options); + +/** + * Lookup submodule information by name or path. + * + * Given either the submodule name or path (they are usually the same), this + * returns a structure describing the submodule. + * + * There are two expected error scenarios: + * + * - The submodule is not mentioned in the HEAD, the index, and the config, + * but does "exist" in the working directory (i.e. there is a subdirectory + * that appears to be a Git repository). In this case, this function + * returns GIT_EEXISTS to indicate a sub-repository exists but not in a + * state where a git_submodule can be instantiated. + * - The submodule is not mentioned in the HEAD, index, or config and the + * working directory doesn't contain a value git repo at that path. + * There may or may not be anything else at that path, but nothing that + * looks like a submodule. In this case, this returns GIT_ENOTFOUND. + * + * You must call `git_submodule_free` when done with the submodule. + * + * @param out Output ptr to submodule; pass NULL to just get return code + * @param repo The parent repository + * @param name The name of or path to the submodule; trailing slashes okay + * @return 0 on success, GIT_ENOTFOUND if submodule does not exist, + * GIT_EEXISTS if a repository is found in working directory only, + * -1 on other errors. + */ +GIT_EXTERN(int) git_submodule_lookup( + git_submodule **out, + git_repository *repo, + const char *name); + +/** + * Create an in-memory copy of a submodule. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the submodule. + * @param source Original submodule to copy. + * @return 0 + */ +GIT_EXTERN(int) git_submodule_dup(git_submodule **out, git_submodule *source); + +/** + * Release a submodule + * + * @param submodule Submodule object + */ +GIT_EXTERN(void) git_submodule_free(git_submodule *submodule); + +/** + * Iterate over all tracked submodules of a repository. + * + * See the note on `git_submodule` above. This iterates over the tracked + * submodules as described therein. + * + * 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. + * + * @param repo The repository + * @param callback Function to be called with the name of each submodule. + * Return a non-zero value to terminate the iteration. + * @param payload Extra data to pass to callback + * @return 0 on success, -1 on error, or non-zero return value of callback + */ +GIT_EXTERN(int) git_submodule_foreach( + git_repository *repo, + git_submodule_cb callback, + void *payload); + +/** + * Set up a new git submodule for checkout. + * + * This does "git submodule add" up to the fetch and checkout of the + * submodule contents. It preps a new submodule, creates an entry in + * .gitmodules and creates an empty initialized repository either at the + * given path in the working directory or in .git/modules with a gitlink + * from the working directory to the new repo. + * + * To fully emulate "git submodule add" call this function, then open the + * submodule repo and perform the clone step as needed (if you don't need + * anything custom see `git_submodule_add_clone()`). Lastly, call + * `git_submodule_add_finalize()` to wrap up adding the new submodule and + * .gitmodules to the index to be ready to commit. + * + * You must call `git_submodule_free` on the submodule object when done. + * + * @param out The newly created submodule ready to open for clone + * @param repo The repository in which you want to create the submodule + * @param url URL for the submodule's remote + * @param path Path at which the submodule should be created + * @param use_gitlink Should workdir contain a gitlink to the repo in + * .git/modules vs. repo directly in workdir. + * @return 0 on success, GIT_EEXISTS if submodule already exists, + * -1 on other errors. + */ +GIT_EXTERN(int) git_submodule_add_setup( + git_submodule **out, + git_repository *repo, + const char *url, + const char *path, + int use_gitlink); + +/** + * Perform the clone step for a newly created submodule. + * + * This performs the necessary `git_clone` to setup a newly-created submodule. + * + * @param out The newly created repository object. Optional. + * @param submodule The submodule currently waiting for its clone. + * @param opts The options to use. + * + * @return 0 on success, -1 on other errors (see git_clone). + */ +GIT_EXTERN(int) git_submodule_clone( + git_repository **out, + git_submodule *submodule, + const git_submodule_update_options *opts); + +/** + * Resolve the setup of a new git submodule. + * + * This should be called on a submodule once you have called add setup + * and done the clone of the submodule. This adds the .gitmodules file + * and the newly cloned submodule to the index to be ready to be committed + * (but doesn't actually do the commit). + * + * @param submodule The submodule to finish adding. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_submodule_add_finalize(git_submodule *submodule); + +/** + * Add current submodule HEAD commit to index of superproject. + * + * @param submodule The submodule to add to the index + * @param write_index Boolean if this should immediately write the index + * file. If you pass this as false, you will have to get the + * git_index and explicitly call `git_index_write()` on it to + * save the change. + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_submodule_add_to_index( + git_submodule *submodule, + int write_index); + +/** + * Get the containing repository for a submodule. + * + * This returns a pointer to the repository that contains the submodule. + * This is a just a reference to the repository that was passed to the + * original `git_submodule_lookup()` call, so if that repository has been + * freed, then this may be a dangling reference. + * + * @param submodule Pointer to submodule object + * @return Pointer to `git_repository` + */ +GIT_EXTERN(git_repository *) git_submodule_owner(git_submodule *submodule); + +/** + * Get the name of submodule. + * + * @param submodule Pointer to submodule object + * @return Pointer to the submodule name + */ +GIT_EXTERN(const char *) git_submodule_name(git_submodule *submodule); + +/** + * Get the path to the submodule. + * + * The path is almost always the same as the submodule name, but the + * two are actually not required to match. + * + * @param submodule Pointer to submodule object + * @return Pointer to the submodule path + */ +GIT_EXTERN(const char *) git_submodule_path(git_submodule *submodule); + +/** + * Get the URL for the submodule. + * + * @param submodule Pointer to submodule object + * @return Pointer to the submodule url + */ +GIT_EXTERN(const char *) git_submodule_url(git_submodule *submodule); + +/** + * Resolve a submodule url relative to the given repository. + * + * @param out buffer to store the absolute submodule url in + * @param repo Pointer to repository object + * @param url Relative url + * @return 0 or an error code + */ +GIT_EXTERN(int) git_submodule_resolve_url(git_buf *out, git_repository *repo, const char *url); + +/** +* Get the branch for the submodule. +* +* @param submodule Pointer to submodule object +* @return Pointer to the submodule branch +*/ +GIT_EXTERN(const char *) git_submodule_branch(git_submodule *submodule); + +/** + * Set the branch for the submodule in the configuration + * + * After calling this, you may wish to call `git_submodule_sync()` to + * write the changes to the checked out submodule repository. + * + * @param repo the repository to affect + * @param name the name of the submodule to configure + * @param branch Branch that should be used for the submodule + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_submodule_set_branch(git_repository *repo, const char *name, const char *branch); + +/** + * Set the URL for the submodule in the configuration + * + * + * After calling this, you may wish to call `git_submodule_sync()` to + * write the changes to the checked out submodule repository. + * + * @param repo the repository to affect + * @param name the name of the submodule to configure + * @param url URL that should be used for the submodule + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_submodule_set_url(git_repository *repo, const char *name, const char *url); + +/** + * Get the OID for the submodule in the index. + * + * @param submodule Pointer to submodule object + * @return Pointer to git_oid or NULL if submodule is not in index. + */ +GIT_EXTERN(const git_oid *) git_submodule_index_id(git_submodule *submodule); + +/** + * Get the OID for the submodule in the current HEAD tree. + * + * @param submodule Pointer to submodule object + * @return Pointer to git_oid or NULL if submodule is not in the HEAD. + */ +GIT_EXTERN(const git_oid *) git_submodule_head_id(git_submodule *submodule); + +/** + * Get the OID for the submodule in the current working directory. + * + * This returns the OID that corresponds to looking up 'HEAD' in the checked + * out submodule. If there are pending changes in the index or anything + * else, this won't notice that. You should call `git_submodule_status()` + * for a more complete picture about the state of the working directory. + * + * @param submodule Pointer to submodule object + * @return Pointer to git_oid or NULL if submodule is not checked out. + */ +GIT_EXTERN(const git_oid *) git_submodule_wd_id(git_submodule *submodule); + +/** + * Get the ignore rule that will be used for the submodule. + * + * These values control the behavior of `git_submodule_status()` for this + * submodule. There are four ignore values: + * + * - **GIT_SUBMODULE_IGNORE_NONE** will consider any change to the contents + * of the submodule from a clean checkout to be dirty, including the + * addition of untracked files. This is the default if unspecified. + * - **GIT_SUBMODULE_IGNORE_UNTRACKED** examines the contents of the + * working tree (i.e. call `git_status_foreach()` on the submodule) but + * UNTRACKED files will not count as making the submodule dirty. + * - **GIT_SUBMODULE_IGNORE_DIRTY** means to only check if the HEAD of the + * submodule has moved for status. This is fast since it does not need to + * scan the working tree of the submodule at all. + * - **GIT_SUBMODULE_IGNORE_ALL** means not to open the submodule repo. + * The working directory will be consider clean so long as there is a + * checked out version present. + * + * @param submodule The submodule to check + * @return The current git_submodule_ignore_t valyue what will be used for + * this submodule. + */ +GIT_EXTERN(git_submodule_ignore_t) git_submodule_ignore( + git_submodule *submodule); + +/** + * Set the ignore rule for the submodule in the configuration + * + * This does not affect any currently-loaded instances. + * + * @param repo the repository to affect + * @param name the name of the submdule + * @param ignore The new value for the ignore rule + * @return 0 or an error code + */ +GIT_EXTERN(int) git_submodule_set_ignore( + git_repository *repo, + const char *name, + git_submodule_ignore_t ignore); + +/** + * Get the update rule that will be used for the submodule. + * + * This value controls the behavior of the `git submodule update` command. + * There are four useful values documented with `git_submodule_update_t`. + * + * @param submodule The submodule to check + * @return The current git_submodule_update_t value that will be used + * for this submodule. + */ +GIT_EXTERN(git_submodule_update_t) git_submodule_update_strategy( + git_submodule *submodule); + +/** + * Set the update rule for the submodule in the configuration + * + * This setting won't affect any existing instances. + * + * @param repo the repository to affect + * @param name the name of the submodule to configure + * @param update The new value to use + * @return 0 or an error code + */ +GIT_EXTERN(int) git_submodule_set_update( + git_repository *repo, + const char *name, + git_submodule_update_t update); + +/** + * Read the fetchRecurseSubmodules rule for a submodule. + * + * This accesses the submodule..fetchRecurseSubmodules value for + * the submodule that controls fetching behavior for the submodule. + * + * Note that at this time, libgit2 does not honor this setting and the + * fetch functionality current ignores submodules. + * + * @param submodule the submodule to examine + * @return the submodule recursion configuration + */ +GIT_EXTERN(git_submodule_recurse_t) git_submodule_fetch_recurse_submodules( + git_submodule *submodule); + +/** + * Set the fetchRecurseSubmodules rule for a submodule in the configuration + * + * This setting won't affect any existing instances. + * + * @param repo the repository to affect + * @param name the submodule to configure + * @param fetch_recurse_submodules the submodule recursion configuration + * @return old value for fetchRecurseSubmodules + */ +GIT_EXTERN(int) git_submodule_set_fetch_recurse_submodules( + git_repository *repo, + const char *name, + git_submodule_recurse_t fetch_recurse_submodules); + +/** + * Copy submodule info into ".git/config" file. + * + * Just like "git submodule init", this copies information about the + * submodule into ".git/config". You can use the accessor functions + * above to alter the in-memory git_submodule object and control what + * is written to the config, overriding what is in .gitmodules. + * + * @param submodule The submodule to write into the superproject config + * @param overwrite By default, existing entries will not be overwritten, + * but setting this to true forces them to be updated. + * @return 0 on success, <0 on failure. + */ +GIT_EXTERN(int) git_submodule_init(git_submodule *submodule, int overwrite); + +/** + * Set up the subrepository for a submodule in preparation for clone. + * + * This function can be called to init and set up a submodule + * repository from a submodule in preparation to clone it from + * its remote. + * + * @param out Output pointer to the created git repository. + * @param sm The submodule to create a new subrepository from. + * @param use_gitlink Should the workdir contain a gitlink to + * the repo in .git/modules vs. repo directly in workdir. + * @return 0 on success, <0 on failure. + */ +GIT_EXTERN(int) git_submodule_repo_init( + git_repository **out, + const git_submodule *sm, + int use_gitlink); + +/** + * Copy submodule remote info into submodule repo. + * + * This copies the information about the submodules URL into the checked out + * submodule config, acting like "git submodule sync". This is useful if + * you have altered the URL for the submodule (or it has been altered by a + * fetch of upstream changes) and you need to update your local repo. + * + * @param submodule The submodule to copy. + * @return 0 or an error code. + */ +GIT_EXTERN(int) git_submodule_sync(git_submodule *submodule); + +/** + * Open the repository for a submodule. + * + * This is a newly opened repository object. The caller is responsible for + * calling `git_repository_free()` on it when done. Multiple calls to this + * function will return distinct `git_repository` objects. This will only + * work if the submodule is checked out into the working directory. + * + * @param repo Pointer to the submodule repo which was opened + * @param submodule Submodule to be opened + * @return 0 on success, <0 if submodule repo could not be opened. + */ +GIT_EXTERN(int) git_submodule_open( + git_repository **repo, + git_submodule *submodule); + +/** + * Reread submodule info from config, index, and HEAD. + * + * Call this to reread cached submodule information for this submodule if + * you have reason to believe that it has changed. + * + * @param submodule The submodule to reload + * @param force Force reload even if the data doesn't seem out of date + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_submodule_reload(git_submodule *submodule, int force); + +/** + * Get the status for a submodule. + * + * 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. + * + * @param status Combination of `GIT_SUBMODULE_STATUS` flags + * @param repo the repository in which to look + * @param name name of the submodule + * @param ignore the ignore rules to follow + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_submodule_status( + unsigned int *status, + git_repository *repo, + const char *name, + git_submodule_ignore_t ignore); + +/** + * Get the locations of submodule information. + * + * This is a bit like a very lightweight version of `git_submodule_status`. + * It just returns a made of the first four submodule status values (i.e. + * the ones like GIT_SUBMODULE_STATUS_IN_HEAD, etc) that tell you where the + * submodule data comes from (i.e. the HEAD commit, gitmodules file, etc.). + * This can be useful if you want to know if the submodule is present in the + * working directory at this point in time, etc. + * + * @param location_status Combination of first four `GIT_SUBMODULE_STATUS` flags + * @param submodule Submodule for which to get status + * @return 0 on success, <0 on error + */ +GIT_EXTERN(int) git_submodule_location( + unsigned int *location_status, + git_submodule *submodule); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/alloc.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/alloc.h new file mode 100644 index 00000000..67506f2b --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/alloc.h @@ -0,0 +1,79 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_alloc_h__ +#define INCLUDE_sys_git_alloc_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/alloc.h + * @brief Custom memory allocators + * @defgroup git_merge Git merge routines + * @ingroup Git + * + * Users can configure custom allocators; this is particularly + * interesting when running in constrained environments, when calling + * from another language, or during testing. + * @{ + */ +GIT_BEGIN_DECL + +/** + * An instance for a custom memory allocator + * + * Setting the pointers of this structure allows the developer to implement + * custom memory allocators. The global memory allocator can be set by using + * "GIT_OPT_SET_ALLOCATOR" with the `git_libgit2_opts` function. Keep in mind + * that all fields need to be set to a proper function. + */ +typedef struct { + /** Allocate `n` bytes of memory */ + void * GIT_CALLBACK(gmalloc)(size_t n, const char *file, int line); + + /** + * This function shall deallocate the old object `ptr` and return a + * pointer to a new object that has the size specified by `size`. In + * case `ptr` is `NULL`, a new array shall be allocated. + */ + void * GIT_CALLBACK(grealloc)(void *ptr, size_t size, const char *file, int line); + + /** + * This function shall free the memory pointed to by `ptr`. In case + * `ptr` is `NULL`, this shall be a no-op. + */ + void GIT_CALLBACK(gfree)(void *ptr); +} git_allocator; + +/** + * Initialize the allocator structure to use the `stdalloc` pointer. + * + * Set up the structure so that all of its members are using the standard + * "stdalloc" allocator functions. The structure can then be used with + * `git_allocator_setup`. + * + * @param allocator The allocator that is to be initialized. + * @return An error code or 0. + */ +int git_stdalloc_init_allocator(git_allocator *allocator); + +/** + * Initialize the allocator structure to use the `crtdbg` pointer. + * + * Set up the structure so that all of its members are using the "crtdbg" + * allocator functions. Note that this allocator is only available on Windows + * platforms and only if libgit2 is being compiled with "-DMSVC_CRTDBG". + * + * @param allocator The allocator that is to be initialized. + * @return An error code or 0. + */ +int git_win32_crtdbg_init_allocator(git_allocator *allocator); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/commit.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/commit.h new file mode 100644 index 00000000..a8253c06 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/commit.h @@ -0,0 +1,154 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_commit_h__ +#define INCLUDE_sys_git_commit_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/commit.h + * @brief Low-level Git commit creation + * @defgroup git_commit Low-level Git commit creation + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create new commit in the repository from a list of `git_oid` values. + * + * See documentation for `git_commit_create()` for information about the + * parameters, as the meaning is identical excepting that `tree` and + * `parents` now take `git_oid`. This is a dangerous API in that nor + * the `tree`, neither the `parents` list of `git_oid`s are checked for + * validity. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_count Number of parents for this commit + * + * @param parents Array of `parent_count` pointers to `git_commit` + * objects that will be used as the parents for this commit. This + * array may be NULL if `parent_count` is 0 (root commit). All the + * given commits must be owned by the `repo`. + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create_from_ids( + 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_oid *tree, + size_t parent_count, + const git_oid *parents[]); + +/** + * Callback function to return parents for commit. + * + * This is invoked with the count of the number of parents processed so far + * along with the user supplied payload. This should return a git_oid of + * the next parent or NULL if all parents have been provided. + * + * @param idx the index of the parent + * @param payload the user-specified payload + * @return the object id of the parent, or NULL if there are no further parents + */ +typedef const git_oid * GIT_CALLBACK(git_commit_parent_callback)(size_t idx, void *payload); + +/** + * Create a new commit in the repository with an callback to supply parents. + * + * See documentation for `git_commit_create()` for information about the + * parameters, as the meaning is identical excepting that `tree` takes a + * `git_oid` and doesn't check for validity, and `parent_cb` is invoked + * with `parent_payload` and should return `git_oid` values or NULL to + * indicate that all parents are accounted for. + * + * @param id Pointer in which to store the OID of the newly created commit + * + * @param repo Repository where to store the commit + * + * @param update_ref If not NULL, name of the reference that + * will be updated to point to this commit. If the reference + * is not direct, it will be resolved to a direct reference. + * Use "HEAD" to update the HEAD of the current branch and + * make it point to this commit. If the reference doesn't + * exist yet, it will be created. If it does exist, the first + * parent must be the tip of this branch. + * + * @param author Signature with author and author time of commit + * + * @param committer Signature with committer and * commit time of commit + * + * @param message_encoding The encoding for the message in the + * commit, represented with a standard encoding name. + * E.g. "UTF-8". If NULL, no encoding header is written and + * UTF-8 is assumed. + * + * @param message Full message for this commit + * + * @param tree An instance of a `git_tree` object that will + * be used as the tree for the commit. This tree object must + * also be owned by the given `repo`. + * + * @param parent_cb Callback to invoke to obtain parent information + * + * @param parent_payload User-specified payload to provide to the callback + * + * @return 0 or an error code + * The created commit will be written to the Object Database and + * the given reference will be updated to point to it + */ +GIT_EXTERN(int) git_commit_create_from_callback( + 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_oid *tree, + git_commit_parent_callback parent_cb, + void *parent_payload); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/commit_graph.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/commit_graph.h new file mode 100644 index 00000000..ff547ef0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/commit_graph.h @@ -0,0 +1,225 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_commit_graph_h__ +#define INCLUDE_sys_git_commit_graph_h__ + +#include "git2/common.h" +#include "git2/types.h" + +/** + * @file git2/sys/commit_graph.h + * @brief Commit graphs store information about commit relationships + * @defgroup git_commit_graph Commit graphs + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options structure for `git_commit_graph_open_new`. + * + * Initialize with `GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT`. Alternatively, + * you can use `git_commit_graph_open_options_init`. + */ +typedef struct { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** The object ID type that this commit graph contains. */ + git_oid_t oid_type; +#endif +} git_commit_graph_open_options; + +/** Current version for the `git_commit_graph_open_options` structure */ +#define GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION 1 + +/** Static constructor for `git_commit_graph_open_options` */ +#define GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT { \ + GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION \ + } + +/** + * Initialize git_commit_graph_open_options structure + * + * Initializes a `git_commit_graph_open_options` with default values. + * Equivalent to creating an instance with + * `GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT`. + * + * @param opts The `git_commit_graph_open_options` struct to initialize. + * @param version The struct version; pass `GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_commit_graph_open_options_init( + git_commit_graph_open_options *opts, + unsigned int version); + + +/** + * Opens a `git_commit_graph` from a path to an objects directory. + * + * This finds, opens, and validates the `commit-graph` file. + * + * @param cgraph_out the `git_commit_graph` struct to initialize. + * @param objects_dir the path to a git objects directory. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_commit_graph_open( + git_commit_graph **cgraph_out, + const char *objects_dir +#ifdef GIT_EXPERIMENTAL_SHA256 + , const git_commit_graph_open_options *options +#endif + ); + +/** + * Frees commit-graph data. This should only be called when memory allocated + * using `git_commit_graph_open` is not returned to libgit2 because it was not + * associated with the ODB through a successful call to + * `git_odb_set_commit_graph`. + * + * @param cgraph the commit-graph object to free. If NULL, no action is taken. + */ +GIT_EXTERN(void) git_commit_graph_free(git_commit_graph *cgraph); + + +/** + * The strategy to use when adding a new set of commits to a pre-existing + * commit-graph chain. + */ +typedef enum { + /** + * Do not split commit-graph files. The other split strategy-related option + * fields are ignored. + */ + GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0 +} git_commit_graph_split_strategy_t; + +/** + * Options structure for `git_commit_graph_writer_new`. + * + * Initialize with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. Alternatively, + * you can use `git_commit_graph_writer_options_init`. + */ +typedef struct { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** The object ID type that this commit graph contains. */ + git_oid_t oid_type; +#endif + + /** + * The strategy to use when adding new commits to a pre-existing commit-graph + * chain. + */ + git_commit_graph_split_strategy_t split_strategy; + + /** + * The number of commits in level N is less than X times the number of + * commits in level N + 1. Default is 2. + */ + float size_multiple; + + /** + * The number of commits in level N + 1 is more than C commits. + * Default is 64000. + */ + size_t max_commits; +} git_commit_graph_writer_options; + +/** Current version for the `git_commit_graph_writer_options` structure */ +#define GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION 1 + +/** Static constructor for `git_commit_graph_writer_options` */ +#define GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT { \ + GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION \ + } + +/** + * Initialize git_commit_graph_writer_options structure + * + * Initializes a `git_commit_graph_writer_options` with default values. Equivalent to + * creating an instance with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. + * + * @param opts The `git_commit_graph_writer_options` struct to initialize. + * @param version The struct version; pass `GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_commit_graph_writer_options_init( + git_commit_graph_writer_options *opts, + unsigned int version); + +/** + * Create a new writer for `commit-graph` files. + * + * @param out Location to store the writer pointer. + * @param objects_info_dir The `objects/info` directory. + * The `commit-graph` file will be written in this directory. + * @param options The options for the commit graph writer. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_new( + git_commit_graph_writer **out, + const char *objects_info_dir, + const git_commit_graph_writer_options *options); + +/** + * Free the commit-graph writer and its resources. + * + * @param w The writer to free. If NULL no action is taken. + */ +GIT_EXTERN(void) git_commit_graph_writer_free(git_commit_graph_writer *w); + +/** + * Add an `.idx` file (associated to a packfile) to the writer. + * + * @param w The writer. + * @param repo The repository that owns the `.idx` file. + * @param idx_path The path of an `.idx` file. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_add_index_file( + git_commit_graph_writer *w, + git_repository *repo, + const char *idx_path); + +/** + * Add a revwalk to the writer. This will add all the commits from the revwalk + * to the commit-graph. + * + * @param w The writer. + * @param walk The git_revwalk. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_add_revwalk( + git_commit_graph_writer *w, + git_revwalk *walk); + +/** + * Write a `commit-graph` file to a file. + * + * @param w The writer + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_commit( + git_commit_graph_writer *w); + +/** + * Dump the contents of the `commit-graph` to an in-memory buffer. + * + * @param[out] buffer Buffer where to store the contents of the `commit-graph`. + * @param w The writer. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_commit_graph_writer_dump( + git_buf *buffer, + git_commit_graph_writer *w); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/config.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/config.h new file mode 100644 index 00000000..cc4a3991 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/config.h @@ -0,0 +1,206 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_config_backend_h__ +#define INCLUDE_sys_git_config_backend_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/config.h" + +/** + * @file git2/sys/config.h + * @brief Custom configuration database backends + * @defgroup git_backend Custom configuration database backends + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * An entry in a configuration backend. This is provided so that + * backend implementors can have a mechanism to free their data. + */ +typedef struct git_config_backend_entry { + /** The base configuration entry */ + struct git_config_entry entry; + + /** + * Free function for this entry; for internal purposes. Callers + * should call `git_config_entry_free` to free data. + */ + void GIT_CALLBACK(free)(struct git_config_backend_entry *entry); +} git_config_backend_entry; + +/** + * Every iterator must have this struct as its first element, so the + * API can talk to it. You'd define your iterator as + * + * struct my_iterator { + * git_config_iterator parent; + * ... + * } + * + * and assign `iter->parent.backend` to your `git_config_backend`. + */ +struct git_config_iterator { + git_config_backend *backend; + unsigned int flags; + + /** + * Return the current entry and advance the iterator. The + * memory belongs to the library. + */ + int GIT_CALLBACK(next)(git_config_backend_entry **entry, git_config_iterator *iter); + + /** + * Free the iterator + */ + void GIT_CALLBACK(free)(git_config_iterator *iter); +}; + +/** + * Generic backend that implements the interface to + * access a configuration file + */ +struct git_config_backend { + unsigned int version; + /** True if this backend is for a snapshot */ + int readonly; + struct git_config *cfg; + + /* Open means open the file/database and parse if necessary */ + int GIT_CALLBACK(open)(struct git_config_backend *, git_config_level_t level, const git_repository *repo); + int GIT_CALLBACK(get)(struct git_config_backend *, const char *key, git_config_backend_entry **entry); + int GIT_CALLBACK(set)(struct git_config_backend *, const char *key, const char *value); + int GIT_CALLBACK(set_multivar)(git_config_backend *cfg, const char *name, const char *regexp, const char *value); + int GIT_CALLBACK(del)(struct git_config_backend *, const char *key); + int GIT_CALLBACK(del_multivar)(struct git_config_backend *, const char *key, const char *regexp); + int GIT_CALLBACK(iterator)(git_config_iterator **, struct git_config_backend *); + /** Produce a read-only version of this backend */ + int GIT_CALLBACK(snapshot)(struct git_config_backend **, struct git_config_backend *); + /** + * Lock this backend. + * + * Prevent any writes to the data store backing this + * backend. Any updates must not be visible to any other + * readers. + */ + int GIT_CALLBACK(lock)(struct git_config_backend *); + /** + * Unlock the data store backing this backend. If success is + * true, the changes should be committed, otherwise rolled + * back. + */ + int GIT_CALLBACK(unlock)(struct git_config_backend *, int success); + void GIT_CALLBACK(free)(struct git_config_backend *); +}; + +/** Current version for the `git_config_backend_options` structure */ +#define GIT_CONFIG_BACKEND_VERSION 1 + +/** Static constructor for `git_config_backend_options` */ +#define GIT_CONFIG_BACKEND_INIT {GIT_CONFIG_BACKEND_VERSION} + +/** + * Initializes a `git_config_backend` with default values. Equivalent to + * creating an instance with GIT_CONFIG_BACKEND_INIT. + * + * @param backend the `git_config_backend` struct to initialize. + * @param version Version of struct; pass `GIT_CONFIG_BACKEND_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_config_init_backend( + git_config_backend *backend, + unsigned int version); + +/** + * Add a generic config file instance to an existing config + * + * Note that the configuration object will free the file + * automatically. + * + * Further queries on this config object will access each + * of the config file instances in order (instances with + * a higher priority level will be accessed first). + * + * @param cfg the configuration to add the file to + * @param file the configuration file (backend) to add + * @param level the priority level of the backend + * @param repo optional repository to allow parsing of + * conditional includes + * @param force if a config file already exists for the given + * priority level, replace it + * @return 0 on success, GIT_EEXISTS when adding more than one file + * for a given priority level (and force_replace set to 0), or error code + */ +GIT_EXTERN(int) git_config_add_backend( + git_config *cfg, + git_config_backend *file, + git_config_level_t level, + const git_repository *repo, + int force); + +/** Options for in-memory configuration backends. */ +typedef struct { + unsigned int version; + + /** + * The type of this backend (eg, "command line"). If this is + * NULL, then this will be "in-memory". + */ + const char *backend_type; + + /** + * The path to the origin; if this is NULL then it will be + * left unset in the resulting configuration entries. + */ + const char *origin_path; +} git_config_backend_memory_options; + +/** Current version for the `git_config_backend_memory_options` structure */ +#define GIT_CONFIG_BACKEND_MEMORY_OPTIONS_VERSION 1 + +/** Static constructor for `git_config_backend_memory_options` */ +#define GIT_CONFIG_BACKEND_MEMORY_OPTIONS_INIT { GIT_CONFIG_BACKEND_MEMORY_OPTIONS_VERSION } + + +/** + * Create an in-memory configuration backend from a string in standard + * git configuration file format. + * + * @param out the new backend + * @param cfg the configuration that is to be parsed + * @param len the length of the string pointed to by `cfg` + * @param opts the options to initialize this backend with, or NULL + * @return 0 on success or an error code + */ +extern int git_config_backend_from_string( + git_config_backend **out, + const char *cfg, + size_t len, + git_config_backend_memory_options *opts); + +/** + * Create an in-memory configuration backend from a list of name/value + * pairs. + * + * @param out the new backend + * @param values the configuration values to set (in "key=value" format) + * @param len the length of the values array + * @param opts the options to initialize this backend with, or NULL + * @return 0 on success or an error code + */ +extern int git_config_backend_from_values( + git_config_backend **out, + const char **values, + size_t len, + git_config_backend_memory_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/cred.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/cred.h new file mode 100644 index 00000000..4d2a59af --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/cred.h @@ -0,0 +1,15 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_cred_h__ +#define INCLUDE_sys_git_cred_h__ + +/* These declarations have moved. */ +#ifndef GIT_DEPRECATE_HARD +# include "git2/sys/credential.h" +#endif + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/credential.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/credential.h new file mode 100644 index 00000000..0d573a32 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/credential.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_credential_h__ +#define INCLUDE_sys_git_credential_h__ + +#include "git2/common.h" +#include "git2/credential.h" + +/** + * @file git2/sys/credential.h + * @brief Low-level credentials implementation + * @defgroup git_credential Low-level credentials implementation + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The base structure for all credential types + */ +struct git_credential { + git_credential_t credtype; /**< A type of credential */ + + /** The deallocator for this type of credentials */ + void GIT_CALLBACK(free)(git_credential *cred); +}; + +/** A plaintext username and password */ +struct git_credential_userpass_plaintext { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + char *password; /**< The password to use */ +}; + +/** Username-only credential information */ +struct git_credential_username { + git_credential parent; /**< The parent credential */ + char username[1]; /**< The username to authenticate as */ +}; + +/** + * A ssh key from disk + */ +struct git_credential_ssh_key { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + char *publickey; /**< The path to a public key */ + char *privatekey; /**< The path to a private key */ + char *passphrase; /**< Passphrase to decrypt the private key */ +}; + +/** + * Keyboard-interactive based ssh authentication + */ +struct git_credential_ssh_interactive { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + + /** + * Callback used for authentication. + */ + git_credential_ssh_interactive_cb prompt_callback; + + void *payload; /**< Payload passed to prompt_callback */ +}; + +/** + * A key with a custom signature function + */ +struct git_credential_ssh_custom { + git_credential parent; /**< The parent credential */ + char *username; /**< The username to authenticate as */ + char *publickey; /**< The public key data */ + size_t publickey_len; /**< Length of the public key */ + + /** + * Callback used to sign the data. + */ + git_credential_sign_cb sign_callback; + + void *payload; /**< Payload passed to prompt_callback */ +}; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/diff.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/diff.h new file mode 100644 index 00000000..a398f549 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/diff.h @@ -0,0 +1,114 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_diff_h__ +#define INCLUDE_sys_git_diff_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" +#include "git2/diff.h" +#include "git2/status.h" + +/** + * @file git2/sys/diff.h + * @brief Low-level diff utilities + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Diff print callback that writes to a git_buf. + * + * This function is provided not for you to call it directly, but instead + * so you can use it as a function pointer to the `git_diff_print` or + * `git_patch_print` APIs. When using those APIs, you specify a callback + * to actually handle the diff and/or patch data. + * + * Use this callback to easily write that data to a `git_buf` buffer. You + * must pass a `git_buf *` value as the payload to the `git_diff_print` + * and/or `git_patch_print` function. The data will be appended to the + * buffer (after any existing content). + * + * @param delta the delta being processed + * @param hunk the hunk being processed + * @param line the line being processed + * @param payload the payload provided by the diff generator + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_diff_print_callback__to_buf( + const git_diff_delta *delta, + const git_diff_hunk *hunk, + const git_diff_line *line, + void *payload); /**< payload must be a `git_buf *` */ + +/** + * Diff print callback that writes to stdio FILE handle. + * + * This function is provided not for you to call it directly, but instead + * so you can use it as a function pointer to the `git_diff_print` or + * `git_patch_print` APIs. When using those APIs, you specify a callback + * to actually handle the diff and/or patch data. + * + * Use this callback to easily write that data to a stdio FILE handle. You + * must pass a `FILE *` value (such as `stdout` or `stderr` or the return + * value from `fopen()`) as the payload to the `git_diff_print` + * and/or `git_patch_print` function. If you pass NULL, this will write + * data to `stdout`. + * + * @param delta the delta being processed + * @param hunk the hunk being processed + * @param line the line being processed + * @param payload the payload provided by the diff generator + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_diff_print_callback__to_file_handle( + const git_diff_delta *delta, + const git_diff_hunk *hunk, + const git_diff_line *line, + void *payload); /**< payload must be a `FILE *` */ + + +/** + * Performance data from diffing + */ +typedef struct { + unsigned int version; + size_t stat_calls; /**< Number of stat() calls performed */ + size_t oid_calculations; /**< Number of ID calculations */ +} git_diff_perfdata; + +/** Current version for the `git_diff_perfdata_options` structure */ +#define GIT_DIFF_PERFDATA_VERSION 1 + +/** Static constructor for `git_diff_perfdata_options` */ +#define GIT_DIFF_PERFDATA_INIT {GIT_DIFF_PERFDATA_VERSION,0,0} + +/** + * Get performance data for a diff object. + * + * @param out Structure to be filled with diff performance data + * @param diff Diff to read performance data from + * @return 0 for success, <0 for error + */ +GIT_EXTERN(int) git_diff_get_perfdata( + git_diff_perfdata *out, const git_diff *diff); + +/** + * Get performance data for diffs from a git_status_list + * + * @param out Structure to be filled with diff performance data + * @param status Diff to read performance data from + * @return 0 for success, <0 for error + */ +GIT_EXTERN(int) git_status_list_get_perfdata( + git_diff_perfdata *out, const git_status_list *status); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/email.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/email.h new file mode 100644 index 00000000..26e792ab --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/email.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_email_h__ +#define INCLUDE_sys_git_email_h__ + +#include "git2/common.h" +#include "git2/diff.h" +#include "git2/email.h" +#include "git2/types.h" + +/** + * @file git2/sys/email.h + * @brief Advanced git email creation routines + * @defgroup git_email Advanced git email creation routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a diff for a commit in mbox format for sending via email. + * + * @param out buffer to store the e-mail patch in + * @param diff the changes to include in the email + * @param patch_idx the patch index + * @param patch_count the total number of patches that will be included + * @param commit_id the commit id for this change + * @param summary the commit message for this change + * @param body optional text to include above the diffstat + * @param author the person who authored this commit + * @param opts email creation options + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_email_create_from_diff( + 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); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/errors.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/errors.h new file mode 100644 index 00000000..44e8ecba --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/errors.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_errors_h__ +#define INCLUDE_sys_git_errors_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/errors.h + * @brief Advanced error handling + * @ingroup Git + * + * Error handling for advanced consumers; those who use callbacks + * or those who create custom databases. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Clear the last library error that occurred for this thread. + */ +GIT_EXTERN(void) git_error_clear(void); + +/** + * Set the error message string for this thread, using `printf`-style + * formatting. + * + * This function is public so that custom ODB backends and the like can + * relay an error message through libgit2. Most regular users of libgit2 + * will never need to call this function -- actually, calling it in most + * circumstances (for example, calling from within a callback function) + * will just end up having the value overwritten by libgit2 internals. + * + * This error message is stored in thread-local storage and only applies + * to the particular thread that this libgit2 call is made from. + * + * @param error_class One of the `git_error_t` enum above describing the + * general subsystem that is responsible for the error. + * @param fmt The `printf`-style format string; subsequent arguments must + * be the arguments for the format string. + */ +GIT_EXTERN(void) git_error_set(int error_class, const char *fmt, ...) + GIT_FORMAT_PRINTF(2, 3); + +/** + * Set the error message string for this thread. This function is like + * `git_error_set` but takes a static string instead of a `printf`-style + * format. + * + * @param error_class One of the `git_error_t` enum above describing the + * general subsystem that is responsible for the error. + * @param string The error message to keep + * @return 0 on success or -1 on failure + */ +GIT_EXTERN(int) git_error_set_str(int error_class, const char *string); + +/** + * Set the error message to a special value for memory allocation failure. + * + * The normal `git_error_set_str()` function attempts to `strdup()` the + * string that is passed in. This is not a good idea when the error in + * question is a memory allocation failure. That circumstance has a + * special setter function that sets the error string to a known and + * statically allocated internal value. + */ +GIT_EXTERN(void) git_error_set_oom(void); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/features.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/features.h new file mode 100644 index 00000000..425b8387 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/features.h @@ -0,0 +1,50 @@ +#ifndef INCLUDE_features_h__ +#define INCLUDE_features_h__ + +/* #undef GIT_DEBUG_POOL */ +/* #undef GIT_DEBUG_STRICT_ALLOC */ +/* #undef GIT_DEBUG_STRICT_OPEN */ + +#define GIT_TRACE 1 +#define GIT_THREADS 1 +/* #undef GIT_WIN32_LEAKCHECK */ + +#define GIT_ARCH_64 1 +/* #undef GIT_ARCH_32 */ + +#define GIT_USE_ICONV 1 +#define GIT_USE_NSEC 1 +/* #undef GIT_USE_STAT_MTIM */ +#define GIT_USE_STAT_MTIMESPEC 1 +/* #undef GIT_USE_STAT_MTIME_NSEC */ +#define GIT_USE_FUTIMENS 1 + +#define GIT_REGEX_REGCOMP_L +/* #undef GIT_REGEX_REGCOMP */ +/* #undef GIT_REGEX_PCRE */ +/* #undef GIT_REGEX_PCRE2 */ +/* #undef GIT_REGEX_BUILTIN */ + +/* #undef GIT_SSH */ +/* #undef GIT_SSH_MEMORY_CREDENTIALS */ + +#define GIT_NTLM 1 +/* #undef GIT_GSSAPI */ +/* #undef GIT_GSSFRAMEWORK */ + +/* #undef GIT_WINHTTP */ +#define GIT_HTTPS 1 +/* #undef GIT_OPENSSL */ +/* #undef GIT_OPENSSL_DYNAMIC */ +#define GIT_SECURE_TRANSPORT 1 +/* #undef GIT_MBEDTLS */ + +#define GIT_SHA1_COLLISIONDETECT 1 +/* #undef GIT_SHA1_WIN32 */ +/* #undef GIT_SHA1_COMMON_CRYPTO */ +/* #undef GIT_SHA1_OPENSSL */ +/* #undef GIT_SHA1_MBEDTLS */ + +#endif +#define GIT_SSH_MEMORY_CREDENTIALS 1 +#define GIT_SSH 1 diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/filter.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/filter.h new file mode 100644 index 00000000..60466d17 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/filter.h @@ -0,0 +1,416 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_filter_h__ +#define INCLUDE_sys_git_filter_h__ + +#include "git2/filter.h" + +/** + * @file git2/sys/filter.h + * @brief Custom filter backends and plugins + * @defgroup git_backend Custom filter backends and plugins + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Look up a filter by name + * + * @param name The name of the filter + * @return Pointer to the filter object or NULL if not found + */ +GIT_EXTERN(git_filter *) git_filter_lookup(const char *name); + +/** The "crlf" filter */ +#define GIT_FILTER_CRLF "crlf" + +/** The "ident" filter */ +#define GIT_FILTER_IDENT "ident" + +/** + * This is priority that the internal CRLF filter will be registered with + */ +#define GIT_FILTER_CRLF_PRIORITY 0 + +/** + * This is priority that the internal ident filter will be registered with + */ +#define GIT_FILTER_IDENT_PRIORITY 100 + +/** + * This is priority to use with a custom filter to imitate a core Git + * filter driver, so that it will be run last on checkout and first on + * checkin. You do not have to use this, but it helps compatibility. + */ +#define GIT_FILTER_DRIVER_PRIORITY 200 + +/** + * Create a new empty filter list + * + * Normally you won't use this because `git_filter_list_load` will create + * the filter list for you, but you can use this in combination with the + * `git_filter_lookup` and `git_filter_list_push` functions to assemble + * your own chains of filters. + * + * @param out the filter list + * @param repo the repository to use for configuration + * @param mode the filter mode (direction) + * @param options the options + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_filter_list_new( + git_filter_list **out, + git_repository *repo, + git_filter_mode_t mode, + uint32_t options); + +/** + * Add a filter to a filter list with the given payload. + * + * Normally you won't have to do this because the filter list is created + * by calling the "check" function on registered filters when the filter + * attributes are set, but this does allow more direct manipulation of + * filter lists when desired. + * + * Note that normally the "check" function can set up a payload for the + * filter. Using this function, you can either pass in a payload if you + * know the expected payload format, or you can pass NULL. Some filters + * may fail with a NULL payload. Good luck! + * + * @param fl the filter list + * @param filter the filter to push + * @param payload the payload for the filter + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_filter_list_push( + git_filter_list *fl, git_filter *filter, void *payload); + +/** + * Look up how many filters are in the list + * + * We will attempt to apply all of these filters to any data passed in, + * but note that the filter apply action still has the option of skipping + * data that is passed in (for example, the CRLF filter will skip data + * that appears to be binary). + * + * @param fl A filter list + * @return The number of filters in the list + */ +GIT_EXTERN(size_t) git_filter_list_length(const git_filter_list *fl); + +/** + * A filter source represents a file/blob to be processed + */ +typedef struct git_filter_source git_filter_source; + +/** + * Get the repository that the source data is coming from. + * + * @param src the filter source + * @return the repository for the filter information + */ +GIT_EXTERN(git_repository *) git_filter_source_repo(const git_filter_source *src); + +/** + * Get the path that the source data is coming from. + * + * @param src the filter source + * @return the path that is being filtered + */ +GIT_EXTERN(const char *) git_filter_source_path(const git_filter_source *src); + +/** + * Get the file mode of the source file + * If the mode is unknown, this will return 0 + * + * @param src the filter source + * @return the file mode for the file being filtered + */ +GIT_EXTERN(uint16_t) git_filter_source_filemode(const git_filter_source *src); + +/** + * Get the OID of the source + * If the OID is unknown (often the case with GIT_FILTER_CLEAN) then + * this will return NULL. + * + * @param src the filter source + * @return the object id of the file being filtered + */ +GIT_EXTERN(const git_oid *) git_filter_source_id(const git_filter_source *src); + +/** + * Get the git_filter_mode_t to be used + * + * @param src the filter source + * @return the mode (direction) of the filter + */ +GIT_EXTERN(git_filter_mode_t) git_filter_source_mode(const git_filter_source *src); + +/** + * Get the combination git_filter_flag_t options to be applied + * + * @param src the filter source + * @return the flags of the filter + */ +GIT_EXTERN(uint32_t) git_filter_source_flags(const git_filter_source *src); + +/** + * Initialize callback on filter + * + * Specified as `filter.initialize`, this is an optional callback invoked + * before a filter is first used. It will be called once at most. + * + * If non-NULL, the filter's `initialize` callback will be invoked right + * before the first use of the filter, so you can defer expensive + * initialization operations (in case libgit2 is being used in a way that + * doesn't need the filter). + * + * @param self the filter to initialize + * @return 0 on success, negative number on failure + */ +typedef int GIT_CALLBACK(git_filter_init_fn)(git_filter *self); + +/** + * Shutdown callback on filter + * + * Specified as `filter.shutdown`, this is an optional callback invoked + * when the filter is unregistered or when libgit2 is shutting down. It + * will be called once at most and should release resources as needed. + * This may be called even if the `initialize` callback was not made. + * + * Typically this function will free the `git_filter` object itself. + * + * @param self the filter to shutdown + */ +typedef void GIT_CALLBACK(git_filter_shutdown_fn)(git_filter *self); + +/** + * Callback to decide if a given source needs this filter + * + * Specified as `filter.check`, this is an optional callback that checks + * if filtering is needed for a given source. + * + * It should return 0 if the filter should be applied (i.e. success), + * GIT_PASSTHROUGH if the filter should not be applied, or an error code + * to fail out of the filter processing pipeline and return to the caller. + * + * The `attr_values` will be set to the values of any attributes given in + * the filter definition. See `git_filter` below for more detail. + * + * The `payload` will be a pointer to a reference payload for the filter. + * This will start as NULL, but `check` can assign to this pointer for + * later use by the `stream` callback. Note that the value should be heap + * allocated (not stack), so that it doesn't go away before the `stream` + * callback can use it. If a filter allocates and assigns a value to the + * `payload`, it will need a `cleanup` callback to free the payload. + * + * @param self the filter check + * @param payload a data for future filter functions + * @param src the filter source + * @param attr_values the attribute values + * @return 0 on success or a negative value on error + */ +typedef int GIT_CALLBACK(git_filter_check_fn)( + git_filter *self, + void **payload, /* NULL on entry, may be set */ + const git_filter_source *src, + const char **attr_values); + +#ifndef GIT_DEPRECATE_HARD +/** + * Callback to actually perform the data filtering + * + * Specified as `filter.apply`, this is the callback that actually filters + * data. If it successfully writes the output, it should return 0. Like + * `check`, it can return GIT_PASSTHROUGH to indicate that the filter + * doesn't want to run. Other error codes will stop filter processing and + * return to the caller. + * + * The `payload` value will refer to any payload that was set by the + * `check` callback. It may be read from or written to as needed. + * + * @param self the filter check + * @param payload a data for future filter functions + * @param to the input buffer + * @param from the output buffer + * @param src the filter source + * @return 0 on success or a negative value on error + * @deprecated use git_filter_stream_fn + */ +typedef int GIT_CALLBACK(git_filter_apply_fn)( + git_filter *self, + void **payload, /* may be read and/or set */ + git_buf *to, + const git_buf *from, + const git_filter_source *src); +#endif + +/** + * Callback to perform the data filtering. + * + * Specified as `filter.stream`, this is a callback that filters data + * in a streaming manner. This function will provide a + * `git_writestream` that will the original data will be written to; + * with that data, the `git_writestream` will then perform the filter + * translation and stream the filtered data out to the `next` location. + * + * @param out the write stream + * @param self the filter + * @param payload a data for future filter functions + * @param src the filter source + * @param next the output stream + * @return 0 on success or a negative value on error + */ +typedef int GIT_CALLBACK(git_filter_stream_fn)( + git_writestream **out, + git_filter *self, + void **payload, + const git_filter_source *src, + git_writestream *next); + +/** + * Callback to clean up after filtering has been applied + * + * Specified as `filter.cleanup`, this is an optional callback invoked + * after the filter has been applied. If the `check`, `apply`, or + * `stream` callbacks allocated a `payload` to keep per-source filter + * state, use this callback to free that payload and release resources + * as required. + * + * @param self the filter + * @param payload a data for future filter functions + */ +typedef void GIT_CALLBACK(git_filter_cleanup_fn)( + git_filter *self, + void *payload); + +/** + * Filter structure used to register custom filters. + * + * To associate extra data with a filter, allocate extra data and put the + * `git_filter` struct at the start of your data buffer, then cast the + * `self` pointer to your larger structure when your callback is invoked. + */ +struct git_filter { + /** The `version` field should be set to `GIT_FILTER_VERSION`. */ + unsigned int version; + + /** + * A whitespace-separated list of attribute names to check for this + * filter (e.g. "eol crlf text"). If the attribute name is bare, it + * will be simply loaded and passed to the `check` callback. If it + * has a value (i.e. "name=value"), the attribute must match that + * value for the filter to be applied. The value may be a wildcard + * (eg, "name=*"), in which case the filter will be invoked for any + * value for the given attribute name. See the attribute parameter + * of the `check` callback for the attribute value that was specified. + */ + const char *attributes; + + /** Called when the filter is first used for any file. */ + git_filter_init_fn initialize; + + /** Called when the filter is removed or unregistered from the system. */ + git_filter_shutdown_fn shutdown; + + /** + * Called to determine whether the filter should be invoked for a + * given file. If this function returns `GIT_PASSTHROUGH` then the + * `stream` or `apply` functions will not be invoked and the + * contents will be passed through unmodified. + */ + git_filter_check_fn check; + +#ifdef GIT_DEPRECATE_HARD + void *reserved; +#else + /** + * Provided for backward compatibility; this will apply the + * filter to the given contents in a `git_buf`. Callers should + * provide a `stream` function instead. + */ + git_filter_apply_fn apply; +#endif + + /** + * Called to apply the filter, this function will provide a + * `git_writestream` that will the original data will be + * written to; with that data, the `git_writestream` will then + * perform the filter translation and stream the filtered data + * out to the `next` location. + */ + git_filter_stream_fn stream; + + /** Called when the system is done filtering for a file. */ + git_filter_cleanup_fn cleanup; +}; + +/** Current version for the `git_filter_options` structure */ +#define GIT_FILTER_VERSION 1 + +/** Static constructor for `git_filter_options` */ +#define GIT_FILTER_INIT {GIT_FILTER_VERSION} + +/** + * Initializes a `git_filter` with default values. Equivalent to + * creating an instance with GIT_FILTER_INIT. + * + * @param filter the `git_filter` struct to initialize. + * @param version Version the struct; pass `GIT_FILTER_VERSION` + * @return 0 on success; -1 on failure. + */ +GIT_EXTERN(int) git_filter_init(git_filter *filter, unsigned int version); + +/** + * Register a filter under a given name with a given priority. + * + * As mentioned elsewhere, the initialize callback will not be invoked + * immediately. It is deferred until the filter is used in some way. + * + * A filter's attribute checks and `check` and `stream` (or `apply`) + * callbacks will be issued in order of `priority` on smudge (to + * workdir), and in reverse order of `priority` on clean (to odb). + * + * Two filters are preregistered with libgit2: + * - GIT_FILTER_CRLF with priority 0 + * - GIT_FILTER_IDENT with priority 100 + * + * Currently the filter registry is not thread safe, so any registering or + * deregistering of filters must be done outside of any possible usage of + * the filters (i.e. during application setup or shutdown). + * + * @param name A name by which the filter can be referenced. Attempting + * to register with an in-use name will return GIT_EEXISTS. + * @param filter The filter definition. This pointer will be stored as is + * by libgit2 so it must be a durable allocation (either static + * or on the heap). + * @param priority The priority for filter application + * @return 0 on successful registry, error code <0 on failure + */ +GIT_EXTERN(int) git_filter_register( + const char *name, git_filter *filter, int priority); + +/** + * Remove the filter with the given name + * + * Attempting to remove the builtin libgit2 filters is not permitted and + * will return an error. + * + * Currently the filter registry is not thread safe, so any registering or + * deregistering of filters must be done outside of any possible usage of + * the filters (i.e. during application setup or shutdown). + * + * @param name The name under which the filter was registered + * @return 0 on success, error code <0 on failure + */ +GIT_EXTERN(int) git_filter_unregister(const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/hashsig.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/hashsig.h new file mode 100644 index 00000000..0d7be535 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/hashsig.h @@ -0,0 +1,117 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_hashsig_h__ +#define INCLUDE_sys_hashsig_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/hashsig.h + * @brief Signatures for file similarity comparison + * @defgroup git_hashsig Git merge routines + * @ingroup Git + * + * Hash signatures are used for file similary comparison; this is + * used for git's rename handling. + * @{ + */ +GIT_BEGIN_DECL + +/** + * Similarity signature of arbitrary text content based on line hashes + */ +typedef struct git_hashsig git_hashsig; + +/** + * Options for hashsig computation + * + * The options GIT_HASHSIG_NORMAL, GIT_HASHSIG_IGNORE_WHITESPACE, + * GIT_HASHSIG_SMART_WHITESPACE are exclusive and should not be combined. + */ +typedef enum { + /** + * Use all data + */ + GIT_HASHSIG_NORMAL = 0, + + /** + * Ignore whitespace + */ + GIT_HASHSIG_IGNORE_WHITESPACE = (1 << 0), + + /** + * Ignore \r and all space after \n + */ + GIT_HASHSIG_SMART_WHITESPACE = (1 << 1), + + /** + * Allow hashing of small files + */ + GIT_HASHSIG_ALLOW_SMALL_FILES = (1 << 2) +} git_hashsig_option_t; + +/** + * Compute a similarity signature for a text buffer + * + * If you have passed the option GIT_HASHSIG_IGNORE_WHITESPACE, then the + * whitespace will be removed from the buffer while it is being processed, + * modifying the buffer in place. Sorry about that! + * + * @param out The computed similarity signature. + * @param buf The input buffer. + * @param buflen The input buffer size. + * @param opts The signature computation options (see above). + * @return 0 on success, GIT_EBUFS if the buffer doesn't contain enough data to + * compute a valid signature (unless GIT_HASHSIG_ALLOW_SMALL_FILES is set), or + * error code. + */ +GIT_EXTERN(int) git_hashsig_create( + git_hashsig **out, + const char *buf, + size_t buflen, + git_hashsig_option_t opts); + +/** + * Compute a similarity signature for a text file + * + * This walks through the file, only loading a maximum of 4K of file data at + * a time. Otherwise, it acts just like `git_hashsig_create`. + * + * @param out The computed similarity signature. + * @param path The path to the input file. + * @param opts The signature computation options (see above). + * @return 0 on success, GIT_EBUFS if the buffer doesn't contain enough data to + * compute a valid signature (unless GIT_HASHSIG_ALLOW_SMALL_FILES is set), or + * error code. + */ +GIT_EXTERN(int) git_hashsig_create_fromfile( + git_hashsig **out, + const char *path, + git_hashsig_option_t opts); + +/** + * Release memory for a content similarity signature + * + * @param sig The similarity signature to free. + */ +GIT_EXTERN(void) git_hashsig_free(git_hashsig *sig); + +/** + * Measure similarity score between two similarity signatures + * + * @param a The first similarity signature to compare. + * @param b The second similarity signature to compare. + * @return [0 to 100] on success as the similarity score, or error code. + */ +GIT_EXTERN(int) git_hashsig_compare( + const git_hashsig *a, + const git_hashsig *b); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/index.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/index.h new file mode 100644 index 00000000..b3b86a04 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/index.h @@ -0,0 +1,183 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_index_h__ +#define INCLUDE_sys_git_index_h__ + +#include "git2/common.h" +#include "git2/types.h" + +/** + * @file git2/sys/index.h + * @brief Low-level index manipulation routines + * @defgroup git_index Low-level index manipulation routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Representation of a rename conflict entry in the index. */ +typedef struct git_index_name_entry { + char *ancestor; + char *ours; + char *theirs; +} git_index_name_entry; + +/** Representation of a resolve undo entry in the index. */ +typedef struct git_index_reuc_entry { + uint32_t mode[3]; + git_oid oid[3]; + char *path; +} git_index_reuc_entry; + +/** @name Conflict Name entry functions + * + * These functions work on rename conflict entries. + */ +/**@{*/ + +/** + * Get the count of filename conflict entries currently in the index. + * + * @param index an existing index object + * @return integer of count of current filename conflict entries + */ +GIT_EXTERN(size_t) git_index_name_entrycount(git_index *index); + +/** + * Get a filename conflict entry from the index. + * + * The returned entry is read-only and should not be modified + * or freed by the caller. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the filename conflict entry; NULL if out of bounds + */ +GIT_EXTERN(const git_index_name_entry *) git_index_name_get_byindex( + git_index *index, size_t n); + +/** + * Record the filenames involved in a rename conflict. + * + * @param index an existing index object + * @param ancestor the path of the file as it existed in the ancestor + * @param ours the path of the file as it existed in our tree + * @param theirs the path of the file as it existed in their tree + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_index_name_add(git_index *index, + const char *ancestor, const char *ours, const char *theirs); + +/** + * Remove all filename conflict entries. + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_name_clear(git_index *index); + +/**@}*/ + +/** @name Resolve Undo (REUC) index entry manipulation. + * + * These functions work on the Resolve Undo index extension and contains + * data about the original files that led to a merge conflict. + */ +/**@{*/ + +/** + * Get the count of resolve undo entries currently in the index. + * + * @param index an existing index object + * @return integer of count of current resolve undo entries + */ +GIT_EXTERN(size_t) git_index_reuc_entrycount(git_index *index); + +/** + * Finds the resolve undo entry that points to the given path in the Git + * index. + * + * @param at_pos the address to which the position of the reuc entry is written (optional) + * @param index an existing index object + * @param path path to search + * @return 0 if found, < 0 otherwise (GIT_ENOTFOUND) + */ +GIT_EXTERN(int) git_index_reuc_find(size_t *at_pos, git_index *index, const char *path); + +/** + * Get a resolve undo entry from the index. + * + * The returned entry is read-only and should not be modified + * or freed by the caller. + * + * @param index an existing index object + * @param path path to search + * @return the resolve undo entry; NULL if not found + */ +GIT_EXTERN(const git_index_reuc_entry *) git_index_reuc_get_bypath(git_index *index, const char *path); + +/** + * Get a resolve undo entry from the index. + * + * The returned entry is read-only and should not be modified + * or freed by the caller. + * + * @param index an existing index object + * @param n the position of the entry + * @return a pointer to the resolve undo entry; NULL if out of bounds + */ +GIT_EXTERN(const git_index_reuc_entry *) git_index_reuc_get_byindex(git_index *index, size_t n); + +/** + * Adds a resolve undo entry for a file based on the given parameters. + * + * The resolve undo entry contains the OIDs of files that were involved + * in a merge conflict after the conflict has been resolved. This allows + * conflicts to be re-resolved later. + * + * If there exists a resolve undo entry for the given path in the index, + * it will be removed. + * + * This method will fail in bare index instances. + * + * @param index an existing index object + * @param path filename to add + * @param ancestor_mode mode of the ancestor file + * @param ancestor_id oid of the ancestor file + * @param our_mode mode of our file + * @param our_id oid of our file + * @param their_mode mode of their file + * @param their_id oid of their file + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_reuc_add(git_index *index, const char *path, + int ancestor_mode, const git_oid *ancestor_id, + int our_mode, const git_oid *our_id, + int their_mode, const git_oid *their_id); + +/** + * Remove an resolve undo entry from the index + * + * @param index an existing index object + * @param n position of the resolve undo entry to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_reuc_remove(git_index *index, size_t n); + +/** + * Remove all resolve undo entries from the index + * + * @param index an existing index object + * @return 0 or an error code + */ +GIT_EXTERN(int) git_index_reuc_clear(git_index *index); + +/**@}*/ + +/** @} */ +GIT_END_DECL +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/mempack.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/mempack.h new file mode 100644 index 00000000..be902be2 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/mempack.h @@ -0,0 +1,117 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_odb_mempack_h__ +#define INCLUDE_sys_git_odb_mempack_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" +#include "git2/odb.h" +#include "git2/buffer.h" + +/** + * @file git2/sys/mempack.h + * @brief A custom object database backend for storing objects in-memory + * @defgroup git_mempack A custom object database backend for storing objects in-memory + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Instantiate a new mempack backend. + * + * The backend must be added to an existing ODB with the highest + * priority. + * + * git_mempack_new(&mempacker); + * git_repository_odb(&odb, repository); + * git_odb_add_backend(odb, mempacker, 999); + * + * Once the backend has been loaded, all writes to the ODB will + * instead be queued in memory, and can be finalized with + * `git_mempack_dump`. + * + * Subsequent reads will also be served from the in-memory store + * to ensure consistency, until the memory store is dumped. + * + * @param out Pointer where to store the ODB backend + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_mempack_new(git_odb_backend **out); + +/** + * Write a thin packfile with the objects in the memory store. + * + * A thin packfile is a packfile that does not contain its transitive closure of + * references. This is useful for efficiently distributing additions to a + * repository over the network, but also finds use in the efficient bulk + * addition of objects to a repository, locally. + * + * This operation performs the (shallow) insert operations into the + * `git_packbuilder`, but does not write the packfile to disk; + * see `git_packbuilder_write_buf`. + * + * It also does not reset the in-memory object database; see `git_mempack_reset`. + * + * @param backend The mempack backend + * @param pb The packbuilder to use to write the packfile + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_mempack_write_thin_pack(git_odb_backend *backend, git_packbuilder *pb); + +/** + * Dump all the queued in-memory writes to a packfile. + * + * The contents of the packfile will be stored in the given buffer. + * It is the caller's responsibility to ensure that the generated + * packfile is available to the repository (e.g. by writing it + * to disk, or doing something crazy like distributing it across + * several copies of the repository over a network). + * + * Once the generated packfile is available to the repository, + * call `git_mempack_reset` to cleanup the memory store. + * + * Calling `git_mempack_reset` before the packfile has been + * written to disk will result in an inconsistent repository + * (the objects in the memory store won't be accessible). + * + * @param pack Buffer where to store the raw packfile + * @param repo The active repository where the backend is loaded + * @param backend The mempack backend + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_mempack_dump(git_buf *pack, git_repository *repo, git_odb_backend *backend); + +/** + * Reset the memory packer by clearing all the queued objects. + * + * This assumes that `git_mempack_dump` has been called before to + * store all the queued objects into a single packfile. + * + * Alternatively, call `reset` without a previous dump to "undo" + * all the recently written objects, giving transaction-like + * semantics to the Git repository. + * + * @param backend The mempack backend + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_mempack_reset(git_odb_backend *backend); + +/** + * Get the total number of objects in mempack + * + * @param count The count of objects in the mempack + * @param backend The mempack backend + * @return 0 on success, or -1 on error + */ +GIT_EXTERN(int) git_mempack_object_count(size_t *count, git_odb_backend *backend); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/merge.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/merge.h new file mode 100644 index 00000000..a9f52205 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/merge.h @@ -0,0 +1,230 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_merge_h__ +#define INCLUDE_sys_git_merge_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/index.h" +#include "git2/merge.h" + +/** + * @file git2/sys/merge.h + * @brief Custom merge drivers + * @defgroup git_merge Custom merge drivers + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * A "merge driver" is a mechanism that can be configured to handle + * conflict resolution for files changed in both the "ours" and "theirs" + * side of a merge. + */ +typedef struct git_merge_driver git_merge_driver; + +/** + * Look up a merge driver by name + * + * @param name The name of the merge driver + * @return Pointer to the merge driver object or NULL if not found + */ +GIT_EXTERN(git_merge_driver *) git_merge_driver_lookup(const char *name); + +/** The "text" merge driver */ +#define GIT_MERGE_DRIVER_TEXT "text" +/** The "binary" merge driver */ +#define GIT_MERGE_DRIVER_BINARY "binary" +/** The "union" merge driver */ +#define GIT_MERGE_DRIVER_UNION "union" + +/** + * A merge driver source represents the file to be merged + */ +typedef struct git_merge_driver_source git_merge_driver_source; + +/** + * Get the repository that the source data is coming from. + * + * @param src the merge driver source + * @return the repository + */ +GIT_EXTERN(git_repository *) git_merge_driver_source_repo( + const git_merge_driver_source *src); + +/** + * Gets the ancestor of the file to merge. + * + * @param src the merge driver source + * @return the ancestor or NULL if there was no ancestor + */ +GIT_EXTERN(const git_index_entry *) git_merge_driver_source_ancestor( + const git_merge_driver_source *src); + +/** + * Gets the ours side of the file to merge. + * + * @param src the merge driver source + * @return the ours side or NULL if there was no ours side + */ +GIT_EXTERN(const git_index_entry *) git_merge_driver_source_ours( + const git_merge_driver_source *src); + +/** + * Gets the theirs side of the file to merge. + * + * @param src the merge driver source + * @return the theirs side or NULL if there was no theirs side + */ +GIT_EXTERN(const git_index_entry *) git_merge_driver_source_theirs( + const git_merge_driver_source *src); + +/** + * Gets the merge file options that the merge was invoked with. + * + * @param src the merge driver source + * @return the options + */ +GIT_EXTERN(const git_merge_file_options *) git_merge_driver_source_file_options( + const git_merge_driver_source *src); + + +/** + * Initialize callback on merge driver + * + * Specified as `driver.initialize`, this is an optional callback invoked + * before a merge driver is first used. It will be called once at most + * per library lifetime. + * + * If non-NULL, the merge driver's `initialize` callback will be invoked + * right before the first use of the driver, so you can defer expensive + * initialization operations (in case libgit2 is being used in a way that + * doesn't need the merge driver). + * + * @param self the merge driver to initialize + * @return 0 on success, or a negative number on failure + */ +typedef int GIT_CALLBACK(git_merge_driver_init_fn)(git_merge_driver *self); + +/** + * Shutdown callback on merge driver + * + * Specified as `driver.shutdown`, this is an optional callback invoked + * when the merge driver is unregistered or when libgit2 is shutting down. + * It will be called once at most and should release resources as needed. + * This may be called even if the `initialize` callback was not made. + * + * Typically this function will free the `git_merge_driver` object itself. + * + * @param self the merge driver to shutdown + */ +typedef void GIT_CALLBACK(git_merge_driver_shutdown_fn)(git_merge_driver *self); + +/** + * Callback to perform the merge. + * + * Specified as `driver.apply`, this is the callback that actually does the + * merge. If it can successfully perform a merge, it should populate + * `path_out` with a pointer to the filename to accept, `mode_out` with + * the resultant mode, and `merged_out` with the buffer of the merged file + * and then return 0. If the driver returns `GIT_PASSTHROUGH`, then the + * default merge driver should instead be run. It can also return + * `GIT_EMERGECONFLICT` if the driver is not able to produce a merge result, + * and the file will remain conflicted. Any other errors will fail and + * return to the caller. + * + * The `filter_name` contains the name of the filter that was invoked, as + * specified by the file's attributes. + * + * The `src` contains the data about the file to be merged. + * + * @param self the merge driver + * @param path_out the resolved path + * @param mode_out the resolved mode + * @param merged_out the merged output contents + * @param filter_name the filter that was invoked + * @param src the data about the unmerged file + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_merge_driver_apply_fn)( + git_merge_driver *self, + const char **path_out, + uint32_t *mode_out, + git_buf *merged_out, + const char *filter_name, + const git_merge_driver_source *src); + +/** + * Merge driver structure used to register custom merge drivers. + * + * To associate extra data with a driver, allocate extra data and put the + * `git_merge_driver` struct at the start of your data buffer, then cast + * the `self` pointer to your larger structure when your callback is invoked. + */ +struct git_merge_driver { + /** The `version` should be set to `GIT_MERGE_DRIVER_VERSION`. */ + unsigned int version; + + /** Called when the merge driver is first used for any file. */ + git_merge_driver_init_fn initialize; + + /** Called when the merge driver is unregistered from the system. */ + git_merge_driver_shutdown_fn shutdown; + + /** + * Called to merge the contents of a conflict. If this function + * returns `GIT_PASSTHROUGH` then the default (`text`) merge driver + * will instead be invoked. If this function returns + * `GIT_EMERGECONFLICT` then the file will remain conflicted. + */ + git_merge_driver_apply_fn apply; +}; + +/** The version for the `git_merge_driver` */ +#define GIT_MERGE_DRIVER_VERSION 1 + +/** + * Register a merge driver under a given name. + * + * As mentioned elsewhere, the initialize callback will not be invoked + * immediately. It is deferred until the driver is used in some way. + * + * Currently the merge driver registry is not thread safe, so any + * registering or deregistering of merge drivers must be done outside of + * any possible usage of the drivers (i.e. during application setup or + * shutdown). + * + * @param name The name of this driver to match an attribute. Attempting + * to register with an in-use name will return GIT_EEXISTS. + * @param driver The merge driver definition. This pointer will be stored + * as is by libgit2 so it must be a durable allocation (either + * static or on the heap). + * @return 0 on successful registry, error code <0 on failure + */ +GIT_EXTERN(int) git_merge_driver_register( + const char *name, git_merge_driver *driver); + +/** + * Remove the merge driver with the given name. + * + * Attempting to remove the builtin libgit2 merge drivers is not permitted + * and will return an error. + * + * Currently the merge driver registry is not thread safe, so any + * registering or deregistering of drivers must be done outside of any + * possible usage of the drivers (i.e. during application setup or shutdown). + * + * @param name The name under which the merge driver was registered + * @return 0 on success, error code <0 on failure + */ +GIT_EXTERN(int) git_merge_driver_unregister(const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/midx.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/midx.h new file mode 100644 index 00000000..b3a68afb --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/midx.h @@ -0,0 +1,117 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_midx_h__ +#define INCLUDE_sys_git_midx_h__ + +#include "git2/common.h" +#include "git2/types.h" + +/** + * @file git2/sys/midx.h + * @brief Incremental multi-pack indexes + * @defgroup git_midx Incremental multi-pack indexes + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Options structure for `git_midx_writer_options`. + * + * Initialize with `GIT_MIDX_WRITER_OPTIONS_INIT`. Alternatively, + * you can use `git_midx_writer_options_init`. + */ +typedef struct { + unsigned int version; + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** The object ID type that this commit graph contains. */ + git_oid_t oid_type; +#endif +} git_midx_writer_options; + +/** Current version for the `git_midx_writer_options` structure */ +#define GIT_MIDX_WRITER_OPTIONS_VERSION 1 + +/** Static constructor for `git_midx_writer_options` */ +#define GIT_MIDX_WRITER_OPTIONS_INIT { \ + GIT_MIDX_WRITER_OPTIONS_VERSION \ + } + +/** + * Initialize git_midx_writer_options structure + * + * Initializes a `git_midx_writer_options` with default values. + * Equivalent to creating an instance with + * `GIT_MIDX_WRITER_OPTIONS_INIT`. + * + * @param opts The `git_midx_writer_options` struct to initialize. + * @param version The struct version; pass `GIT_MIDX_WRITER_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_midx_writer_options_init( + git_midx_writer_options *opts, + unsigned int version); + +/** + * Create a new writer for `multi-pack-index` files. + * + * @param out location to store the writer pointer. + * @param pack_dir the directory where the `.pack` and `.idx` files are. The + * `multi-pack-index` file will be written in this directory, too. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_new( + git_midx_writer **out, + const char *pack_dir +#ifdef GIT_EXPERIMENTAL_SHA256 + , git_midx_writer_options *options +#endif + ); + +/** + * Free the multi-pack-index writer and its resources. + * + * @param w the writer to free. If NULL no action is taken. + */ +GIT_EXTERN(void) git_midx_writer_free(git_midx_writer *w); + +/** + * Add an `.idx` file to the writer. + * + * @param w the writer + * @param idx_path the path of an `.idx` file. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_add( + git_midx_writer *w, + const char *idx_path); + +/** + * Write a `multi-pack-index` file to a file. + * + * @param w the writer + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_commit( + git_midx_writer *w); + +/** + * Dump the contents of the `multi-pack-index` to an in-memory buffer. + * + * @param midx Buffer where to store the contents of the `multi-pack-index`. + * @param w the writer + * @return 0 or an error code + */ +GIT_EXTERN(int) git_midx_writer_dump( + git_buf *midx, + git_midx_writer *w); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/odb_backend.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/odb_backend.h new file mode 100644 index 00000000..53d8d060 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/odb_backend.h @@ -0,0 +1,176 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_odb_backend_h__ +#define INCLUDE_sys_git_odb_backend_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" +#include "git2/odb.h" + +/** + * @file git2/sys/odb_backend.h + * @brief Object database backends for custom object storage + * @defgroup git_backend Object database backends for custom object storage + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * An instance for a custom backend + */ +struct git_odb_backend { + unsigned int version; + git_odb *odb; + + /* read and read_prefix each return to libgit2 a buffer which + * will be freed later. The buffer should be allocated using + * the function git_odb_backend_data_alloc to ensure that libgit2 + * can safely free it later. */ + int GIT_CALLBACK(read)( + void **, size_t *, git_object_t *, git_odb_backend *, const git_oid *); + + /* To find a unique object given a prefix of its oid. The oid given + * must be so that the remaining (GIT_OID_SHA1_HEXSIZE - len)*4 bits are 0s. + */ + int GIT_CALLBACK(read_prefix)( + git_oid *, void **, size_t *, git_object_t *, + git_odb_backend *, const git_oid *, size_t); + + int GIT_CALLBACK(read_header)( + size_t *, git_object_t *, git_odb_backend *, const git_oid *); + + /** + * Write an object into the backend. The id of the object has + * already been calculated and is passed in. + */ + int GIT_CALLBACK(write)( + git_odb_backend *, const git_oid *, const void *, size_t, git_object_t); + + int GIT_CALLBACK(writestream)( + git_odb_stream **, git_odb_backend *, git_object_size_t, git_object_t); + + int GIT_CALLBACK(readstream)( + git_odb_stream **, size_t *, git_object_t *, + git_odb_backend *, const git_oid *); + + int GIT_CALLBACK(exists)( + git_odb_backend *, const git_oid *); + + int GIT_CALLBACK(exists_prefix)( + git_oid *, git_odb_backend *, const git_oid *, size_t); + + /** + * If the backend implements a refreshing mechanism, it should be exposed + * through this endpoint. Each call to `git_odb_refresh()` will invoke it. + * + * The odb layer will automatically call this when needed on failed + * lookups (ie. `exists()`, `read()`, `read_header()`). + */ + int GIT_CALLBACK(refresh)(git_odb_backend *); + + int GIT_CALLBACK(foreach)( + git_odb_backend *, git_odb_foreach_cb cb, void *payload); + + int GIT_CALLBACK(writepack)( + git_odb_writepack **, git_odb_backend *, git_odb *odb, + git_indexer_progress_cb progress_cb, void *progress_payload); + + /** + * If the backend supports pack files, this will create a + * `multi-pack-index` file which will contain an index of all objects + * across all the `.pack` files. + */ + int GIT_CALLBACK(writemidx)(git_odb_backend *); + + /** + * "Freshens" an already existing object, updating its last-used + * time. This occurs when `git_odb_write` was called, but the + * object already existed (and will not be re-written). The + * underlying implementation may want to update last-used timestamps. + * + * If callers implement this, they should return `0` if the object + * exists and was freshened, and non-zero otherwise. + */ + int GIT_CALLBACK(freshen)(git_odb_backend *, const git_oid *); + + /** + * Frees any resources held by the odb (including the `git_odb_backend` + * itself). An odb backend implementation must provide this function. + */ + void GIT_CALLBACK(free)(git_odb_backend *); +}; + +/** Current version for the `git_odb_backend_options` structure */ +#define GIT_ODB_BACKEND_VERSION 1 + +/** Static constructor for `git_odb_backend_options` */ +#define GIT_ODB_BACKEND_INIT {GIT_ODB_BACKEND_VERSION} + +/** + * Initializes a `git_odb_backend` with default values. Equivalent to + * creating an instance with GIT_ODB_BACKEND_INIT. + * + * @param backend the `git_odb_backend` struct to initialize. + * @param version Version the struct; pass `GIT_ODB_BACKEND_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_odb_init_backend( + git_odb_backend *backend, + unsigned int version); + +/** + * Allocate data for an ODB object. Custom ODB backends may use this + * to provide data back to the ODB from their read function. This + * memory should not be freed once it is returned to libgit2. If a + * custom ODB uses this function but encounters an error and does not + * return this data to libgit2, then they should use the corresponding + * git_odb_backend_data_free function. + * + * @param backend the ODB backend that is allocating this memory + * @param len the number of bytes to allocate + * @return the allocated buffer on success or NULL if out of memory + */ +GIT_EXTERN(void *) git_odb_backend_data_alloc(git_odb_backend *backend, size_t len); + +/** + * Frees custom allocated ODB data. This should only be called when + * memory allocated using git_odb_backend_data_alloc is not returned + * to libgit2 because the backend encountered an error in the read + * function after allocation and did not return this data to libgit2. + * + * @param backend the ODB backend that is freeing this memory + * @param data the buffer to free + */ +GIT_EXTERN(void) git_odb_backend_data_free(git_odb_backend *backend, void *data); + + +/* + * Users can avoid deprecated functions by defining `GIT_DEPRECATE_HARD`. + */ +#ifndef GIT_DEPRECATE_HARD + +/** + * Allocate memory for an ODB object from a custom backend. This is + * an alias of `git_odb_backend_data_alloc` and is preserved for + * backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated git_odb_backend_data_alloc + * @see git_odb_backend_data_alloc + */ +GIT_EXTERN(void *) git_odb_backend_malloc(git_odb_backend *backend, size_t len); + +#endif + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/openssl.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/openssl.h new file mode 100644 index 00000000..8b74a98c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/openssl.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_openssl_h__ +#define INCLUDE_git_openssl_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/openssl.h + * @brief Custom OpenSSL functionality + * @defgroup git_openssl Custom OpenSSL functionality + * @{ + */ +GIT_BEGIN_DECL + +/** + * Initialize the OpenSSL locks + * + * OpenSSL requires the application to determine how it performs + * locking. + * + * This is a last-resort convenience function which libgit2 provides for + * allocating and initializing the locks as well as setting the + * locking function to use the system's native locking functions. + * + * The locking function will be cleared and the memory will be freed + * when you call git_threads_sutdown(). + * + * If your programming language has an OpenSSL package/bindings, it + * likely sets up locking. You should very strongly prefer that over + * this function. + * + * @return 0 on success, -1 if there are errors or if libgit2 was not + * built with OpenSSL and threading support. + */ +GIT_EXTERN(int) git_openssl_set_locking(void); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/path.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/path.h new file mode 100644 index 00000000..2963bca3 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/path.h @@ -0,0 +1,75 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_path_h__ +#define INCLUDE_sys_git_path_h__ + +#include "git2/common.h" + +/** + * @file git2/sys/path.h + * @brief Custom path handling + * @defgroup git_path Custom path handling + * @ingroup Git + * + * Merge will take two commits and attempt to produce a commit that + * includes the changes that were made in both branches. + * @{ + */ +GIT_BEGIN_DECL + +/** + * The kinds of git-specific files we know about. + * + * The order needs to stay the same to not break the `gitfiles` + * array in path.c + */ +typedef enum { + /** Check for the .gitignore file */ + GIT_PATH_GITFILE_GITIGNORE, + /** Check for the .gitmodules file */ + GIT_PATH_GITFILE_GITMODULES, + /** Check for the .gitattributes file */ + GIT_PATH_GITFILE_GITATTRIBUTES +} git_path_gitfile; + +/** + * The kinds of checks to perform according to which filesystem we are trying to + * protect. + */ +typedef enum { + /** Do both NTFS- and HFS-specific checks */ + GIT_PATH_FS_GENERIC, + /** Do NTFS-specific checks only */ + GIT_PATH_FS_NTFS, + /** Do HFS-specific checks only */ + GIT_PATH_FS_HFS +} git_path_fs; + +/** + * Check whether a path component corresponds to a .git$SUFFIX + * file. + * + * As some filesystems do special things to filenames when + * writing files to disk, you cannot always do a plain string + * comparison to verify whether a file name matches an expected + * path or not. This function can do the comparison for you, + * depending on the filesystem you're on. + * + * @param path the path component to check + * @param pathlen the length of `path` that is to be checked + * @param gitfile which file to check against + * @param fs which filesystem-specific checks to use + * @return 0 in case the file does not match, a positive value if + * it does; -1 in case of an error + */ +GIT_EXTERN(int) git_path_is_gitfile(const char *path, size_t pathlen, git_path_gitfile gitfile, git_path_fs fs); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/refdb_backend.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/refdb_backend.h new file mode 100644 index 00000000..813822a6 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/refdb_backend.h @@ -0,0 +1,365 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_refdb_backend_h__ +#define INCLUDE_sys_git_refdb_backend_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/refdb_backend.h + * @brief Custom reference database backends for refs storage + * @defgroup git_refdb_backend Custom reference database backends for refs storage + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + + +/** + * Every backend's iterator must have a pointer to itself as the first + * element, so the API can talk to it. You'd define your iterator as + * + * struct my_iterator { + * git_reference_iterator parent; + * ... + * } + * + * and assign `iter->parent.backend` to your `git_refdb_backend`. + */ +struct git_reference_iterator { + git_refdb *db; + + /** + * Return the current reference and advance the iterator. + */ + int GIT_CALLBACK(next)( + git_reference **ref, + git_reference_iterator *iter); + + /** + * Return the name of the current reference and advance the iterator + */ + int GIT_CALLBACK(next_name)( + const char **ref_name, + git_reference_iterator *iter); + + /** + * Free the iterator + */ + void GIT_CALLBACK(free)( + git_reference_iterator *iter); +}; + +/** An instance for a custom backend */ +struct git_refdb_backend { + unsigned int version; /**< The backend API version */ + + /** + * Queries the refdb backend for the existence of a reference. + * + * A refdb implementation must provide this function. + * + * @param exists The implementation shall set this to `0` if a ref does + * not exist, otherwise to `1`. + * @param ref_name The reference's name that should be checked for + * existence. + * @return `0` on success, a negative error value code. + */ + int GIT_CALLBACK(exists)( + int *exists, + git_refdb_backend *backend, + const char *ref_name); + + /** + * Queries the refdb backend for a given reference. + * + * A refdb implementation must provide this function. + * + * @param out The implementation shall set this to the allocated + * reference, if it could be found, otherwise to `NULL`. + * @param ref_name The reference's name that should be checked for + * existence. + * @return `0` on success, `GIT_ENOTFOUND` if the reference does + * exist, otherwise a negative error code. + */ + int GIT_CALLBACK(lookup)( + git_reference **out, + git_refdb_backend *backend, + const char *ref_name); + + /** + * Allocate an iterator object for the backend. + * + * A refdb implementation must provide this function. + * + * @param out The implementation shall set this to the allocated + * reference iterator. A custom structure may be used with an + * embedded `git_reference_iterator` structure. Both `next` + * and `next_name` functions of `git_reference_iterator` need + * to be populated. + * @param glob A pattern to filter references by. If given, the iterator + * shall only return references that match the glob when + * passed to `wildmatch`. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(iterator)( + git_reference_iterator **iter, + struct git_refdb_backend *backend, + const char *glob); + + /** + * Writes the given reference to the refdb. + * + * A refdb implementation must provide this function. + * + * @param ref The reference to persist. May either be a symbolic or + * direct reference. + * @param force Whether to write the reference if a reference with the + * same name already exists. + * @param who The person updating the reference. Shall be used to create + * a reflog entry. + * @param message The message detailing what kind of reference update is + * performed. Shall be used to create a reflog entry. + * @param old If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the reference is currently at + * the given OID before writing the new value. If both `old` + * and `old_target` are `NULL`, then the reference should not + * exist at the point of writing. + * @param old_target If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the symbolic + * reference is currently at the given target before + * writing the new value. If both `old` and + * `old_target` are `NULL`, then the reference should + * not exist at the point of writing. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(write)(git_refdb_backend *backend, + const git_reference *ref, int force, + const git_signature *who, const char *message, + const git_oid *old, const char *old_target); + + /** + * Rename a reference in the refdb. + * + * A refdb implementation must provide this function. + * + * @param out The implementation shall set this to the newly created + * reference or `NULL` on error. + * @param old_name The current name of the reference that is to be renamed. + * @param new_name The new name that the old reference shall be renamed to. + * @param force Whether to write the reference if a reference with the + * target name already exists. + * @param who The person updating the reference. Shall be used to create + * a reflog entry. + * @param message The message detailing what kind of reference update is + * performed. Shall be used to create a reflog entry. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(rename)( + git_reference **out, git_refdb_backend *backend, + const char *old_name, const char *new_name, int force, + const git_signature *who, const char *message); + + /** + * Deletes the given reference from the refdb. + * + * If it exists, its reflog should be deleted as well. + * + * A refdb implementation must provide this function. + * + * @param ref_name The name of the reference name that shall be deleted. + * @param old_id If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the reference is currently at + * the given OID before writing the new value. + * @param old_target If not `NULL` and `force` is not set, then the + * implementation needs to ensure that the symbolic + * reference is currently at the given target before + * writing the new value. + * @return `0` on success, otherwise a negative error code. + */ + int GIT_CALLBACK(del)(git_refdb_backend *backend, const char *ref_name, const git_oid *old_id, const char *old_target); + + /** + * Suggests that the given refdb compress or optimize its references. + * + * This mechanism is implementation specific. For on-disk reference + * databases, this may pack all loose references. + * + * A refdb implementation may provide this function; if it is not + * provided, nothing will be done. + * + * @return `0` on success a negative error code otherwise + */ + int GIT_CALLBACK(compress)(git_refdb_backend *backend); + + /** + * Query whether a particular reference has a log (may be empty) + * + * Shall return 1 if it has a reflog, 0 it it doesn't and negative in + * case an error occurred. + * + * A refdb implementation must provide this function. + * + * @return `0` on success, `1` if the reflog for the given reference + * exists, a negative error code otherwise + */ + int GIT_CALLBACK(has_log)(git_refdb_backend *backend, const char *refname); + + /** + * Make sure a particular reference will have a reflog which + * will be appended to on writes. + * + * A refdb implementation must provide this function. + * + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(ensure_log)(git_refdb_backend *backend, const char *refname); + + /** + * Frees any resources held by the refdb (including the `git_refdb_backend` + * itself). + * + * A refdb backend implementation must provide this function. + */ + void GIT_CALLBACK(free)(git_refdb_backend *backend); + + /** + * Read the reflog for the given reference name. + * + * A refdb implementation must provide this function. + * + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_read)(git_reflog **out, git_refdb_backend *backend, const char *name); + + /** + * Write a reflog to disk. + * + * A refdb implementation must provide this function. + * + * @param reflog The complete reference log for a given reference. Note + * that this may contain entries that have already been + * written to disk. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_write)(git_refdb_backend *backend, git_reflog *reflog); + + /** + * Rename a reflog. + * + * A refdb implementation must provide this function. + * + * @param old_name The name of old reference whose reflog shall be renamed from. + * @param new_name The name of new reference whose reflog shall be renamed to. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_rename)(git_refdb_backend *_backend, const char *old_name, const char *new_name); + + /** + * Remove a reflog. + * + * A refdb implementation must provide this function. + * + * @param name The name of the reference whose reflog shall be deleted. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(reflog_delete)(git_refdb_backend *backend, const char *name); + + /** + * Lock a reference. + * + * A refdb implementation may provide this function; if it is not + * provided, the transaction API will fail to work. + * + * @param payload_out Opaque parameter that will be passed verbosely to + * `unlock`. + * @param refname Reference that shall be locked. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(lock)(void **payload_out, git_refdb_backend *backend, const char *refname); + + /** + * Unlock a reference. + * + * Only one of target or symbolic_target will be set. + * `success` will be true if the reference should be update, false if + * the lock must be discarded. + * + * A refdb implementation must provide this function if a `lock` + * implementation is provided. + * + * @param payload The payload returned by `lock`. + * @param success `1` if a reference should be updated, `2` if + * a reference should be deleted, `0` if the lock must be + * discarded. + * @param update_reflog `1` in case the reflog should be updated, `0` + * otherwise. + * @param ref The reference which should be unlocked. + * @param who The person updating the reference. Shall be used to create + * a reflog entry in case `update_reflog` is set. + * @param message The message detailing what kind of reference update is + * performed. Shall be used to create a reflog entry in + * case `update_reflog` is set. + * @return `0` on success, a negative error code otherwise + */ + int GIT_CALLBACK(unlock)(git_refdb_backend *backend, void *payload, int success, int update_reflog, + const git_reference *ref, const git_signature *sig, const char *message); +}; + +/** Current version for the `git_refdb_backend_options` structure */ +#define GIT_REFDB_BACKEND_VERSION 1 + +/** Static constructor for `git_refdb_backend_options` */ +#define GIT_REFDB_BACKEND_INIT {GIT_REFDB_BACKEND_VERSION} + +/** + * Initializes a `git_refdb_backend` with default values. Equivalent to + * creating an instance with GIT_REFDB_BACKEND_INIT. + * + * @param backend the `git_refdb_backend` struct to initialize + * @param version Version of struct; pass `GIT_REFDB_BACKEND_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_refdb_init_backend( + git_refdb_backend *backend, + unsigned int version); + +/** + * Constructors for default filesystem-based refdb backend + * + * Under normal usage, this is called for you when the repository is + * opened / created, but you can use this to explicitly construct a + * filesystem refdb backend for a repository. + * + * @param backend_out Output pointer to the git_refdb_backend object + * @param repo Git repository to access + * @return 0 on success, <0 error code on failure + */ +GIT_EXTERN(int) git_refdb_backend_fs( + git_refdb_backend **backend_out, + git_repository *repo); + +/** + * Sets the custom backend to an existing reference DB + * + * The `git_refdb` will take ownership of the `git_refdb_backend` so you + * should NOT free it after calling this function. + * + * @param refdb database to add the backend to + * @param backend pointer to a git_refdb_backend instance + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_refdb_set_backend( + git_refdb *refdb, + git_refdb_backend *backend); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/refs.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/refs.h new file mode 100644 index 00000000..e434e67c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/refs.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_refdb_h__ +#define INCLUDE_sys_git_refdb_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/refs.h + * @brief Low-level git reference creation + * @defgroup git_backend Low-level git reference creation + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new direct reference from an OID. + * + * @param name the reference name + * @param oid the object id for a direct reference + * @param peel the first non-tag object's OID, or NULL + * @return the created git_reference or NULL on error + */ +GIT_EXTERN(git_reference *) git_reference__alloc( + const char *name, + const git_oid *oid, + const git_oid *peel); + +/** + * Create a new symbolic reference. + * + * @param name the reference name + * @param target the target for a symbolic reference + * @return the created git_reference or NULL on error + */ +GIT_EXTERN(git_reference *) git_reference__alloc_symbolic( + const char *name, + const char *target); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/remote.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/remote.h new file mode 100644 index 00000000..476965da --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/remote.h @@ -0,0 +1,53 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_remote_h +#define INCLUDE_sys_git_remote_h + +#include "git2/remote.h" + +/** + * @file git2/sys/remote.h + * @brief Low-level remote functionality for custom transports + * @defgroup git_remote Low-level remote functionality for custom transports + * @ingroup Git + * @{ +*/ + +GIT_BEGIN_DECL + +/** + * A remote's capabilities. + */ +typedef enum { + /** Remote supports fetching an advertised object by ID. */ + GIT_REMOTE_CAPABILITY_TIP_OID = (1 << 0), + + /** Remote supports fetching an individual reachable object. */ + GIT_REMOTE_CAPABILITY_REACHABLE_OID = (1 << 1), + + /** Remote supports push options. */ + GIT_REMOTE_CAPABILITY_PUSH_OPTIONS = (1 << 2), +} git_remote_capability_t; + +/** + * Disposes libgit2-initialized fields from a git_remote_connect_options. + * This should only be used for git_remote_connect_options returned by + * git_transport_remote_connect_options. + * + * Note that this does not free the `git_remote_connect_options` itself, just + * the memory pointed to by it. + * + * @param opts The `git_remote_connect_options` struct to dispose. + */ +GIT_EXTERN(void) git_remote_connect_options_dispose( + git_remote_connect_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/repository.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/repository.h new file mode 100644 index 00000000..026ac8a1 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/repository.h @@ -0,0 +1,240 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_repository_h__ +#define INCLUDE_sys_git_repository_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/oid.h" + +/** + * @file git2/sys/repository.h + * @brief Custom repository handling + * @defgroup git_repository Custom repository handling + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +#ifdef GIT_EXPERIMENTAL_SHA256 + +/** + * The options for creating an repository from scratch. + * + * Initialize with `GIT_REPOSITORY_NEW_OPTIONS_INIT`. Alternatively, + * you can use `git_repository_new_options_init`. + * + * @options[version] GIT_REPOSITORY_NEW_OPTIONS_VERSION + * @options[init_macro] GIT_REPOSITORY_NEW_OPTIONS_INIT + * @options[init_function] git_repository_new_options_init + */ +typedef struct git_repository_new_options { + unsigned int version; /**< The version */ + + /** + * The object ID type for the object IDs that exist in the index. + * + * If this is not specified, this defaults to `GIT_OID_SHA1`. + */ + git_oid_t oid_type; +} git_repository_new_options; + +/** Current version for the `git_repository_new_options` structure */ +#define GIT_REPOSITORY_NEW_OPTIONS_VERSION 1 + +/** Static constructor for `git_repository_new_options` */ +#define GIT_REPOSITORY_NEW_OPTIONS_INIT { GIT_REPOSITORY_NEW_OPTIONS_VERSION } + +/** + * Initialize git_repository_new_options structure + * + * Initializes a `git_repository_new_options` with default values. + * Equivalent to creating an instance with + * `GIT_REPOSITORY_NEW_OPTIONS_INIT`. + * + * @param opts The `git_repository_new_options` struct to initialize. + * @param version The struct version; pass `GIT_REPOSITORY_NEW_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_repository_new_options_init( + git_repository_new_options *opts, + unsigned int version); + +/** + * Create a new repository with no backends. + * + * @param[out] out The blank repository + * @param opts the options for repository creation, or NULL for defaults + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_new(git_repository **out, git_repository_new_options *opts); +#else + +/** + * Create a new repository with neither backends nor config object + * + * Note that this is only useful if you wish to associate the repository + * with a non-filesystem-backed object database and config store. + * + * Caveats: since this repository has no physical location, some systems + * can fail to function properly: locations under $GIT_DIR, $GIT_COMMON_DIR, + * or $GIT_INFO_DIR are impacted. + * + * @param[out] out The blank repository + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_new(git_repository **out); + +#endif + +/** + * Reset all the internal state in a repository. + * + * This will free all the mapped memory and internal objects + * of the repository and leave it in a "blank" state. + * + * There's no need to call this function directly unless you're + * trying to aggressively cleanup the repo before its + * deallocation. `git_repository_free` already performs this operation + * before deallocating the repo. + * + * @param repo The repository to clean up + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository__cleanup(git_repository *repo); + +/** + * Update the filesystem config settings for an open repository + * + * When a repository is initialized, config values are set based on the + * properties of the filesystem that the repository is on, such as + * "core.ignorecase", "core.filemode", "core.symlinks", etc. If the + * repository is moved to a new filesystem, these properties may no + * longer be correct and API calls may not behave as expected. This + * call reruns the phase of repository initialization that sets those + * properties to compensate for the current filesystem of the repo. + * + * @param repo A repository object + * @param recurse_submodules Should submodules be updated recursively + * @return 0 on success, < 0 on error + */ +GIT_EXTERN(int) git_repository_reinit_filesystem( + git_repository *repo, + int recurse_submodules); + +/** + * Set the configuration file for this repository + * + * This configuration file will be used for all configuration + * queries involving this repository. + * + * The repository will keep a reference to the config file; + * the user must still free the config after setting it + * to the repository, or it will leak. + * + * @param repo A repository object + * @param config A Config object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_config(git_repository *repo, git_config *config); + +/** + * Set the Object Database for this repository + * + * The ODB will be used for all object-related operations + * involving this repository. + * + * The repository will keep a reference to the ODB; the user + * must still free the ODB object after setting it to the + * repository, or it will leak. + * + * @param repo A repository object + * @param odb An ODB object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_odb(git_repository *repo, git_odb *odb); + +/** + * Set the Reference Database Backend for this repository + * + * The refdb will be used for all reference related operations + * involving this repository. + * + * The repository will keep a reference to the refdb; the user + * must still free the refdb object after setting it to the + * repository, or it will leak. + * + * @param repo A repository object + * @param refdb An refdb object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_refdb(git_repository *repo, git_refdb *refdb); + +/** + * Set the index file for this repository + * + * This index will be used for all index-related operations + * involving this repository. + * + * The repository will keep a reference to the index file; + * the user must still free the index after setting it + * to the repository, or it will leak. + * + * @param repo A repository object + * @param index An index object + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_set_index(git_repository *repo, git_index *index); + +/** + * Set a repository to be bare. + * + * Clear the working directory and set core.bare to true. You may also + * want to call `git_repository_set_index(repo, NULL)` since a bare repo + * typically does not have an index, but this function will not do that + * for you. + * + * @param repo Repo to make bare + * @return 0 on success, <0 on failure + */ +GIT_EXTERN(int) git_repository_set_bare(git_repository *repo); + +/** + * Load and cache all submodules. + * + * Because the `.gitmodules` file is unstructured, loading submodules is an + * O(N) operation. Any operation (such as `git_rebase_init`) that requires + * accessing all submodules is O(N^2) in the number of submodules, if it + * has to look each one up individually. This function loads all submodules + * and caches them so that subsequent calls to `git_submodule_lookup` are O(1). + * + * @param repo the repository whose submodules will be cached. + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_submodule_cache_all( + git_repository *repo); + +/** + * Clear the submodule cache. + * + * Clear the submodule cache populated by `git_repository_submodule_cache_all`. + * If there is no cache, do nothing. + * + * The cache incorporates data from the repository's configuration, as well + * as the state of the working tree, the index, and HEAD. So any time any + * of these has changed, the cache might become invalid. + * + * @param repo the repository whose submodule cache will be cleared + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_repository_submodule_cache_clear( + git_repository *repo); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/stream.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/stream.h new file mode 100644 index 00000000..eabff686 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/stream.h @@ -0,0 +1,161 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_sys_git_stream_h__ +#define INCLUDE_sys_git_stream_h__ + +#include "git2/common.h" +#include "git2/types.h" +#include "git2/proxy.h" + +/** + * @file git2/sys/stream.h + * @brief Streaming file I/O functionality + * @defgroup git_stream Streaming file I/O functionality + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** Current version for the `git_stream` structures */ +#define GIT_STREAM_VERSION 1 + +/** + * Every stream must have this struct as its first element, so the + * API can talk to it. You'd define your stream as + * + * struct my_stream { + * git_stream parent; + * ... + * } + * + * and fill the functions + */ +typedef struct git_stream { + int version; + + unsigned int encrypted : 1, + proxy_support : 1; + + /** + * Timeout for read and write operations; can be set to `0` to + * block indefinitely. + */ + int timeout; + + /** + * Timeout to connect to the remote server; can be set to `0` + * to use the system defaults. This can be shorter than the + * system default - often 75 seconds - but cannot be longer. + */ + int connect_timeout; + + int GIT_CALLBACK(connect)(struct git_stream *); + int GIT_CALLBACK(certificate)(git_cert **, struct git_stream *); + int GIT_CALLBACK(set_proxy)(struct git_stream *, const git_proxy_options *proxy_opts); + ssize_t GIT_CALLBACK(read)(struct git_stream *, void *, size_t); + ssize_t GIT_CALLBACK(write)(struct git_stream *, const char *, size_t, int); + int GIT_CALLBACK(close)(struct git_stream *); + void GIT_CALLBACK(free)(struct git_stream *); +} git_stream; + +typedef struct { + /** The `version` field should be set to `GIT_STREAM_VERSION`. */ + int version; + + /** + * Called to create a new connection to a given host. + * + * @param out The created stream + * @param host The hostname to connect to; may be a hostname or + * IP address + * @param port The port to connect to; may be a port number or + * service name + * @return 0 or an error code + */ + int GIT_CALLBACK(init)(git_stream **out, const char *host, const char *port); + + /** + * Called to create a new connection on top of the given stream. If + * this is a TLS stream, then this function may be used to proxy a + * TLS stream over an HTTP CONNECT session. If this is unset, then + * HTTP CONNECT proxies will not be supported. + * + * @param out The created stream + * @param in An existing stream to add TLS to + * @param host The hostname that the stream is connected to, + * for certificate validation + * @return 0 or an error code + */ + int GIT_CALLBACK(wrap)(git_stream **out, git_stream *in, const char *host); +} git_stream_registration; + +/** + * The type of stream to register. + */ +typedef enum { + /** A standard (non-TLS) socket. */ + GIT_STREAM_STANDARD = 1, + + /** A TLS-encrypted socket. */ + GIT_STREAM_TLS = 2 +} git_stream_t; + +/** + * Register stream constructors for the library to use + * + * If a registration structure is already set, it will be overwritten. + * Pass `NULL` in order to deregister the current constructor and return + * to the system defaults. + * + * The type parameter may be a bitwise AND of types. + * + * @param type the type or types of stream to register + * @param registration the registration data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_stream_register( + git_stream_t type, git_stream_registration *registration); + +#ifndef GIT_DEPRECATE_HARD + +/** @name Deprecated TLS Stream Registration Functions + * + * These functions are retained for backward compatibility. The newer + * versions of these values should be preferred in all new code. + * + * There is no plan to remove these backward compatibility values at + * this time. + */ +/**@{*/ + +/** + * @deprecated Provide a git_stream_registration to git_stream_register + * @see git_stream_registration + */ +typedef int GIT_CALLBACK(git_stream_cb)(git_stream **out, const char *host, const char *port); + +/** + * Register a TLS stream constructor for the library to use. This stream + * will not support HTTP CONNECT proxies. This internally calls + * `git_stream_register` and is preserved for backward compatibility. + * + * This function is deprecated, but there is no plan to remove this + * function at this time. + * + * @deprecated Provide a git_stream_registration to git_stream_register + * @see git_stream_register + */ +GIT_EXTERN(int) git_stream_register_tls(git_stream_cb ctor); + +/**@}*/ + +#endif + +/**@}*/ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/transport.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/transport.h new file mode 100644 index 00000000..ad6765c6 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/sys/transport.h @@ -0,0 +1,486 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#ifndef INCLUDE_sys_git_transport_h +#define INCLUDE_sys_git_transport_h + +#include "git2/net.h" +#include "git2/oidarray.h" +#include "git2/proxy.h" +#include "git2/remote.h" +#include "git2/strarray.h" +#include "git2/transport.h" +#include "git2/types.h" + +/** + * @file git2/sys/transport.h + * @brief Custom transport registration interfaces and functions + * @defgroup git_transport Custom transport registration + * @ingroup Git + * + * Callers can override the default HTTPS or SSH implementation by + * specifying a custom transport. + * @{ + */ + +GIT_BEGIN_DECL + +/** + * The negotiation state during a fetch smart transport negotiation. + */ +typedef struct { + const git_remote_head * const *refs; + size_t refs_len; + git_oid *shallow_roots; + size_t shallow_roots_len; + int depth; +} git_fetch_negotiation; + +struct git_transport { + unsigned int version; /**< The struct version */ + + /** + * Connect the transport to the remote repository, using the given + * direction. + */ + int GIT_CALLBACK(connect)( + git_transport *transport, + const char *url, + int direction, + const git_remote_connect_options *connect_opts); + + /** + * Resets the connect options for the given transport. This + * is useful for updating settings or callbacks for an already + * connected transport. + */ + int GIT_CALLBACK(set_connect_opts)( + git_transport *transport, + const git_remote_connect_options *connect_opts); + + /** + * Gets the capabilities for this remote repository. + * + * This function may be called after a successful call to + * `connect()`. + */ + int GIT_CALLBACK(capabilities)( + unsigned int *capabilities, + git_transport *transport); + +#ifdef GIT_EXPERIMENTAL_SHA256 + /** + * Gets the object type for the remote repository. + * + * This function may be called after a successful call to + * `connect()`. + */ + int GIT_CALLBACK(oid_type)( + git_oid_t *object_type, + git_transport *transport); +#endif + + /** + * Get the list of available references in the remote repository. + * + * This function may be called after a successful call to + * `connect()`. The array returned is owned by the transport and + * must be kept valid until the next call to one of its functions. + */ + int GIT_CALLBACK(ls)( + const git_remote_head ***out, + size_t *size, + git_transport *transport); + + /** Executes the push whose context is in the git_push object. */ + int GIT_CALLBACK(push)( + git_transport *transport, + git_push *push); + + /** + * Negotiate a fetch with the remote repository. + * + * This function may be called after a successful call to `connect()`, + * when the direction is GIT_DIRECTION_FETCH. The function performs a + * negotiation to calculate the `wants` list for the fetch. + */ + int GIT_CALLBACK(negotiate_fetch)( + git_transport *transport, + git_repository *repo, + const git_fetch_negotiation *fetch_data); + + /** + * Return the shallow roots of the remote. + * + * This function may be called after a successful call to + * `negotiate_fetch`. + */ + int GIT_CALLBACK(shallow_roots)( + git_oidarray *out, + git_transport *transport); + + /** + * Start downloading the packfile from the remote repository. + * + * This function may be called after a successful call to + * negotiate_fetch(), when the direction is GIT_DIRECTION_FETCH. + */ + int GIT_CALLBACK(download_pack)( + git_transport *transport, + git_repository *repo, + git_indexer_progress *stats); + + /** Checks to see if the transport is connected */ + int GIT_CALLBACK(is_connected)(git_transport *transport); + + /** Cancels any outstanding transport operation */ + void GIT_CALLBACK(cancel)(git_transport *transport); + + /** + * Close the connection to the remote repository. + * + * This function is the reverse of connect() -- it terminates the + * connection to the remote end. + */ + int GIT_CALLBACK(close)(git_transport *transport); + + /** Frees/destructs the git_transport object. */ + void GIT_CALLBACK(free)(git_transport *transport); +}; + +/** Current version for the `git_transport` structure */ +#define GIT_TRANSPORT_VERSION 1 + +/** Static constructor for `git_transport` */ +#define GIT_TRANSPORT_INIT {GIT_TRANSPORT_VERSION} + +/** + * Initializes a `git_transport` with default values. Equivalent to + * creating an instance with GIT_TRANSPORT_INIT. + * + * @param opts the `git_transport` struct to initialize + * @param version Version of struct; pass `GIT_TRANSPORT_VERSION` + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_transport_init( + git_transport *opts, + unsigned int version); + +/** + * Function to use to create a transport from a URL. The transport database + * is scanned to find a transport that implements the scheme of the URI (i.e. + * git:// or http://) and a transport object is returned to the caller. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param url The URL to connect to + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_new(git_transport **out, git_remote *owner, const char *url); + +/** + * Create an ssh transport with custom git command paths + * + * This is a factory function suitable for setting as the transport + * callback in a remote (or for a clone in the options). + * + * The payload argument must be a strarray pointer with the paths for + * the `git-upload-pack` and `git-receive-pack` at index 0 and 1. + * + * @param out the resulting transport + * @param owner the owning remote + * @param payload a strarray with the paths + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_ssh_with_paths(git_transport **out, git_remote *owner, void *payload); + +/** + * Add a custom transport definition, to be used in addition to the built-in + * set of transports that come with libgit2. + * + * The caller is responsible for synchronizing calls to git_transport_register + * and git_transport_unregister with other calls to the library that + * instantiate transports. + * + * @param prefix The scheme (ending in "://") to match, i.e. "git://" + * @param cb The callback used to create an instance of the transport + * @param param A fixed parameter to pass to cb at creation time + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_register( + const char *prefix, + git_transport_cb cb, + void *param); + +/** + * Unregister a custom transport definition which was previously registered + * with git_transport_register. + * + * The caller is responsible for synchronizing calls to git_transport_register + * and git_transport_unregister with other calls to the library that + * instantiate transports. + * + * @param prefix From the previous call to git_transport_register + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_unregister( + const char *prefix); + +/* Transports which come with libgit2 (match git_transport_cb). The expected + * value for "param" is listed in-line below. */ + +/** + * Create an instance of the dummy transport. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param payload You must pass NULL for this parameter. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_dummy( + git_transport **out, + git_remote *owner, + /* NULL */ void *payload); + +/** + * Create an instance of the local transport. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param payload You must pass NULL for this parameter. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_local( + git_transport **out, + git_remote *owner, + /* NULL */ void *payload); + +/** + * Create an instance of the smart transport. + * + * @param out The newly created transport (out) + * @param owner The git_remote which will own this transport + * @param payload A pointer to a git_smart_subtransport_definition + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transport_smart( + git_transport **out, + git_remote *owner, + /* (git_smart_subtransport_definition *) */ void *payload); + +/** + * Call the certificate check for this transport. + * + * @param transport a smart transport + * @param cert the certificate to pass to the caller + * @param valid whether we believe the certificate is valid + * @param hostname the hostname we connected to + * @return the return value of the callback: 0 for no error, GIT_PASSTHROUGH + * to indicate that there is no callback registered (or the callback + * refused to validate the certificate and callers should behave as + * if no callback was set), or < 0 for an error + */ +GIT_EXTERN(int) git_transport_smart_certificate_check(git_transport *transport, git_cert *cert, int valid, const char *hostname); + +/** + * Call the credentials callback for this transport + * + * @param out the pointer where the creds are to be stored + * @param transport a smart transport + * @param user the user we saw on the url (if any) + * @param methods available methods for authentication + * @return the return value of the callback: 0 for no error, GIT_PASSTHROUGH + * to indicate that there is no callback registered (or the callback + * refused to provide credentials and callers should behave as if no + * callback was set), or < 0 for an error + */ +GIT_EXTERN(int) git_transport_smart_credentials(git_credential **out, git_transport *transport, const char *user, int methods); + +/** + * Get a copy of the remote connect options + * + * All data is copied and must be freed by the caller by calling + * `git_remote_connect_options_dispose`. + * + * @param out options struct to fill + * @param transport the transport to extract the data from. + * @return 0 on success, or an error code + */ +GIT_EXTERN(int) git_transport_remote_connect_options( + git_remote_connect_options *out, + git_transport *transport); + +/* + *** End of base transport interface *** + *** Begin interface for subtransports for the smart transport *** + */ + +/** Actions that the smart transport can ask a subtransport to perform */ +typedef enum { + GIT_SERVICE_UPLOADPACK_LS = 1, + GIT_SERVICE_UPLOADPACK = 2, + GIT_SERVICE_RECEIVEPACK_LS = 3, + GIT_SERVICE_RECEIVEPACK = 4 +} git_smart_service_t; + +typedef struct git_smart_subtransport git_smart_subtransport; +typedef struct git_smart_subtransport_stream git_smart_subtransport_stream; + +/** + * A stream used by the smart transport to read and write data + * from a subtransport. + * + * This provides a customization point in case you need to + * support some other communication method. + */ +struct git_smart_subtransport_stream { + git_smart_subtransport *subtransport; /**< The owning subtransport */ + + /** + * Read available data from the stream. + * + * The implementation may read less than requested. + */ + int GIT_CALLBACK(read)( + git_smart_subtransport_stream *stream, + char *buffer, + size_t buf_size, + size_t *bytes_read); + + /** + * Write data to the stream + * + * The implementation must write all data or return an error. + */ + int GIT_CALLBACK(write)( + git_smart_subtransport_stream *stream, + const char *buffer, + size_t len); + + /** Free the stream */ + void GIT_CALLBACK(free)( + git_smart_subtransport_stream *stream); +}; + +/** + * An implementation of a subtransport which carries data for the + * smart transport + */ +struct git_smart_subtransport { + /** + * Setup a subtransport stream for the requested action. + */ + int GIT_CALLBACK(action)( + git_smart_subtransport_stream **out, + git_smart_subtransport *transport, + const char *url, + git_smart_service_t action); + + /** + * Close the subtransport. + * + * Subtransports are guaranteed a call to close() between + * calls to action(), except for the following two "natural" progressions + * of actions against a constant URL: + * + * - UPLOADPACK_LS -> UPLOADPACK + * - RECEIVEPACK_LS -> RECEIVEPACK + */ + int GIT_CALLBACK(close)(git_smart_subtransport *transport); + + /** Free the subtransport */ + void GIT_CALLBACK(free)(git_smart_subtransport *transport); +}; + +/** + * A function that creates a new subtransport for the smart transport + * + * @param out the smart subtransport + * @param owner the transport owner + * @param param the input parameter + * @return 0 on success, or an error code + */ +typedef int GIT_CALLBACK(git_smart_subtransport_cb)( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** + * Definition for a "subtransport" + * + * The smart transport knows how to speak the git protocol, but it has no + * knowledge of how to establish a connection between it and another endpoint, + * or how to move data back and forth. For this, a subtransport interface is + * declared, and the smart transport delegates this work to the subtransports. + * + * Three subtransports are provided by libgit2: ssh, git, http(s). + * + * Subtransports can either be RPC = 0 (persistent connection) or RPC = 1 + * (request/response). The smart transport handles the differences in its own + * logic. The git subtransport is RPC = 0, while http is RPC = 1. + */ +typedef struct git_smart_subtransport_definition { + /** The function to use to create the git_smart_subtransport */ + git_smart_subtransport_cb callback; + + /** + * True if the protocol is stateless; false otherwise. For example, + * http:// is stateless, but git:// is not. + */ + unsigned rpc; + + /** User-specified parameter passed to the callback */ + void *param; +} git_smart_subtransport_definition; + +/* Smart transport subtransports that come with libgit2 */ + +/** + * Create an instance of the http subtransport. + * + * This subtransport also supports https. + * + * @param out The newly created subtransport + * @param owner The smart transport to own this subtransport + * @param param custom parameters for the subtransport + * @return 0 or an error code + */ +GIT_EXTERN(int) git_smart_subtransport_http( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** + * Create an instance of the git subtransport. + * + * @param out The newly created subtransport + * @param owner The smart transport to own this subtransport + * @param param custom parameters for the subtransport + * @return 0 or an error code + */ +GIT_EXTERN(int) git_smart_subtransport_git( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** + * Create an instance of the ssh subtransport. + * + * @param out The newly created subtransport + * @param owner The smart transport to own this subtransport + * @param param custom parameters for the subtransport + * @return 0 or an error code + */ +GIT_EXTERN(int) git_smart_subtransport_ssh( + git_smart_subtransport **out, + git_transport *owner, + void *param); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/tag.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/tag.h new file mode 100644 index 00000000..3b0c12eb --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/tag.h @@ -0,0 +1,385 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_tag_h__ +#define INCLUDE_git_tag_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" +#include "strarray.h" + +/** + * @file git2/tag.h + * @brief A (nearly) immutable pointer to a commit; useful for versioning + * @defgroup git_tag Git tag management + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a tag object from the repository. + * + * @param out pointer to the looked up tag + * @param repo the repo to use when locating the tag. + * @param id identity of the tag to locate. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_lookup( + git_tag **out, git_repository *repo, const git_oid *id); + +/** + * Lookup a tag object from the repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param out pointer to the looked up tag + * @param repo the repo to use when locating the tag. + * @param id identity of the tag to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_lookup_prefix( + git_tag **out, git_repository *repo, const git_oid *id, size_t len); + +/** + * Close an open tag + * + * You can no longer use the git_tag pointer after this call. + * + * 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. + * + * @param tag the tag to close + */ +GIT_EXTERN(void) git_tag_free(git_tag *tag); + +/** + * Get the id of a tag. + * + * @param tag a previously loaded tag. + * @return object identity for the tag. + */ +GIT_EXTERN(const git_oid *) git_tag_id(const git_tag *tag); + +/** + * Get the repository that contains the tag. + * + * @param tag A previously loaded tag. + * @return Repository that contains this tag. + */ +GIT_EXTERN(git_repository *) git_tag_owner(const git_tag *tag); + +/** + * Get the tagged object of a tag + * + * This method performs a repository lookup for the + * given object and returns it + * + * @param target_out pointer where to store the target + * @param tag a previously loaded tag. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_target(git_object **target_out, const git_tag *tag); + +/** + * Get the OID of the tagged object of a tag + * + * @param tag a previously loaded tag. + * @return pointer to the OID + */ +GIT_EXTERN(const git_oid *) git_tag_target_id(const git_tag *tag); + +/** + * Get the type of a tag's tagged object + * + * @param tag a previously loaded tag. + * @return type of the tagged object + */ +GIT_EXTERN(git_object_t) git_tag_target_type(const git_tag *tag); + +/** + * Get the name of a tag + * + * @param tag a previously loaded tag. + * @return name of the tag + */ +GIT_EXTERN(const char *) git_tag_name(const git_tag *tag); + +/** + * Get the tagger (author) of a tag + * + * @param tag a previously loaded tag. + * @return reference to the tag's author or NULL when unspecified + */ +GIT_EXTERN(const git_signature *) git_tag_tagger(const git_tag *tag); + +/** + * Get the message of a tag + * + * @param tag a previously loaded tag. + * @return message of the tag or NULL when unspecified + */ +GIT_EXTERN(const char *) git_tag_message(const git_tag *tag); + + +/** + * Create a new tag in the repository from an object + * + * 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. + * + * The message will not be cleaned up. This can be achieved + * through `git_message_prettify()`. + * + * The tag name will be checked for validity. You must avoid + * the characters '~', '^', ':', '\\', '?', '[', and '*', and the + * sequences ".." and "@{" which have special meaning to revparse. + * + * @param oid Pointer where to store the OID of the + * newly created tag. If the tag already exists, this parameter + * will be the oid of the existing tag, and the function will + * return a GIT_EEXISTS error code. + * + * @param repo Repository where to store the tag + * + * @param tag_name Name for the tag; this name is validated + * for consistency. It should also not conflict with an + * already existing tag name + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param tagger Signature of the tagger for this tag, and + * of the tagging time + * + * @param message Full message for this tag + * + * @param force Overwrite existing references + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code + * A tag object is written to the ODB, and a proper reference + * is written in the /refs/tags folder, pointing to it + */ +GIT_EXTERN(int) git_tag_create( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + const git_signature *tagger, + const char *message, + int force); + +/** + * Create a new tag in the object database pointing to a git_object + * + * The message will not be cleaned up. This can be achieved + * through `git_message_prettify()`. + * + * @param oid Pointer where to store the OID of the + * newly created tag + * + * @param repo Repository where to store the tag + * + * @param tag_name Name for the tag + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param tagger Signature of the tagger for this tag, and + * of the tagging time + * + * @param message Full message for this tag + * + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_tag_annotation_create( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + const git_signature *tagger, + const char *message); + +/** + * Create a new tag in the repository from a buffer + * + * @param oid Pointer where to store the OID of the newly created tag + * @param repo Repository where to store the tag + * @param buffer Raw tag data + * @param force Overwrite existing tags + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_tag_create_from_buffer( + git_oid *oid, + git_repository *repo, + const char *buffer, + int force); + +/** + * Create a new lightweight tag pointing at a target object + * + * 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. + * + * The tag name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param oid Pointer where to store the OID of the provided + * target object. If the tag already exists, this parameter + * will be filled with the oid of the existing pointed object + * and the function will return a GIT_EEXISTS error code. + * + * @param repo Repository where to store the lightweight tag + * + * @param tag_name Name for the tag; this name is validated + * for consistency. It should also not conflict with an + * already existing tag name + * + * @param target Object to which this tag points. This object + * must belong to the given `repo`. + * + * @param force Overwrite existing references + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code + * A proper reference is written in the /refs/tags folder, + * pointing to the provided target object + */ +GIT_EXTERN(int) git_tag_create_lightweight( + git_oid *oid, + git_repository *repo, + const char *tag_name, + const git_object *target, + int force); + +/** + * Delete an existing tag reference. + * + * The tag name will be checked for validity. + * See `git_tag_create()` for rules about valid names. + * + * @param repo Repository where lives the tag + * + * @param tag_name Name of the tag to be deleted; + * this name is validated for consistency. + * + * @return 0 on success, GIT_EINVALIDSPEC or an error code + */ +GIT_EXTERN(int) git_tag_delete( + git_repository *repo, + const char *tag_name); + +/** + * Fill a list with all the tags in the Repository + * + * 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`. + * + * @param tag_names Pointer to a git_strarray structure where + * the tag names will be stored + * @param repo Repository where to find the tags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_list( + git_strarray *tag_names, + git_repository *repo); + +/** + * Fill a list with all the tags in the Repository + * which name match a defined pattern + * + * If an empty pattern is provided, all the tags + * will be returned. + * + * 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`. + * + * @param tag_names Pointer to a git_strarray structure where + * the tag names will be stored + * @param pattern Standard fnmatch pattern + * @param repo Repository where to find the tags + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_list_match( + git_strarray *tag_names, + const char *pattern, + git_repository *repo); + +/** + * Callback used to iterate over tag names + * + * @see git_tag_foreach + * + * @param name The tag name + * @param oid The tag's OID + * @param payload Payload passed to git_tag_foreach + * @return non-zero to terminate the iteration + */ +typedef int GIT_CALLBACK(git_tag_foreach_cb)(const char *name, git_oid *oid, void *payload); + +/** + * Call callback `cb' for each tag in the repository + * + * @param repo Repository + * @param callback Callback function + * @param payload Pointer to callback data (optional) + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_tag_foreach( + git_repository *repo, + git_tag_foreach_cb callback, + void *payload); + + +/** + * Recursively peel a tag until a non tag git_object is found + * + * The retrieved `tag_target` object is owned by the repository + * and should be closed with the `git_object_free` method. + * + * @param tag_target_out Pointer to the peeled git_object + * @param tag The tag to be processed + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tag_peel( + git_object **tag_target_out, + const git_tag *tag); + +/** + * Create an in-memory copy of a tag. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the tag + * @param source Original tag to copy + * @return 0 + */ +GIT_EXTERN(int) git_tag_dup(git_tag **out, git_tag *source); + +/** + * Determine whether a tag name is valid, meaning that (when prefixed + * with `refs/tags/`) that it is a valid reference name, and that any + * additional tag name restrictions are imposed (eg, it cannot start + * with a `-`). + * + * @param valid output pointer to set with validity of given tag name + * @param name a tag name to test + * @return 0 on success or an error code + */ +GIT_EXTERN(int) git_tag_name_is_valid(int *valid, const char *name); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/trace.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/trace.h new file mode 100644 index 00000000..62cb87c0 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/trace.h @@ -0,0 +1,73 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_trace_h__ +#define INCLUDE_git_trace_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/trace.h + * @brief Tracing functionality to introspect libgit2 in your application + * @defgroup git_trace Tracing functionality to introspect libgit2 in your application + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Available tracing levels. When tracing is set to a particular level, + * callers will be provided tracing at the given level and all lower levels. + */ +typedef enum { + /** No tracing will be performed. */ + GIT_TRACE_NONE = 0, + + /** Severe errors that may impact the program's execution */ + GIT_TRACE_FATAL = 1, + + /** Errors that do not impact the program's execution */ + GIT_TRACE_ERROR = 2, + + /** Warnings that suggest abnormal data */ + GIT_TRACE_WARN = 3, + + /** Informational messages about program execution */ + GIT_TRACE_INFO = 4, + + /** Detailed data that allows for debugging */ + GIT_TRACE_DEBUG = 5, + + /** Exceptionally detailed debugging data */ + GIT_TRACE_TRACE = 6 +} git_trace_level_t; + +/** + * An instance for a tracing function + * + * @param level the trace level + * @param msg the trace message + */ +typedef void GIT_CALLBACK(git_trace_cb)( + git_trace_level_t level, + const char *msg); + +/** + * Sets the system tracing configuration to the specified level with the + * specified callback. When system events occur at a level equal to, or + * lower than, the given level they will be reported to the given callback. + * + * @param level Level to set tracing to + * @param cb Function to call with trace data + * @return 0 or an error code + */ +GIT_EXTERN(int) git_trace_set(git_trace_level_t level, git_trace_cb cb); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/transaction.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/transaction.h new file mode 100644 index 00000000..212d3291 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/transaction.h @@ -0,0 +1,122 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_transaction_h__ +#define INCLUDE_git_transaction_h__ + +#include "common.h" +#include "types.h" + +/** + * @file git2/transaction.h + * @brief Transactional reference handling + * @defgroup git_transaction Transactional reference handling + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Create a new transaction object + * + * This does not lock anything, but sets up the transaction object to + * know from which repository to lock. + * + * @param out the resulting transaction + * @param repo the repository in which to lock + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transaction_new(git_transaction **out, git_repository *repo); + +/** + * Lock a reference + * + * Lock the specified reference. This is the first step to updating a + * reference. + * + * @param tx the transaction + * @param refname the reference to lock + * @return 0 or an error message + */ +GIT_EXTERN(int) git_transaction_lock_ref(git_transaction *tx, const char *refname); + +/** + * Set the target of a reference + * + * Set the target of the specified reference. This reference must be + * locked. + * + * @param tx the transaction + * @param refname reference to update + * @param target target to set the reference to + * @param sig signature to use in the reflog; pass NULL to read the identity from the config + * @param msg message to use in the reflog + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_set_target(git_transaction *tx, const char *refname, const git_oid *target, const git_signature *sig, const char *msg); + +/** + * Set the target of a reference + * + * Set the target of the specified reference. This reference must be + * locked. + * + * @param tx the transaction + * @param refname reference to update + * @param target target to set the reference to + * @param sig signature to use in the reflog; pass NULL to read the identity from the config + * @param msg message to use in the reflog + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_set_symbolic_target(git_transaction *tx, const char *refname, const char *target, const git_signature *sig, const char *msg); + +/** + * Set the reflog of a reference + * + * Set the specified reference's reflog. If this is combined with + * setting the target, that update won't be written to the reflog. + * + * @param tx the transaction + * @param refname the reference whose reflog to set + * @param reflog the reflog as it should be written out + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_set_reflog(git_transaction *tx, const char *refname, const git_reflog *reflog); + +/** + * Remove a reference + * + * @param tx the transaction + * @param refname the reference to remove + * @return 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code + */ +GIT_EXTERN(int) git_transaction_remove(git_transaction *tx, const char *refname); + +/** + * Commit the changes from the transaction + * + * Perform the changes that have been queued. The updates will be made + * one by one, and the first failure will stop the processing. + * + * @param tx the transaction + * @return 0 or an error code + */ +GIT_EXTERN(int) git_transaction_commit(git_transaction *tx); + +/** + * Free the resources allocated by this transaction + * + * If any references remain locked, they will be unlocked without any + * changes made to them. + * + * @param tx the transaction + */ +GIT_EXTERN(void) git_transaction_free(git_transaction *tx); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/transport.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/transport.h new file mode 100644 index 00000000..04a7390b --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/transport.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_transport_h__ +#define INCLUDE_git_transport_h__ + +#include "indexer.h" +#include "net.h" +#include "types.h" +#include "cert.h" +#include "credential.h" + +/** + * @file git2/transport.h + * @brief Transports are the low-level mechanism to connect to a remote server + * @defgroup git_transport Transports are the low-level mechanism to connect to a remote server + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Callback for messages received by the transport. + * + * Return a negative value to cancel the network operation. + * + * @param str The message from the transport + * @param len The length of the message + * @param payload Payload provided by the caller + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_transport_message_cb)(const char *str, int len, void *payload); + +/** + * Signature of a function which creates a transport. + * + * @param out the transport generate + * @param owner the owner for the transport + * @param param the param to the transport creation + * @return 0 on success or an error code + */ +typedef int GIT_CALLBACK(git_transport_cb)(git_transport **out, git_remote *owner, void *param); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/tree.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/tree.h new file mode 100644 index 00000000..b8e2de21 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/tree.h @@ -0,0 +1,486 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_tree_h__ +#define INCLUDE_git_tree_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" +#include "object.h" + +/** + * @file git2/tree.h + * @brief Trees are collections of files and folders to make up the repository hierarchy + * @defgroup git_tree Trees are collections of files and folders to make up the repository hierarchy + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Lookup a tree object from the repository. + * + * @param[out] out Pointer to the looked up tree + * @param repo The repo to use when locating the tree. + * @param id Identity of the tree to locate. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_lookup( + git_tree **out, git_repository *repo, const git_oid *id); + +/** + * Lookup a tree object from the repository, + * given a prefix of its identifier (short id). + * + * @see git_object_lookup_prefix + * + * @param out pointer to the looked up tree + * @param repo the repo to use when locating the tree. + * @param id identity of the tree to locate. + * @param len the length of the short identifier + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_lookup_prefix( + git_tree **out, + git_repository *repo, + const git_oid *id, + size_t len); + +/** + * Close an open tree + * + * You can no longer use the git_tree pointer after this call. + * + * IMPORTANT: You MUST call this method when you stop using a tree to + * release memory. Failure to do so will cause a memory leak. + * + * @param tree The tree to close + */ +GIT_EXTERN(void) git_tree_free(git_tree *tree); + +/** + * Get the id of a tree. + * + * @param tree a previously loaded tree. + * @return object identity for the tree. + */ +GIT_EXTERN(const git_oid *) git_tree_id(const git_tree *tree); + +/** + * Get the repository that contains the tree. + * + * @param tree A previously loaded tree. + * @return Repository that contains this tree. + */ +GIT_EXTERN(git_repository *) git_tree_owner(const git_tree *tree); + +/** + * Get the number of entries listed in a tree + * + * @param tree a previously loaded tree. + * @return the number of entries in the tree + */ +GIT_EXTERN(size_t) git_tree_entrycount(const git_tree *tree); + +/** + * Lookup a tree entry by its filename + * + * 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. + * + * @param tree a previously loaded tree. + * @param filename the filename of the desired entry + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byname( + const git_tree *tree, const char *filename); + +/** + * Lookup a tree entry by its position in the tree + * + * 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. + * + * @param tree a previously loaded tree. + * @param idx the position in the entry list + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byindex( + const git_tree *tree, size_t idx); + +/** + * Lookup a tree entry by SHA value. + * + * 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. + * + * Warning: this must examine every entry in the tree, so it is not fast. + * + * @param tree a previously loaded tree. + * @param id the sha being looked for + * @return the tree entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_tree_entry_byid( + const git_tree *tree, const git_oid *id); + +/** + * Retrieve a tree entry contained in a tree or in any of its subtrees, + * given its relative path. + * + * Unlike the other lookup functions, the returned tree entry is owned by + * the user and must be freed explicitly with `git_tree_entry_free()`. + * + * @param out Pointer where to store the tree entry + * @param root Previously loaded tree which is the root of the relative path + * @param path Path to the contained entry + * @return 0 on success; GIT_ENOTFOUND if the path does not exist + */ +GIT_EXTERN(int) git_tree_entry_bypath( + git_tree_entry **out, + const git_tree *root, + const char *path); + +/** + * Duplicate a tree entry + * + * Create a copy of a tree entry. The returned copy is owned by the user, + * and must be freed explicitly with `git_tree_entry_free()`. + * + * @param dest pointer where to store the copy + * @param source tree entry to duplicate + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_entry_dup(git_tree_entry **dest, const git_tree_entry *source); + +/** + * Free a user-owned tree entry + * + * IMPORTANT: This function is only needed for tree entries owned by the + * user, such as the ones returned by `git_tree_entry_dup()` or + * `git_tree_entry_bypath()`. + * + * @param entry The entry to free + */ +GIT_EXTERN(void) git_tree_entry_free(git_tree_entry *entry); + +/** + * Get the filename of a tree entry + * + * @param entry a tree entry + * @return the name of the file + */ +GIT_EXTERN(const char *) git_tree_entry_name(const git_tree_entry *entry); + +/** + * Get the id of the object pointed by the entry + * + * @param entry a tree entry + * @return the oid of the object + */ +GIT_EXTERN(const git_oid *) git_tree_entry_id(const git_tree_entry *entry); + +/** + * Get the type of the object pointed by the entry + * + * @param entry a tree entry + * @return the type of the pointed object + */ +GIT_EXTERN(git_object_t) git_tree_entry_type(const git_tree_entry *entry); + +/** + * Get the UNIX file attributes of a tree entry + * + * @param entry a tree entry + * @return filemode as an integer + */ +GIT_EXTERN(git_filemode_t) git_tree_entry_filemode(const git_tree_entry *entry); + +/** + * Get the raw UNIX file attributes of a tree entry + * + * This function does not perform any normalization and is only useful + * if you need to be able to recreate the original tree object. + * + * @param entry a tree entry + * @return filemode as an integer + */ + +GIT_EXTERN(git_filemode_t) git_tree_entry_filemode_raw(const git_tree_entry *entry); +/** + * Compare two tree entries + * + * @param e1 first tree entry + * @param e2 second tree entry + * @return <0 if e1 is before e2, 0 if e1 == e2, >0 if e1 is after e2 + */ +GIT_EXTERN(int) git_tree_entry_cmp(const git_tree_entry *e1, const git_tree_entry *e2); + +/** + * Convert a tree entry to the git_object it points to. + * + * You must call `git_object_free()` on the object when you are done with it. + * + * @param object_out pointer to the converted object + * @param repo repository where to lookup the pointed object + * @param entry a tree entry + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_entry_to_object( + git_object **object_out, + git_repository *repo, + const git_tree_entry *entry); + +/** + * Create a new tree builder. + * + * The tree builder can be used to create or modify trees in memory and + * write them as tree objects to the database. + * + * If the `source` parameter is not NULL, the tree builder will be + * initialized with the entries of the given tree. + * + * If the `source` parameter is NULL, the tree builder will start with no + * entries and will have to be filled manually. + * + * @param out Pointer where to store the tree builder + * @param repo Repository in which to store the object + * @param source Source tree to initialize the builder (optional) + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_treebuilder_new( + git_treebuilder **out, git_repository *repo, const git_tree *source); + +/** + * Clear all the entries in the builder + * + * @param bld Builder to clear + * @return 0 on success; error code otherwise + */ +GIT_EXTERN(int) git_treebuilder_clear(git_treebuilder *bld); + +/** + * Get the number of entries listed in a treebuilder + * + * @param bld a previously loaded treebuilder. + * @return the number of entries in the treebuilder + */ +GIT_EXTERN(size_t) git_treebuilder_entrycount(git_treebuilder *bld); + +/** + * Free a tree builder + * + * This will clear all the entries and free to builder. + * Failing to free the builder after you're done using it + * will result in a memory leak + * + * @param bld Builder to free + */ +GIT_EXTERN(void) git_treebuilder_free(git_treebuilder *bld); + +/** + * Get an entry from the builder from its filename + * + * The returned entry is owned by the builder and should + * not be freed manually. + * + * @param bld Tree builder + * @param filename Name of the entry + * @return pointer to the entry; NULL if not found + */ +GIT_EXTERN(const git_tree_entry *) git_treebuilder_get( + git_treebuilder *bld, const char *filename); + +/** + * Add or update an entry to the builder + * + * Insert a new entry for `filename` in the builder with the + * given attributes. + * + * If an entry named `filename` already exists, its attributes + * will be updated with the given ones. + * + * The optional pointer `out` can be used to retrieve a pointer to the + * newly created/updated entry. Pass NULL if you do not need it. The + * pointer may not be valid past the next operation in this + * builder. Duplicate the entry if you want to keep it. + * + * By default the entry that you are inserting will be checked for + * validity; that it exists in the object database and is of the + * correct type. If you do not want this behavior, set the + * `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION` library option to false. + * + * @param out Pointer to store the entry (optional) + * @param bld Tree builder + * @param filename Filename of the entry + * @param id SHA1 oid of the entry + * @param filemode Folder attributes of the entry. This parameter must + * be valued with one of the following entries: 0040000, 0100644, + * 0100755, 0120000 or 0160000. + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_insert( + const git_tree_entry **out, + git_treebuilder *bld, + const char *filename, + const git_oid *id, + git_filemode_t filemode); + +/** + * Remove an entry from the builder by its filename + * + * @param bld Tree builder + * @param filename Filename of the entry to remove + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_remove( + git_treebuilder *bld, const char *filename); + +/** + * Callback for git_treebuilder_filter + * + * 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). + * + * @param entry the tree entry for the callback to examine + * @param payload the payload from the caller + * @return 0 to do nothing, non-zero to remove the entry + */ +typedef int GIT_CALLBACK(git_treebuilder_filter_cb)( + const git_tree_entry *entry, void *payload); + +/** + * Selectively remove entries in the tree + * + * The `filter` callback will be called for each entry in the tree with a + * pointer to the entry and the provided `payload`; if the callback returns + * non-zero, the entry will be filtered (removed from the builder). + * + * @param bld Tree builder + * @param filter Callback to filter entries + * @param payload Extra data to pass to filter callback + * @return 0 on success, non-zero callback return value, or error code + */ +GIT_EXTERN(int) git_treebuilder_filter( + git_treebuilder *bld, + git_treebuilder_filter_cb filter, + void *payload); + +/** + * Write the contents of the tree builder as a tree object + * + * The tree builder will be written to the given `repo`, and its + * identifying SHA1 hash will be stored in the `id` pointer. + * + * @param id Pointer to store the OID of the newly written tree + * @param bld Tree builder to write + * @return 0 or an error code + */ +GIT_EXTERN(int) git_treebuilder_write( + git_oid *id, git_treebuilder *bld); + +/** + * Callback for the tree traversal method. + * + * @param root the current (relative) root to the entry + * @param entry the tree entry + * @param payload the caller-provided callback payload + * @return a positive value to skip the entry, a negative value to stop the walk + */ +typedef int GIT_CALLBACK(git_treewalk_cb)( + const char *root, const git_tree_entry *entry, void *payload); + +/** Tree traversal modes */ +typedef enum { + GIT_TREEWALK_PRE = 0, /* Pre-order */ + GIT_TREEWALK_POST = 1 /* Post-order */ +} git_treewalk_mode; + +/** + * Traverse the entries in a tree and its subtrees in post or pre order. + * + * The entries will be traversed in the specified order, children subtrees + * will be automatically loaded as required, and the `callback` will be + * called once per entry with the current (relative) root for the entry and + * the entry data itself. + * + * If the callback returns a positive value, the passed entry will be + * skipped on the traversal (in pre mode). A negative value stops the walk. + * + * @param tree The tree to walk + * @param mode Traversal mode (pre or post-order) + * @param callback Function to call on each tree entry + * @param payload Opaque pointer to be passed on each callback + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_walk( + const git_tree *tree, + git_treewalk_mode mode, + git_treewalk_cb callback, + void *payload); + +/** + * Create an in-memory copy of a tree. The copy must be explicitly + * free'd or it will leak. + * + * @param out Pointer to store the copy of the tree + * @param source Original tree to copy + * @return 0 + */ +GIT_EXTERN(int) git_tree_dup(git_tree **out, git_tree *source); + +/** + * The kind of update to perform + */ +typedef enum { + /** Update or insert an entry at the specified path */ + GIT_TREE_UPDATE_UPSERT, + /** Remove an entry from the specified path */ + GIT_TREE_UPDATE_REMOVE +} git_tree_update_t; + +/** + * An action to perform during the update of a tree + */ +typedef struct { + /** Update action. If it's an removal, only the path is looked at */ + git_tree_update_t action; + /** The entry's id */ + git_oid id; + /** The filemode/kind of object */ + git_filemode_t filemode; + /** The full path from the root tree */ + const char *path; +} git_tree_update; + +/** + * Create a tree based on another one with the specified modifications + * + * Given the `baseline` perform the changes described in the list of + * `updates` and create a new tree. + * + * This function is optimized for common file/directory addition, removal and + * replacement in trees. It is much more efficient than reading the tree into a + * `git_index` and modifying that, but in exchange it is not as flexible. + * + * Deleting and adding the same entry is undefined behaviour, changing + * a tree to a blob or viceversa is not supported. + * + * @param out id of the new tree + * @param repo the repository in which to create the tree, must be the + * same as for `baseline` + * @param baseline the tree to base these changes on + * @param nupdates the number of elements in the update list + * @param updates the list of updates to perform + * @return 0 or an error code + */ +GIT_EXTERN(int) git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseline, size_t nupdates, const git_tree_update *updates); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/types.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/types.h new file mode 100644 index 00000000..a4afd18c --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/types.h @@ -0,0 +1,387 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_types_h__ +#define INCLUDE_git_types_h__ + +#include "common.h" + +/** + * @file git2/types.h + * @brief libgit2 base & compatibility types + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * Cross-platform compatibility types for off_t / time_t + * + * NOTE: This needs to be in a public header so that both the library + * implementation and client applications both agree on the same types. + * Otherwise we get undefined behavior. + * + * Use the "best" types that each platform provides. Currently we truncate + * these intermediate representations for compatibility with the git ABI, but + * if and when it changes to support 64 bit types, our code will naturally + * adapt. + * NOTE: These types should match those that are returned by our internal + * stat() functions, for all platforms. + */ +#include +#ifdef __amigaos4__ +#include +#endif + +#if defined(_MSC_VER) + +typedef __int64 git_off_t; +typedef __time64_t git_time_t; + +#elif defined(__MINGW32__) + +typedef off64_t git_off_t; +typedef __time64_t git_time_t; + +#elif defined(__HAIKU__) + +typedef __haiku_std_int64 git_off_t; +typedef __haiku_std_int64 git_time_t; + +#else /* POSIX */ + +/* + * Note: Can't use off_t since if a client program includes + * before us (directly or indirectly), they'll get 32 bit off_t in their client + * app, even though /we/ define _FILE_OFFSET_BITS=64. + */ +typedef int64_t git_off_t; +typedef int64_t git_time_t; /**< time in seconds from epoch */ + +#endif + +/** The maximum size of an object */ +typedef uint64_t git_object_size_t; + +#include "buffer.h" +#include "oid.h" + +/** Basic type (loose or packed) of any Git object. */ +typedef enum { + GIT_OBJECT_ANY = -2, /**< Object can be any of the following */ + GIT_OBJECT_INVALID = -1, /**< Object is invalid. */ + GIT_OBJECT_COMMIT = 1, /**< A commit object. */ + GIT_OBJECT_TREE = 2, /**< A tree (directory listing) object. */ + GIT_OBJECT_BLOB = 3, /**< A file revision object. */ + GIT_OBJECT_TAG = 4, /**< An annotated tag object. */ + GIT_OBJECT_OFS_DELTA = 6, /**< A delta, base is given by an offset. */ + GIT_OBJECT_REF_DELTA = 7 /**< A delta, base is given by object id. */ +} git_object_t; + +/** + * An object database stores the objects (commit, trees, blobs, tags, + * etc) for a repository. + */ +typedef struct git_odb git_odb; + +/** A custom backend in an ODB */ +typedef struct git_odb_backend git_odb_backend; + +/** + * A "raw" object read from the object database. + */ +typedef struct git_odb_object git_odb_object; + +/** A stream to read/write from the ODB */ +typedef struct git_odb_stream git_odb_stream; + +/** A stream to write a packfile to the ODB */ +typedef struct git_odb_writepack git_odb_writepack; + +/** a writer for multi-pack-index files. */ +typedef struct git_midx_writer git_midx_writer; + +/** An open refs database handle. */ +typedef struct git_refdb git_refdb; + +/** A custom backend for refs */ +typedef struct git_refdb_backend git_refdb_backend; + +/** A git commit-graph */ +typedef struct git_commit_graph git_commit_graph; + +/** a writer for commit-graph files. */ +typedef struct git_commit_graph_writer git_commit_graph_writer; + +/** + * Representation of an existing git repository, + * including all its object contents + */ +typedef struct git_repository git_repository; + +/** Representation of a working tree */ +typedef struct git_worktree git_worktree; + +/** Representation of a generic object in a repository */ +typedef struct git_object git_object; + +/** Representation of an in-progress walk through the commits in a repo */ +typedef struct git_revwalk git_revwalk; + +/** Parsed representation of a tag object. */ +typedef struct git_tag git_tag; + +/** In-memory representation of a blob object. */ +typedef struct git_blob git_blob; + +/** Parsed representation of a commit object. */ +typedef struct git_commit git_commit; + +/** Representation of each one of the entries in a tree object. */ +typedef struct git_tree_entry git_tree_entry; + +/** Representation of a tree object. */ +typedef struct git_tree git_tree; + +/** Constructor for in-memory trees */ +typedef struct git_treebuilder git_treebuilder; + +/** Memory representation of an index file. */ +typedef struct git_index git_index; + +/** An iterator for entries in the index. */ +typedef struct git_index_iterator git_index_iterator; + +/** An iterator for conflicts in the index. */ +typedef struct git_index_conflict_iterator git_index_conflict_iterator; + +/** Memory representation of a set of config files */ +typedef struct git_config git_config; + +/** Interface to access a configuration file */ +typedef struct git_config_backend git_config_backend; + +/** Representation of a reference log entry */ +typedef struct git_reflog_entry git_reflog_entry; + +/** Representation of a reference log */ +typedef struct git_reflog git_reflog; + +/** Representation of a git note */ +typedef struct git_note git_note; + +/** Representation of a git packbuilder */ +typedef struct git_packbuilder git_packbuilder; + +/** Time in a signature */ +typedef struct git_time { + git_time_t time; /**< time in seconds from epoch */ + int offset; /**< timezone offset, in minutes */ + char sign; /**< indicator for questionable '-0000' offsets in signature */ +} git_time; + +/** An action signature (e.g. for committers, taggers, etc) */ +typedef struct git_signature { + char *name; /**< full name of the author */ + char *email; /**< email of the author */ + git_time when; /**< time when the action happened */ +} git_signature; + +/** In-memory representation of a reference. */ +typedef struct git_reference git_reference; + +/** Iterator for references */ +typedef struct git_reference_iterator git_reference_iterator; + +/** Transactional interface to references */ +typedef struct git_transaction git_transaction; + +/** + * Annotated commits are commits with additional metadata about how the + * commit was resolved, which can be used for maintaining the user's + * "intent" through commands like merge and rebase. + * + * 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. + */ +typedef struct git_annotated_commit git_annotated_commit; + +/** Representation of a status collection */ +typedef struct git_status_list git_status_list; + +/** Representation of a rebase */ +typedef struct git_rebase git_rebase; + +/** Basic type of any Git reference. */ +typedef enum { + GIT_REFERENCE_INVALID = 0, /**< Invalid reference */ + GIT_REFERENCE_DIRECT = 1, /**< A reference that points at an object id */ + GIT_REFERENCE_SYMBOLIC = 2, /**< A reference that points at another reference */ + GIT_REFERENCE_ALL = GIT_REFERENCE_DIRECT | GIT_REFERENCE_SYMBOLIC +} git_reference_t; + +/** Basic type of any Git branch. */ +typedef enum { + GIT_BRANCH_LOCAL = 1, + GIT_BRANCH_REMOTE = 2, + GIT_BRANCH_ALL = GIT_BRANCH_LOCAL|GIT_BRANCH_REMOTE +} git_branch_t; + +/** Valid modes for index and tree entries. */ +typedef enum { + GIT_FILEMODE_UNREADABLE = 0000000, + GIT_FILEMODE_TREE = 0040000, + GIT_FILEMODE_BLOB = 0100644, + GIT_FILEMODE_BLOB_EXECUTABLE = 0100755, + GIT_FILEMODE_LINK = 0120000, + GIT_FILEMODE_COMMIT = 0160000 +} git_filemode_t; + +/** + * A refspec specifies the mapping between remote and local reference + * names when fetch or pushing. + */ +typedef struct git_refspec git_refspec; + +/** + * Git's idea of a remote repository. A remote can be anonymous (in + * which case it does not have backing configuration entries). + */ +typedef struct git_remote git_remote; + +/** + * Interface which represents a transport to communicate with a + * remote. + */ +typedef struct git_transport git_transport; + +/** + * Preparation for a push operation. Can be used to configure what to + * push and the level of parallelism of the packfile builder. + */ +typedef struct git_push git_push; + +/* documentation in the definition */ +typedef struct git_remote_head git_remote_head; +typedef struct git_remote_callbacks git_remote_callbacks; + +/** + * Parent type for `git_cert_hostkey` and `git_cert_x509`. + */ +typedef struct git_cert git_cert; + +/** + * Opaque structure representing a submodule. + */ +typedef struct git_submodule git_submodule; + +/** + * Submodule update values + * + * These values represent settings for the `submodule.$name.update` + * configuration value which says how to handle `git submodule update` for + * this submodule. The value is usually set in the ".gitmodules" file and + * copied to ".git/config" when the submodule is initialized. + * + * You can override this setting on a per-submodule basis with + * `git_submodule_set_update()` and write the changed value to disk using + * `git_submodule_save()`. If you have overwritten the value, you can + * revert it by passing `GIT_SUBMODULE_UPDATE_RESET` to the set function. + * + * The values are: + * + * - GIT_SUBMODULE_UPDATE_CHECKOUT: the default; when a submodule is + * updated, checkout the new detached HEAD to the submodule directory. + * - GIT_SUBMODULE_UPDATE_REBASE: update by rebasing the current checked + * out branch onto the commit from the superproject. + * - GIT_SUBMODULE_UPDATE_MERGE: update by merging the commit in the + * superproject into the current checkout out branch of the submodule. + * - GIT_SUBMODULE_UPDATE_NONE: do not update this submodule even when + * the commit in the superproject is updated. + * - GIT_SUBMODULE_UPDATE_DEFAULT: not used except as static initializer + * when we don't want any particular update rule to be specified. + */ +typedef enum { + GIT_SUBMODULE_UPDATE_CHECKOUT = 1, + GIT_SUBMODULE_UPDATE_REBASE = 2, + GIT_SUBMODULE_UPDATE_MERGE = 3, + GIT_SUBMODULE_UPDATE_NONE = 4, + + GIT_SUBMODULE_UPDATE_DEFAULT = 0 +} git_submodule_update_t; + +/** + * Submodule ignore values + * + * These values represent settings for the `submodule.$name.ignore` + * configuration value which says how deeply to look at the working + * directory when getting submodule status. + * + * You can override this value in memory on a per-submodule basis with + * `git_submodule_set_ignore()` and can write the changed value to disk + * with `git_submodule_save()`. If you have overwritten the value, you + * can revert to the on disk value by using `GIT_SUBMODULE_IGNORE_RESET`. + * + * The values are: + * + * - GIT_SUBMODULE_IGNORE_UNSPECIFIED: use the submodule's configuration + * - GIT_SUBMODULE_IGNORE_NONE: don't ignore any change - i.e. even an + * untracked file, will mark the submodule as dirty. Ignored files are + * still ignored, of course. + * - GIT_SUBMODULE_IGNORE_UNTRACKED: ignore untracked files; only changes + * to tracked files, or the index or the HEAD commit will matter. + * - GIT_SUBMODULE_IGNORE_DIRTY: ignore changes in the working directory, + * only considering changes if the HEAD of submodule has moved from the + * value in the superproject. + * - GIT_SUBMODULE_IGNORE_ALL: never check if the submodule is dirty + * - GIT_SUBMODULE_IGNORE_DEFAULT: not used except as static initializer + * when we don't want any particular ignore rule to be specified. + */ +typedef enum { + GIT_SUBMODULE_IGNORE_UNSPECIFIED = -1, /**< use the submodule's configuration */ + + GIT_SUBMODULE_IGNORE_NONE = 1, /**< any change or untracked == dirty */ + GIT_SUBMODULE_IGNORE_UNTRACKED = 2, /**< dirty if tracked files change */ + GIT_SUBMODULE_IGNORE_DIRTY = 3, /**< only dirty if HEAD moved */ + GIT_SUBMODULE_IGNORE_ALL = 4 /**< never dirty */ +} git_submodule_ignore_t; + +/** + * Options for submodule recurse. + * + * Represent the value of `submodule.$name.fetchRecurseSubmodules` + * + * * GIT_SUBMODULE_RECURSE_NO - do no recurse into submodules + * * GIT_SUBMODULE_RECURSE_YES - recurse into submodules + * * GIT_SUBMODULE_RECURSE_ONDEMAND - recurse into submodules only when + * commit not already in local clone + */ +typedef enum { + GIT_SUBMODULE_RECURSE_NO = 0, + GIT_SUBMODULE_RECURSE_YES = 1, + GIT_SUBMODULE_RECURSE_ONDEMAND = 2 +} git_submodule_recurse_t; + +typedef struct git_writestream git_writestream; + +/** A type to write in a streaming fashion, for example, for filters. */ +struct git_writestream { + int GIT_CALLBACK(write)(git_writestream *stream, const char *buffer, size_t len); + int GIT_CALLBACK(close)(git_writestream *stream); + void GIT_CALLBACK(free)(git_writestream *stream); +}; + +/** Representation of .mailmap file state. */ +typedef struct git_mailmap git_mailmap; + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/version.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/version.h new file mode 100644 index 00000000..6a352e1a --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/version.h @@ -0,0 +1,75 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_version_h__ +#define INCLUDE_git_version_h__ + +/** + * @file git2/version.h + * @brief The version of libgit2 + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * The version string for libgit2. This string follows semantic + * versioning (v2) guidelines. + */ +#define LIBGIT2_VERSION "1.9.0" + +/** The major version number for this version of libgit2. */ +#define LIBGIT2_VERSION_MAJOR 1 + +/** The minor version number for this version of libgit2. */ +#define LIBGIT2_VERSION_MINOR 9 + +/** The revision ("teeny") version number for this version of libgit2. */ +#define LIBGIT2_VERSION_REVISION 0 + +/** The Windows DLL patch number for this version of libgit2. */ +#define LIBGIT2_VERSION_PATCH 0 + +/** + * The prerelease string for this version of libgit2. For development + * (nightly) builds, this will be "alpha". For prereleases, this will be + * a prerelease name like "beta" or "rc1". For final releases, this will + * be `NULL`. + */ +#define LIBGIT2_VERSION_PRERELEASE NULL + +/** + * The library ABI soversion for this version of libgit2. This should + * only be changed when the library has a breaking ABI change, and so + * may not reflect the library's API version number. + */ +#define LIBGIT2_SOVERSION "1.9" + +/** + * An integer value representing the libgit2 version number. For example, + * libgit2 1.6.3 is 1060300. + */ +#define LIBGIT2_VERSION_NUMBER ( \ + (LIBGIT2_VERSION_MAJOR * 1000000) + \ + (LIBGIT2_VERSION_MINOR * 10000) + \ + (LIBGIT2_VERSION_REVISION * 100)) + +/** + * Compare the libgit2 version against a given version. Evaluates to true + * if the given major, minor, and revision values are greater than or equal + * to the currently running libgit2 version. For example: + * + * #if LIBGIT2_VERSION_CHECK(1, 6, 3) + * # error libgit2 version is >= 1.6.3 + * #endif + */ +#define LIBGIT2_VERSION_CHECK(major, minor, revision) \ + (LIBGIT2_VERSION_NUMBER >= ((major)*1000000)+((minor)*10000)+((revision)*100)) + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/worktree.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/worktree.h new file mode 100644 index 00000000..fd375175 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/git2/worktree.h @@ -0,0 +1,278 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_worktree_h__ +#define INCLUDE_git_worktree_h__ + +#include "common.h" +#include "buffer.h" +#include "types.h" +#include "strarray.h" +#include "checkout.h" + +/** + * @file git2/worktree.h + * @brief Additional working directories for a repository + * @defgroup git_commit Additional working directories for a repository + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +/** + * List names of linked working trees + * + * The returned list should be released with `git_strarray_free` + * when no longer needed. + * + * @param out pointer to the array of working tree names + * @param repo the repo to use when listing working trees + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_list(git_strarray *out, git_repository *repo); + +/** + * Lookup a working tree by its name for a given repository + * + * @param out Output pointer to looked up worktree or `NULL` + * @param repo The repository containing worktrees + * @param name Name of the working tree to look up + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_lookup(git_worktree **out, git_repository *repo, const char *name); + +/** + * Open a worktree of a given repository + * + * If a repository is not the main tree but a worktree, this + * function will look up the worktree inside the parent + * repository and create a new `git_worktree` structure. + * + * @param out Out-pointer for the newly allocated worktree + * @param repo Repository to look up worktree for + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_open_from_repository(git_worktree **out, git_repository *repo); + +/** + * Free a previously allocated worktree + * + * @param wt worktree handle to close. If NULL nothing occurs. + */ +GIT_EXTERN(void) git_worktree_free(git_worktree *wt); + +/** + * Check if worktree is valid + * + * A valid worktree requires both the git data structures inside + * the linked parent repository and the linked working copy to be + * present. + * + * @param wt Worktree to check + * @return 0 when worktree is valid, error-code otherwise + */ +GIT_EXTERN(int) git_worktree_validate(const git_worktree *wt); + +/** + * Worktree add options structure + * + * Initialize with `GIT_WORKTREE_ADD_OPTIONS_INIT`. Alternatively, you can + * use `git_worktree_add_options_init`. + * + */ +typedef struct git_worktree_add_options { + unsigned int version; + + int lock; /**< lock newly created worktree */ + int checkout_existing; /**< allow checkout of existing branch matching worktree name */ + git_reference *ref; /**< reference to use for the new worktree HEAD */ + + /** + * Options for the checkout. + */ + git_checkout_options checkout_options; +} git_worktree_add_options; + +/** Current version for the `git_worktree_add_options` structure */ +#define GIT_WORKTREE_ADD_OPTIONS_VERSION 1 + +/** Static constructor for `git_worktree_add_options` */ +#define GIT_WORKTREE_ADD_OPTIONS_INIT { GIT_WORKTREE_ADD_OPTIONS_VERSION, \ + 0, 0, NULL, GIT_CHECKOUT_OPTIONS_INIT } + +/** + * Initialize git_worktree_add_options structure + * + * Initializes a `git_worktree_add_options` with default values. Equivalent to + * creating an instance with `GIT_WORKTREE_ADD_OPTIONS_INIT`. + * + * @param opts The `git_worktree_add_options` struct to initialize. + * @param version The struct version; pass `GIT_WORKTREE_ADD_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_worktree_add_options_init(git_worktree_add_options *opts, + unsigned int version); + +/** + * Add a new working tree + * + * Add a new working tree for the repository, that is create the + * required data structures inside the repository and check out + * the current HEAD at `path` + * + * @param out Output pointer containing new working tree + * @param repo Repository to create working tree for + * @param name Name of the working tree + * @param path Path to create working tree at + * @param opts Options to modify default behavior. May be NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_add(git_worktree **out, git_repository *repo, + const char *name, const char *path, + const git_worktree_add_options *opts); + +/** + * Lock worktree if not already locked + * + * Lock a worktree, optionally specifying a reason why the linked + * working tree is being locked. + * + * @param wt Worktree to lock + * @param reason Reason why the working tree is being locked + * @return 0 on success, non-zero otherwise + */ +GIT_EXTERN(int) git_worktree_lock(git_worktree *wt, const char *reason); + +/** + * Unlock a locked worktree + * + * @param wt Worktree to unlock + * @return 0 on success, 1 if worktree was not locked, error-code + * otherwise + */ +GIT_EXTERN(int) git_worktree_unlock(git_worktree *wt); + +/** + * Check if worktree is locked + * + * A worktree may be locked if the linked working tree is stored + * on a portable device which is not available. + * + * @param reason Buffer to store reason in. If NULL no reason is stored. + * @param wt Worktree to check + * @return 0 when the working tree not locked, a value greater + * than zero if it is locked, less than zero if there was an + * error + */ +GIT_EXTERN(int) git_worktree_is_locked(git_buf *reason, const git_worktree *wt); + +/** + * Retrieve the name of the worktree + * + * @param wt Worktree to get the name for + * @return The worktree's name. The pointer returned is valid for the + * lifetime of the git_worktree + */ +GIT_EXTERN(const char *) git_worktree_name(const git_worktree *wt); + +/** + * Retrieve the filesystem path for the worktree + * + * @param wt Worktree to get the path for + * @return The worktree's filesystem path. The pointer returned + * is valid for the lifetime of the git_worktree. + */ +GIT_EXTERN(const char *) git_worktree_path(const git_worktree *wt); + +/** + * Flags which can be passed to git_worktree_prune to alter its + * behavior. + */ +typedef enum { + /* Prune working tree even if working tree is valid */ + GIT_WORKTREE_PRUNE_VALID = 1u << 0, + /* Prune working tree even if it is locked */ + GIT_WORKTREE_PRUNE_LOCKED = 1u << 1, + /* Prune checked out working tree */ + GIT_WORKTREE_PRUNE_WORKING_TREE = 1u << 2 +} git_worktree_prune_t; + +/** + * Worktree prune options structure + * + * Initialize with `GIT_WORKTREE_PRUNE_OPTIONS_INIT`. Alternatively, you can + * use `git_worktree_prune_options_init`. + * + */ +typedef struct git_worktree_prune_options { + unsigned int version; + + /** A combination of `git_worktree_prune_t` */ + uint32_t flags; +} git_worktree_prune_options; + +/** Current version for the `git_worktree_prune_options` structure */ +#define GIT_WORKTREE_PRUNE_OPTIONS_VERSION 1 + +/** Static constructor for `git_worktree_prune_options` */ +#define GIT_WORKTREE_PRUNE_OPTIONS_INIT {GIT_WORKTREE_PRUNE_OPTIONS_VERSION,0} + +/** + * Initialize git_worktree_prune_options structure + * + * Initializes a `git_worktree_prune_options` with default values. Equivalent to + * creating an instance with `GIT_WORKTREE_PRUNE_OPTIONS_INIT`. + * + * @param opts The `git_worktree_prune_options` struct to initialize. + * @param version The struct version; pass `GIT_WORKTREE_PRUNE_OPTIONS_VERSION`. + * @return Zero on success; -1 on failure. + */ +GIT_EXTERN(int) git_worktree_prune_options_init( + git_worktree_prune_options *opts, + unsigned int version); + +/** + * Is the worktree prunable with the given options? + * + * A worktree is not prunable in the following scenarios: + * + * - the worktree is linking to a valid on-disk worktree. The + * `valid` member will cause this check to be ignored. + * - the worktree is locked. The `locked` flag will cause this + * check to be ignored. + * + * If the worktree is not valid and not locked or if the above + * flags have been passed in, this function will return a + * positive value. If the worktree is not prunable, an error + * message will be set (visible in `giterr_last`) with details about + * why. + * + * @param wt Worktree to check. + * @param opts The prunable options. + * @return 1 if the worktree is prunable, 0 otherwise, or an error code. + */ +GIT_EXTERN(int) git_worktree_is_prunable(git_worktree *wt, + git_worktree_prune_options *opts); + +/** + * Prune working tree + * + * Prune the working tree, that is remove the git data + * structures on disk. The repository will only be pruned of + * `git_worktree_is_prunable` succeeds. + * + * @param wt Worktree to prune + * @param opts Specifies which checks to override. See + * `git_worktree_is_prunable`. May be NULL + * @return 0 or an error code + */ +GIT_EXTERN(int) git_worktree_prune(git_worktree *wt, + git_worktree_prune_options *opts); + +/** @} */ +GIT_END_DECL + +#endif diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/gitup_extensions.h b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/gitup_extensions.h new file mode 100644 index 00000000..c1dbc681 --- /dev/null +++ b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/Headers/gitup_extensions.h @@ -0,0 +1,8 @@ + +#include "git2.h" +#include "git2/gitup_submodule.h" +#include "git2/gitup_refs.h" +#include "git2/gitup_config.h" +#include "git2/gitup_branch.h" +#include "git2/gitup_clone.h" +#include "git2/gitup_repository.h" diff --git a/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/libgit2.a b/GitUpKit/Third-Party/libgit2.xcframework/macos-arm64_x86_64/libgit2.a new file mode 100644 index 0000000000000000000000000000000000000000..2cb841929803f11e8c3bb5eb8c96a4d6050fe1aa GIT binary patch literal 4249376 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�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

    1. -A|JCDJpLhQ@R)NeD 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

      ciH9)TQe>?zG{V(Nc+~IGhfcf?uZlJ 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%0D!3mKgsByqiCj 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 z

      Fh_*qFSS> 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

      7>&?l(rSDTezk$BcmN9|69kpeBm$zQ-eL;S+ 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≧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%0AxukK%J(n=+5c)%t_Dazh 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�wOZrz0YmnF3c_9V(^c^d~hFl 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 z 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åm}YcKIJl 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�vX#r(^!eH5x*1Xo5FSF(q)_fMI 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 z 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.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

      x;64OcSZ7ceh@C}_)FFTpN>y- z-V04rR<@7+!{3iOY0c^@755e7LHyHe{D&TnXZ)$3}Uj z%=4BMM#h|Zk+I?f%FYBJPjr>tHu$J;ygA=hy}R?>rp@MjH^jTAO#{a49OIww7Qi=S zo^|}D{w{Wv#wF~a)x+Vuon_2x%jieWlg?9r>~(xhdtL6&V>vUi^P=Xwj#*oo533%W zU1}KT5w;xF#Dj2gXY(+|jcYm6ibQvg^5@0b>A!cmxw|6TpQo=GeXi^IkC+>`u|FgE z9eAhoQ|3P{qd2#MKl0#@)&TD%MMGOx_&prWxEnRu-i=z!-p9)YiKCCPH}{k`aMizS zJ>mb(T@_=E_*4=5bJ#sKJF)KR5#~)b(fU$p>ReCxyAr>OpZ+cHDdfSLsjnUE?>*(^ zt{R(%%%$p#y{luK$!#IeFZum*@{LnA?~2FtId^~V{>HqnNHRq^G|k_ zs$FWHF8Maj8+=}i(q7d^+4DHa495IwRoGUoi$S*L=Mh z9v2@rZ?*V`-|T2(Tv2@av{lz$dghU{1Kicu`TWdSbYat1>03+aV{fCc{R(~Vt(@;H zW-b!(=VZ!Hk9^S9H?Zb<+VH{qs*B;6OuqCR}dtuWtBd5Nt_Zw=#IeVI3v={cQI%9fEn6y;aV_A0=ardc+b!h5NZ;$F-ZkoF{ z+d7}gzJ!}koAV>HXVFYsNyly5;SUI-_q88{r+x?@xiXt^Lvo#lzndBBgZY%d%fV|$gE?=^r6|}@R*k<@BeS?k7c`CU6kY95$(5l zax|C!EBPP0cyjLi#gmKJ<9nlmz(!1gZ7EbvFA)wVdoFhSrX^D z)Y)U)S-6(pCH!mMa_H_GI{txw?cMX1?5c8j^vXwb?u^~N?nwBu!aFaU@M6I)*oO-- zCt3a1^A8@nyBh!19Tj6=B=4cgvAb_LawU7~H|RZH_SRFJafaAiAGdP!op*Rw-gd** z*q~TmVmAHPj2prO2gWG-)Ay7g8FzW%o!f|Gvlm)fLAfT7pButCgR=SAp2J=-{yg$9 z)*C4#%Se42zqtHQjqI(}pMkrm|gsT{97yj`-tiO7Ey6mU#_YxcG*4I~7dA>xGSGQab zww37(MPFu0qEEgc)$-aEfoIj$R@66C@jhBr)lIyLw&ogM8T4(^l2Y9-um!!YuHjKc zq^29zR#aBSD(**(VC)h>OosG2V_L}iGv>q3cJ_P(v;4JN7kS9q@n|1H-d=sx+B(lZ z5Q$<<m=7YW;@^CHdyRPUvSrwikbv zZ*AS$wN)!T`>vh0==xizx;6Ln-d|(vA)X(MtzXMCm*#yvr1C7WA$+ZvLT`GS=QsUd z6^-VVPxp?ZQS<0$$B(AU^K<2s($J%^u8s#P(T_N>AyzE9_aJ=*d0Vr>kRC_9%jqZ% zDf}7?RFtheTT!km9LM^(kl~Uc#EQOe%S)!Mbu&cvbk@LTF|p^RJlZzWu(qnQ=KdOJ zUsOG*_)GWKRy@#Pem=-6lI9mGY@tY9Oz#RB(M-QWp+se`Mm4I~`bxjix<7}XZ1jy`sZU?!*Sk&^b3bC;lh7$!{$>v} z;nxBbwO9UItov(}FI)cfj+j0z1kM)!7(1Yr5S~4tUh!A6NubYQ+_RD^(^@v^Mc?QY6W&JCEBz_fy@T|#)$atR4*IMx&?|hCb#Ei(Y~?Sy!GCA0c7nlW zC)h}O0KF)08C=!|)}W8$u*Id<8*{?q1n_^ueTX$TlHMB3wIH%zCDjJwD8?8?F0V>%IakC*GyteP9WwbQXasPr_h)HmLGUHyED^sytH+#`8ht zBhTQnDELj{d7JuVonHJJ*bF`gDt|2omouE%bLI)iWgM8)u7V550t;92A55+=9o2~Ei&%y2A8Ek@y9+; z{MQ7o1t);lfqB+^;u^yjuYo_tz6D$f?gz`jCU7r!J6Hpzt~TM{0#&}_py>IU!FVeu zdcI&VegqtZ`LMzG0Wgfyh-!!8wu#34oW*@$J@$E^^5=oy z15*=B{#wC(n4bf0BHb2)@%`WrvEL2O!G4#)_y&+6t)$Uld^#w)PXJZEG2m?6^9{y_ zfU__UHW<$VSL5&acw_&X!T8Id?3=+q26uyscLn$z>apD5vQqGmuwM**7n}`>-nHWl zA8PCh!|p0k8PUDF-hb`Nl2fYwqH9;fSfX6e#tx9u#@1 zz;W=48+1#-Jm{D~cO@wOX}LjnCMe^3$86JH+YN4vfx>S&DE#E3Wzd}u3co^w?oA+5 zOFUxGoe2v60)uY)dc*gm!Hvg3;X42d-(v>dK9Hi0A2#Urf)ruA$DrE+eu;S3UT6Ag z82lCJ!E4R=lzpJI+e3<-;0w@6Q0jND!Hv5?rn-2mLAM_KJmKQt=fE?pS3V9N1EqcT zfgzF0pv%XYUcaaXB_DB6@=5ED-tbX!5D^mvOw zcRncP+cC?GC-tE4-(b+K1%-c=K{pNxe>sN?bZ-Jhu4_SwH`Aay6_oOrY|ssZGXCTl zbkDQ?l=2xe=$-^c4q3O}4vMl7;X6d33Ey)D-7}!b!}EMWmv1fz%sgYzJAYjG^vv+i z?~NZa=yri3_d$cMoEy$mwxCe)IGvZNAwFQxJp?|9e=8{U(qhov3^LTm>kYc4pvbur zlyY8f&|L^JRLAEVbZ-I~O5+iO?o9Am;!Osh1J9Aj&G?@+=r)5lK{pw6Ye8uba-JUO zof}S9SinnrZ#>BZQ_ymbxX5!3lyW<3&>aM&+)f*G)1Z{cNrP?=DDk>MiPvS&<=w7V zkDUhH1EADnhe3Bg$j}sTGw3Eksn@**-BvIO-&#=W;@&?eo*4=1tne!DDi5+m%(en$HB><@JUbMY)Y^nl<>XaF0ccX@@Q4M9F%YiK?!%0 zx`&mPbG=(}KL;kklVCe|43zMF>M!SeOL=u0+*k{K8vk;@Rd%&&=NmC(L?tf_+i|Sf^_+KpFy_+d3W^GMf-_ZoB$fi&H? zoGT8x2SJ)rJY~>r0k@D&9{2^YFN`qYL2xtJ1U?PU2Oq|((BMWn&#(!12c#**z4IxB z{{$m9`*gi>KVZ-meVkJ6`whBnAXOXRXV6^_N`9+Asjs*}w-l6kF@x?(kRpmNH|UDK zPKkF8lz4IuE9ee_67RG@Hw{X>lLpUb+U|QqW7+pt}07U$ihpc?^2 z4mnQ|bZ3H8-2%Q7cBG#j1tq=1pz!TA=pF(I8t*pf%5yKOE`HFU+X+&n@dF0EbGLWH zX9KkGs|AH$l|i>06n>=!-54nGR~mGO7=$F=Sy1AgG3cHKC0^Q~D|$*L-U)+lHz@Js zoNbAhGUy%vC0>U?SI()Fc>4{yVenDfXP&{0=ULqCg^xV{lkuPz>;yYOX}5bp>1Xwz zq_-ZF`jL&Npj)8s@_b6^Hb^AGjTN z%G7xYITf~5A(o;PLBIN zIH3zukN%!;2zzHZ#lhcQ;cm>s;XcemVYV*jwC8tl2>7wd103z$H~A=L@8rXnXQ!Ow znD5h51~E@gNn;+nY(NhCzU(Mw?`4NE4_w~K!QcBYZ^ztsdE4bVIp;4=P7UXDP3=Z! zZfg2Lj`}voe)mp4jQ!~Je$0XC$1zV%PfyRw?I<`<(8(d-eODg6l9ISG$x+~4GrBQ* zX7pnA%{YpAe8vgP{u#%_&f(yBx!to4&FY!OaopGST-VDX-^tngX6NO$&+eFg0PLCF zJNq!leea93Me=gx=URu%&uFzF*|QfVV=G99Omg;2Qg3Hn#LR~JX4sLJ5YGM@I+xw z&e^%=I2JrL?;yv5ch5V7**otrW_sRf%(L^(VGi7Ooa4d|F6iPw@IwoFFw=LO<|y!U zcMM?;-f;$VD0)7Mtc%(fQPzt(G50TO$2_?xjXALBIA;H%W0+@)&J|G#OZF`x-6aPx zJC+>4+`puK38l28XGt&Az>?#bT}!){Qoc)jG5ePu!#upSPt0X~%fdP5mnT;s#quG} zs6XZoxVXE0ZYZb6J&e7_?Pc6M>87!F+zbE5iW zHGQq7y{4mvGOq2Z&C5Mrd!qJaEmGGVtfOw~4q^7y9mVXa>%~mhoyI&fR({jCWo&1C+gP zWZV_~)TQchEhzMS4YPwuT=YqQJZb{GqVyi6(Uar(Tm7U{)W1R|4zAmjeo@1plXV&V zKBx37CN)V<<^{RFrT#Cgzvx?+@Ly5-A*Bx~{gm)WhAO3HeHoqd4t@7n59eOCQDHT)cn{|Tjkto|=5{d-D(PHB67 z`GC?*T0Zu@AZui=yzG0rNs>N4`(Ex=@*=c-54KhLKcVtQl>VObf1AaMd?pRe)R z3+Cm=zIV!1{~hZ80i~OimUWibez{qa>oe;AuPW~`O>eJ;|B(96(fnPdbfMB|4Ifil zKBklM+OG6&rN5x`A8CKG@A*EX{z*-5v(lebdaufB-|JCzp8WPbp1jZY@-yGdjwAP3 zlKz{T-VEjUw@UvnE&o$W%Ll3w{thkQ7nIId+MaL!+bU0y`rH2e3*jGV-+v-Bbuy^o ze}a6XAKva;_!NFZ+xOtd5L;;fy}8o%J-FPDiNAgCxjcIDJ9&PtgoRT>BH&YLCy{!D(4C!ps@O|okm-^d%6mxNx z_;%mJDb2s#C-FJ_#6JQbxxT6L+4sZ`s(kjnGvCt~c{IG-pGbWB-ujrPZ{PFFx>fw` zdw2Fud$fJe|7Fq?f4gtsE|t%|XTM+RylXu1oII7sz6Y))J)-;9&j=r+KTm#w^wr26 zq>muqFgnZsPB;hszfAf;`WsnvDeW`pe_s~=pWqqv-<>7j+^qa8&hp=wMgMVDejBs+ zZ^@GX;VgL`$ja|CS@}t4r8kfj{&-gSKg^PUUY2}Yv*>ST$tS~fuzbFjm40a!y(&wd z?OF2tc2<5rkww3d#cy?1{8W~_pUaYOC@cPdX8HeqmV6~y>3=kf|CL$(d?z-nJO;Dm z`%#vEN0$HZX7QJOC&BXlKo);a%8Jik{$cXeW%2vZ zEdRgDiti-0ZB4N4&KwiLiPBAtoG@)R44T8fEg`2ewCpiw7sz1|J|Sl&$Vn6pJ9adv zzig5m?cfP-^J+p4WFC1Qg*h3TQ^z;U0rj$9P|js|bjLP5jzW0aO|RZ@@)Bg^sTE$* zdR(`Eltn-uyPGoMdwRz|1kbs!sd%OEL_yp zL3fjPk7wWrjbN@u^E0JrA~bUXxTp31c7Hde*)yClds8>x&dJX$+qS~Th~i5pXWUbN z{z)ByW9uy|E3%y2k$vFBa5qoPMC-PM*$0}btITorhQHbJYy3^_Ic8jP;BC(3sCf~$ zVTWlc-s$wV)<->iUiM1w+(P;9No?D^DUo=xvElI+&ZqaJ4IWHSg?a~#fX0%2@`%l= z?s@jJYu(Ku9#3v*ZAxs~^~fWQnntj$w6%^1BaKOqr_V0gfU|czM}XFC@b&-{8#57f zknWH<$R1*=PX(H{?&(X1kKHQbljciO$ z;%r*k`-krY8{nh68g>K^-?2r-w-=r$($>7@L>FN9yLHxvCmkc;8YnLt&>yMg>kV&y zVOxEsNe>_9jfdBGceOrjC@Nd#U_%62DW5(x_$L6Zu(n0ME$Z8R%i`sJFy9vSZN8;w znGLqsw=ME*QQziUikA8jeA^=5#yLBB#Jq1QT4J3R`?f{CE$Z8_aA;AH4P4~g7W=kE zzAft8un>)7k<7{VMZRsZZ(HQsqP`7_caD;cwn!_0`qf8MD zmNfOKAI-Nd@@>(K%}afu(_B(j5nY}zmPJd%qKtgoV&AsNw?*YWk6iEey!PnQ6-CP< za@9|Ka@&r_r48FNo`m23={ZkfHYdo{#`;t)OS7Do_igg}$-6G~oF~~|B$x0LmhE$R z@5Nf0_fSbp|4Jk-e9n{XTat@+*xohBeKbpK|GLb#8Oue_c~X99&F7Hbms>XKY)S82 zrVE|(R3#5|x%6?EbK-jMy`Xd8_Tl#hCe$UIC$IccD#%&omxAAwhRHAy<*}QjEk)~$ za?Vrv9h{9t42dM+B1HHV3Ht%;JZs|JvVWeuv`zU<qQ6&kr2LdH?Cn6Gg7YGKKhPZ)dz*GwVCAH23ercco&?b^ zQt(ybHORN1_FMc8^p^-v^k2R8GT(EH{)}0BT8BJ&^;>acH@XN!w)6z@KRfB3FLBMmGS34pRhEeEBC_RlRJEq%A=nG zqqD)&@&A2Eqn>a2MP9KR9Y2-S=NjrYPW`T?p6^9BLH)nPp04%=>|Pq^DiI!{GyN3tEzcx+hizKc&7Loi zeMSTOSPHVkQjXsrD?H_Up|cxC#IwA!`H5b$>@$vR8}<4UWlMh1cj&xbj2;frzq<)U zKZDngME~cozC<~mLZ80q+Ltn^molJC#GcG`&{J%59GoKlkEE<<_it!esk4GWAK`I_ z-(N10U%r7JsWYHP^h#*Gj-{Iborvgl8>!#&-vc_kM6R*QBuzUUls0&Td{Z`Fo@ocR zZ`pdUN56NrTVL2&n(Zd#YU314af*J*7$#|(aqYR4r$|TI1v+}Fb7N-wNso7yMxa9z z3?1YA8;_6bib|qWzK=fPr=@j}Aayxj zbYt z^3W4J(=Lo26WV)w2WdY~n%9t&!`h$mZqQ6Bzczb^{T6?kFikdSlm;%JG6b951R)o=f%gqQtFg*e@cv=ODl5|?I750c^_TS zMEXHDDgP#947#yCFF@zSFtaU+$~vBW)}1;*76T=zR&3|5WY|S30re%2Us+de!Os*vj+^ zCE%~E%;{@enLg6L(n&tQ@<-3baC>%T`cuW=b1QTE_N@%{{p!lO#HXBI`)Y2YcjCdE zxjB8$tc3RGk5e~h#*KQyO1YEfv{#->3{eK{_ad+S66nQyiMc*aKm5g0amv)JMI`+H zZ}NF$9P93BtjVUcHY=cQUCDScgEjZK7r*`7m2!N!zt&FWeqp7o54v)%8A|0ISlN|3 z3;Zm2)zCZdOnl{?8t3hOwEs58=x=+5HB*E+hqYA??{9nF;3w;GIX8j*!adKYVsk%- zKCX|?M0X9k>4(tE`Qz!%YstPpS(z^R*ve$zpMt*z_JeIJlgU3@nZ7mYCi}hv{VeWB zz~{iD;6Ct=!CwVm2cKDK&S`MIdOx~3MJJ~{GbqhEKlNKV-?RD^S`%E6AMb_@~SO&`I1(-$-MV5#Rq z-;;Ht@QR`1E|vSB$G4A9^~C;?o2xP~wGIA$b`*>wR z7{M;m4UVf4*UKL|SW~&{VQuEUm(@MVnSc$HiG;H<#Na7(vFdHA=N?ANBRg)2dzqKv zIhve(oHrEY5fge89!ciCKk&-R)Tyk|?fNgpI{qd2r=K%zDkAIp8gxpPFprYg6zAf} zTx@m4ikqh=je7O`b4}hw4v)5Ng?1@)ns(?RJUyfyKERqu+I=NBWAE&me+IMX_25_( zoXh*rZ|L0%ik?Gw$T~&lMO$~A3u5lo=nFT*o~eFL>(E<+X`akI!|=JzrYG&%+U*$e z<|uOv^ZLm7GB=lXSU!DzBID|$SAIc1wY4r^_ZP42hSS8>n5vyW76C*$mO zLpiKz{CdyL^rL$6n9AMY^&?rAr10~~mUV()EB>|UmhRyULAz!!>#5bqb}!=*_u{!` z{!;p*hPf~F>gkA#QF@=K_tU{TlDs5;{?4){xrYcj zi<-E9kaKy&U35Z98_8bhTKT>54Xkftv=52rm20k~Yo5dOd285=98&hu=IImYel%fb z=Q+`x-}#bk3t|~>^yM-3d1V`HJ3qT0-P^i0vumfIo7{s2&sG>FYhZoKgHx{!*n7@Y z?r&26*AK7%BaS~lnfl+Dsek;u`afc2EchzB)R)n=ipHuR89VI#yM(jt#I$R3zhm!n ztlSrBBcsKOFs|EsC(CQJa9(|L&nWdBkYhyLOC2L#_nu>z`=5HR4VroJ*)iHGbE01s z(q{gRILG;P+k57tb83w9hQ!axXZpkFW5|WdDbtsR#}zpp&e$;LIJ^hvkfZPNz2GJ5 z_}5uCGvCSmTD7+x5AocAv(tmR7;PIFZ9Q)4JahiYFN3G(ZU5Q*;~3vKi}fkaGdUvn zz*+adf${egUkI)X9KG+gZAPAf*m4?ePC?HvQrU*3B0Gpv{F z_{1Do)W-eZ^E?{}u3zo*mFdi>F&XE0z9HiRZENXb^2FzuBc6F!8D))Y*B;gld8#eX zvE&-rc5aIQ3gH7MnhsLPzT+ z^17M4jyBIY@~l^%LrNPJJKx*!{4M!?yRMXWz`e-!!LNLYvw^M@ot?|%*^87-A7h`j z*E1J;Ya{C1uG6x4mwV3!hV$l~%c%Dg^^}36k?HdzpJg(y_-krg?p}Cgkho@?xo|u= zzm2dXu8Zq=e6n??QEzBp7w){nk$nTAX|U1pHVXJYRx95&wB<#tYh>Fakp?scZe8HJ zc}kKV!Xz3tZ%%A$Y2C7I>rO`$Us?}Ji>*eDTOV$;xoC)N z+R?D};iiDk%{#@jp_v^NoA*S#-Fl6iBf^Ha|Bth2z!b*^P&PQxk$qy0$qMqR*KlE4 zWDkfhjuf4^h_*z-&#MiqJn;iYIU)jRV!`lUkq--wD#SZ%=62qJUPMbohSynEVP%IJ ztw1G=mCERF%wkerR$S_M3M;LGMiqX9o2aw&l~8`TamP+7CUP@nin(({yC31ei%t4} z@RhI$A}>6-HZ$&9gjo~l)R9F*u`cy!-5W0o$fJL856<7e?hQH`j0o^k*jr(bkEeY|oLH7iBGxTwT zZa=tz_=muCU>Dd7a!`s>2ezquGbrI|l`aQ&K(7QR!*97kw-Dq(_5#trLRLKeE1-J_ zTI4+lioBiRJp2zBblcUv4V;VnK7(#EC~|E8>Aed${KC_pQf1Ix2^QmC01Ds9pyW4f z(3Qq2`8`khgYG#{7Ak7cZQDZg@qZUhuQ1JjKh{h-Kk)S!D96ghegdU|I> zjziEQzv!2d_@Y-v^k5`GNniBHNct@X-3_3G6TLEm<)FyB5|r=@K?y(KpnINiM&uka z==OpVuN#zh&5TdIZv-qIq2mR+>ZZ3(95Sm_v}<7?-_$`A6P}W zUQp8SG3a)Kl75##_aMkr5KkF&4}eS^@eYITUa$o|EuiFoJt*lHf>J&=8FYtu5!HzM zS+Eiu1na@H;t8+?dO)#X@i4dochQft20Q>ZfokYaQP|^{-KxLGVe2)xnJV)b@{G0)qI^u%{-4h^9aX}wg4fcT2 zPr5;d^mvy+muCZ_cW6NexCIowL63qhprqey(9`!L>59G|Nw*6Wc{)K!pZ$2Ao}_kz z?m|$)&o{X7TJQ?^%{1tqA7|np1D6p0Ft`mo1d5yoz&fxEya#Lr7lO?o|8bsAc;nUv zb?2-#uN^A6%o*^mkB2eU+4~jg6 z2HglK@?2}soe9$A;{^uY^Esy6&M6Lpbm6#s_XoNIpz!Zk|HI&Y(A}VvPYd{Auu1(l zfDb{(L2vv9Mc%0f-4hT}e#gK)plr+%xkYb*$lYboO@Sh}=ph2#1E7>!he22FBZQCW zCzAS>`wpq^R)cPny375n)OWo>w^rRtL6LtxxC@McyTP-L(KmJ)6#gebsxE%qpnD7~ zqd)W;+;|kEDC2zw-Gg8)@%DrFgGo@v7kGK)u^FT&;`IjIg&;|bnqxs15WRDkB~5va zuUCvIMid>zG?Dlp-=~;TOe)qZ#uOupj$)ehu#WFjOerQ6>lI^)5kI)skJRUlMna(+#gJzJNAZ$}Hz;ru?#f&Al` zr}GE%b8^}y?w^Ru#N(KQ6VG5CnA|xzoYOt|&}7n`(lI5hI)ctzb{365U6*&G3uy52 zGnb>mWNQ1=4)g$>n0gZP{M6(X#JHjZ^WYU-m>ts&OhX6EwEdXLY5OqyryavQIW3KO zcG@}2ebd{}64W!@=nonwIF7EMqXqp1XnQF*Q*ajSyfSs=!7I_sGUM=*?^}U$s>rZ1IjC4iF)0_in6iUrGh}koz7qe?l zH|Ci+XED2PICKNPHy*r^kT)K{+<#*`=D>}|F^}Cea1*t4^ZAhUbUbhxJE9e;ZdYn!!dME7n z3-Y{5^jLhF#f)5{Z%^oHEQ;iMP3e!T|K&|1^vKp@yHM@{ZH= zrzm{|gS4dohQ@zU!~dbuCpG*(D*Zc3zp3=yO5e#MQZD%}UHDB=dY01Ll>S%c|5>F) z4}pYVrt*AO>EBWRgG&FN(i2qPA1M86>VH`2?`wKLSNh9JhqV57Tltj!e<)WeU;CW! zhfF#`+vj$oXHn$4QNw>h>CH;NuJoNs|3dkHLg{{`e^cp?YWS^6|AzV>QF^P=|D^P1 zl(y|h^gsmL^L(L^xk<|}2U$f=hs-l_{X2d_+vlYJft%3wx#~`(?Q>XJ&xyZ%?)xW7 z+vlJ%DT}{-Zg`i*2fS;crf;9C?m-R-Z=XXSqP&H+&pokvw0(}eUgOuZ=$C7|hPTfl z{}wliZ=Y+jw)SZI9P}EEZ=cI9)c7lDH*(23Nut~9Ir0;vA0vE_u7L>BE!1C-{$v)v z>$2kCL_)#vk7R}aU>1K_*95~a&Ps1}mb^7t{C+(vy-=1sU&x~WA&bt>O7B;*{Cl(b ze=|$ohqLJ8S+uMZ`S-6`S@PeNMTfHJ&t~QSH?sVU)?ID=nk*xfDI7^{=S|SKEZeqjQ_)| z_?xow_tmWW{+ld*vaSyDyC*CC?`HA;mn{0FtoUp$9LDeGS+w~G*1o#qg<|7YzOUZ) z1YgfvtqmrKd7~*`MC;2-@9;nGQ)fSRGe^p0F&y@u(o+wS6(I0dHQ?=Q7;q9T=CgAX zO+TJS2L-PpePsqgg%uKlZ|OCJFPf2K%T`fEpzm;p%Pw+^^cHTuQVTBviY3sYfx8hw zNGUIIFkkW-_n=;jpr~7R${SseQ>KJPp$4z5NAr;k`0kJFYTeSjGx0>gMb$Y_EsamK zwC)i#4a3W(Wk+Lc>y}5<$E#nzP%?oHV^6z5P;-VRC@-yp&QdA?Ef_Y`6YxuD@{%LU zI;aRkTTsx+mn7&oOksxqZe5h!n4C%Kk8Rtsbwnvj<{XL5S(KTeJ5U_)glJCK+1h}L zoQInpPsl-ePGZ;A<}F(vHvxS?L@CZ@zAYZ%L1MTVNrD8mWoVF~#tWgtu<=@*o;OoDTgobOx@T9W}FdlC9^=ZxUepN+RPF2&Z~4GJakg9HI0=RUceXtHmN;am6UQEG|)l z#bRGI#Rc_Nyen-Lm!_k_@3S&sWmHl4wo6b{@vhWSEcO*nTuceY;*9Ev3n`pnAu>iF!qOPAh!md9TMWBbpb2M=PFQ1uq)`{R<+)On!w}M9_#{rM54KDdPauuI+ThM*DtdOLVQe`H-Ce5j`d!kne?f*42{jE^V+ z9{oF@JU6h{D?*d1EoXVIEcdN8UEZyj`&f;@J4lbVa`Oy+*gE)wS+pb-NRF3`GW_e@ zx2uKmtFb{A#ZPQgZBKs7Mv2=<-w`qWnQD}HzTb#g-r3QfD5FF(o}$!-PLH{eEWB&| zFiWG0vihs&dE4^nd(~f;i%?v)zgqgg+Fzx?%4Pd&AC>0S+q>+q(#PbAc&6i|U?Tmg z-}1}q0~hPB1H_ZICjC7Ij@DlZ;-w+@ZZB^iGv5Q9;#<`m^L>~t3Xhc%Bl@NE7xLxx zH_{#d0q9`ADiWGlwmd{O?|Bd?mpt|xCa?4h8l!0?tf3eRS-m!>Ubny+U`uP`6P~U) zuW{NYI_7+`A`)4$FiKlov``x4(jqgDL>DezY8t4WPgp(ew5@Zb{vxS^CJ{KokLzOd zNklVe+oz@ftL^ioN!D+lGJbnw(7SA(Y2_1BY=V#1K0*HFQZU5D+NYkE;*`VW5K%^J zpTbaNm2}?i^$y>g{p|h_-&*AGtp(rWA948BBG>zlRQCR-Z!~+?<=aBh7a-qH*!}d< zwjK7xzd0fH_B?QI=*PWc&*z&G^8NNNo+^RwD!x(Udy!o8-TS4cmkgvwo;v<3X$8xo z1%mSNsx;eO=;kr}58^KKUk51jo{WPqS#Xom5s;>cmq7_1?5AH8nhHvTaz*$B`)N#R zkx#BI{IqF%^wU|i_yzsVd>81xbhB(_opk%mt&1-4KfGl}tJUf_%zx*eCpK;4Phv#ylsnsp~%agle$0Jcf-RUUs~B&geBWqeFDr^60{)3yW5aF^;TQl)Wy^YuH}08PuI3;|CEvJtC*>N>;B5n{R0Pyzh{wdt=EB`dy8)H#zYa zPZcv>e5XskN6Vfo%V9*;M~Ecua_M?mxJPR%T*QR@q(tvj@!Nl9YnzCq_*Mk0H57M?r*@w8^vkU)uU#9JQdPn8S zf$ulsA*0u=eLhBIv8)0z56J@TGPAxe6as$UI>D|S%p>w|aGub29v?fPKn zu1!yD+q|oJn3}^8dJd%lyqk4`ttY!qu=IbmUl)?TT*6Npo2(zb`g@oC+VY7AGp<80 zk$x@x+vE2x`*oT~QZ^BUk~wO$el2_@4dsvR(y!q6q270O6ZoD|*9OvW@%O%Mv>Y{m zBl@eXSCPSA*WLjg>~C|0CJ(lJWPKc*FGcoY@_YAte%tY%Hq-crJC3~H^6#KzCbIL; zGFGjlt!Ec4vMsiLVnfRof9lD8E+Y5!vgUIl{J5mQOP!8&wQEM(Bo3FQZTl2{a$V|k z5!tLKm+%voa{l{I#9@^7Ib6?W)^ir+!@A46+88h|kPXqB$=$SQdNx<~bDO~{jQbsI z7L=<+DmHLw_I($b7l+GNT3lP~dpmMYwOj`@Vrq_Q+bJeM_S22HE;i2|BEDQ{ZziA* z-DLPJXFy+OyoQN5);xPVVP$SPyVP;|h#`@r%^zC9d_w_7?u9pH8|dE8e8o72D(a#|%A`I85B(_X{%57r^Jr`RLP}8GHMx&e$GFvz0V=k>-c5cHVyS zi_V_l{lHM-sF(f?PRd*T+kA^WvkzZ9Ot?LC-|WAbuzm1m?{l|y z;=P!U%yY@($7!Co?P=P5Z~mkgVxieTz|Zsdohi^vauGb6z2AMt=}%eYszQ!?=C3(la&8G_{yyvMb2^>+VQv}U{~K-Xd~^K?z8n0w^Lgj%+^qes z^W}i_Cj$1M^v{gp9t`vT+IKl!&MEW|{GD^w`9tTl^C!-+|LbJDv=aH2)93t8P7rw* zZ2`@EVYm{lAU|{7;T!*NGRZG>UUq)$j0;`w{I&CE&JpK4-&%g!nM51B-|BWXv;n3yI*PQP=Kjf?6awih{C+E7*mCj-w zKwcFp2t6`_{}$(;`Hu67&}E?;LzTQ1xFuA}Gnq?CZLBc4BhnZv#NF2YRgJJ zI)3+Xx~|fCCrZ}Bqp~&;FRQ$#w%iLH@U5vTE-5oC<7;cmN+ozDd@I&gdaf0f>x$zQ zrHM6VwdHF~TGpwq+K6RoV%F3aR~iAWc{VIixE>nLI`fUzd(s_v<#FoI6yi-x%p zquR2h#7Br^N??Susjm^vS{)?wx-sps;hOhWjbrCq;=LfR4GljWNp<0PJC_2YG=*r zlC^PX&DwQkPF3~Vs=F&HiHxPHxVEI+sVOV22I?xku&czgy3B*RN)L)l;b0c4rmXs&GH1;Kbw}M zON!}wrNz}wyrOco2p~|iwyqlKtEwx=u(BwwtXx}Hi7UlWSLIa2iyv^jcH-0`eCgWz zD;-KDQB_<`88a?OxByjMR$5U_*CiJvYpYA0yW@2=<<5O|Wz}SZL7<|t4%YWqP#U!V z1VvN3mJ+LxLMovbNT(p3_yY<2YinRrQ$;zKB`Rv9L&eK*@dkrpDgVUX#T9WHb7@75 zRt$s3+N!c@&zGvJtFEZ2ttgRksX`ss5VkBHFRmX3@m!g`vKS1U@?maU-`7FUa; zTBAP8jMJ*(QV437-ceVnW%VFjtBN03BT|Yd?SXc%wt7`XX(?l^q;4eA;XxdVHuaHC8o}Oo|GjRK<1#tjv$nF#F;h)Of+}f|m8BKI zc7vGlwdA38?b<}VSb7Q##!zc%6w;llq%+d0)=&(^iP{IMXo1C*jMXA)4HDJdUE#@U z<~k#yHcKjzC}qV}YZ*LbeD|6m*(|FpFQ$(r9-spz=$dOB>e&=CNo7h@JB9FP&Zw2K zKt>KJPp{!8O3SL~)=Vc4IFbji=Qui^kCAo1_#^^tL~7WpLFsIsMQ5IbHxSok3MWxl zx%Te6D@thG7YmA*%w&Ge&{u3nCT1@4fGQ`?N4b;Z>cERX1LHER=CK~#yE(86nF&0b1B1By!jiIF6>w7u^ zB-WOc)X8Wgbw&>>ttl^FU1lcMicgEfF~=*+mcRBh3wu?sRWnxM+7|D}3Fp zyPBILn>mX9QCD>AUNEc|D-sCJQ<49^{<{SJ?=1n@tHl{(3JGzfb+yh9lRA{GT@NqVrL%5&YM)k4CPs z;)~ubxpW)S2>$IC@js~kW0k+?1Cwhk|DKEZAHInHQT5mSjmZDtMf@jgjt5N45%Evz zKB$={8zai+occ$`@Gp=JY+Mn~99e%w7xAyXh=1!v{5vk<-*XZF;}`KicM*R%96~Ou zj>b?KbD{dT;6zo8DF4(&;vc?9{Q10ekZY{;MIWVHW2GiDgH5;}HRv7&ABFBU=pF(ef$lcwir%h9 z=#)YC0Js@i^pt|`e(+)FHiK>w+yuSXpxX*IK#RU5&}{ghFQw_RdkhMWP&!DG26+Myh zAvUdo?pbgh^cjQhX|N7DZO}ad)~m0)y^kumn16&~?C7(4r3( zbkBjs&}R+0q8By>ecGU>7nZ$6@e|OXEA#oC(8mnAM?sWw#`_Gqz2Hh{(GLr{-5}po z$GZ%=DUfeXLpFwvo$iC(HZi8+MxD>kCpt~7lvu(WIpt~L{ zg03~_#=*tVPF&@BWPLf>T2y%yvf0#AP}=;^Oz54NYj7IgFQ zUjXeGbca}M&xht5Awf@n?QPJq&mDBr;5_J)2HoS}T<8IVZa-KEebk_P7`zp_*Ptu< zZf}9^Hs~G%Z-!18bPs?xL3bE*_k%Y=w;6Pk;0@4w4Z5x19OxEPoM7f&~a$cEd}|eJ{~jZE(e(t;zb5s(YJdIbfG~{-!9({d-`@kw*dE9&{GY% zVURUpJkOw~fA=crp&U=|wR;wv0e!}xD|&dZgiafDPk;r`#|^s2!0FKPJsRltfzzNx ze;DZYfLA~tGU#@JQ=tzUbUVSzq2)UO&}|1VgWhk@-3Ky-#FGZy-QZ;CR)cOcI0?GR zpj!`4gcd!(pj!(vCB&-?y5%5KLcG+VyAot67+-GCy$NJ!j7JQ**MfBE_)LRt7?gSB zT*zDW#m^daPlMtv-xE=^@nZ(v7LX|MW`myoUkMk3=0CpDpnKRM9o*Z&@gQ~Vp_E5I zMbZZTDJbReC!mzWAA>F6QBd-K1eE-L2V4)n4obfJK*{&F!5H{Qpyc;k;6jkJFDnH9 z2N(gr2}*un1E+$$U>N*E&;kDd9768j2POYKpxm$g9+(Ed0m?TszY9uv90L2n-vRr; zuY_;Yy-anCc)nZcY|LBTfl>06Zl(TJ@_)X9()O` z0#jf)_$4p~ei2*_{wBB(>;wzJ-vA@v7r>d|0dOk#IWP=%fDZU+aESW(Ja`t|3l4&x z1=HYXz!TuFg9G4;Aa&^M0sBDe_%h1W`4mXmIG+T`BRglvKe!(xZRZ7$u{g?xJ$1zXlr7;Kd&S0L)8^TPE+lS`t{o~p(4~*-?JUFfk z^U$~+%){gQF#E?H!#qCj1ZH~NY0NX@&SDOYJCC_cBp+sAicc6wU3jRx+X@x8e8 zjX#QcZ2SP`iSZ{fPmdqOJUjjz=K1kSbaJ;%*pJyU;Q(f8!a+=F{aHGvTwC zL*et7`|{iJkw3o!vok-1*_Gdo*^}Rk*_VG5^H}}>=8621n4%pV`SZ_Vp3hIB7u;wH z@0fT1durlA%el5%mb4;F%M4a z!aOvo2lMcxKFt0}$1smiI)RyL|;Qx0IJrX0lVo^lAYcgkVRqf`1Z z_g&G3-tzWo9cU)+oSvFaDh1tWB=5Ph7Y*cnGmfHxeBaErnS}9lj(1+2x*84T*QBmF z=xY=oyygsx9J%UQ38r$y^?-zgQpR?$Y>lVfh(KBqnH{7fA@`&f{)UY^^ z@Kz7-BNCs!YDPN7WClL*-^ij!u7fN-guaGFnOu`tJP7^PwMw%X5&Bn^enZ25iN%;) zuPZ;RhxzL&??*L%J5-(%N`Ht&jPN_B@h2<4BTBca|9!Iz|9dt4HF>(H#L5b4ES7D@Ao*B|6a}CgBreDf$+<9+-a(~*p#CxC zcSPeqqqLk$BH=5Q{!7iT)kFP7mB;E){+`l*rSkqv^K-w}PnqWTZS|j{{Qg4a<&Bh= z-cOazVTP0RH>Yvp3AJO!`pyB^i!*5sm8%pPC_&YWIe^Y;X zPABE@w@RN-e&0~}KdAX>v*DG#LHT__<^Q_+hcvytN>5RKa?YMyyEOcIjXzK2c}3~} z(D)_V{%+Cq7N~z*`K?x3&T$g?KdAIF^?y_8R^|7PT7G}0>D^+>Tj@ng->mhuPvw1H z+lN);^p^TtJ?G!h@|&*l*Q)id^!{D_Kd4i#f)BMJiens>9A*J8Y{Owfw25oQ8E4@nd zE9U~r^|;C>=LO0o&-tZ%Usw8DD&Jo#{f{cozbGA1I-iFXay_W>MU?JP`4%hvmnvU{ z(ofgf{g}%4 zj?xEJzVSRnlIsnXXQI-%N?)$@e3j3ht5B!%%~bziQTZZDe?{dhRQi<4bGy>lD7{$e zI+ah(@09CPD&L(-|E0=PqV&J0JaP`GTvsW*PU)D+w^8XWD&JUjz({K4H{g+BNs(gQ=^g)&Hhe{t+dHzA^e^zxGw9zOd5vT$d?I&rtcMD=qI+B)``x{VA1ip3=Xg^2s@~a-C3lij@v2U9R*zm9J9i zzY{uee~~9N_ZU_mi9BZ${Wtb~8&;3D?;pR7Y~pX<=iNhGq3!#{Tj4FVeV-`LZH2b) z56>%Y-xvO~@{f=&xu%eR315#~a(!I++4r+=seJZ*?B6Os`~J0AY5TtQ>+lkO_Wk&M z%Fn)U{kh6--%oEk`@a3R)jvf$kn0QTZ{KG> zum1M^^>mfT?zgx_{d-MxXRhY|w9+3?eg{FhUgjtA+Wj1j>Tmal{6PIkaAry_U~%rT;+v>y^F(l=ST-@418?R5yA5BeXp4l&glH&`lnN z9vk(y`(^%IikeG<>bnvh0)e`Xn;fJ1XB~;>mRfe*F8FO#4Cl3Bm>G zrL>12y)rAjlW1;kYHe*vB-kA3?WIgKY}&Si<2KZtGcQ_Eo3v98(NI@8(ZUacS8F56 z^_z!>+0jVcOd$A=bkY5$fy5FVvaqFbt5E>oxP$XHG|5LBTNCE^4s^!(XJQ0Ay=*+O zW$QMMiWuSC@L0fE@@jT^noXvDcm(#-H^+I9spdx#4UdpPG)|i19@xFQgEJ!nY2dJR zo9`lAjHD=c-nor4BZddv#%UJAJ%Z`l4YW3r2s@hF6OB7}Hayyx*wpx_oLQksNNCyO zYv~|oKSvMm$mB`($Br7>E1*WS@HTFJw3SmKGyyd8ZrPb3IV6IeufA_Exz->X&*) zGts#9;cc5m^;Y5$dtQVx3kDBJN1h(pwxf}fAC>V=^rbiMw3Xs*@ZGuPBb=--3fIRQ z8(Yx&>76mLj4is@cg)zL znIlLtwrJ)wl7MZYAKkaCSZ1Y+F88e&TXdQ4n6X8d`i>b}bcyenu|mLj4hfu zR3>AKF7iWWY|*Ii7_cq$9kHM-x5yWEg>TK+qRV~9j4is%cg)zLOMSa%-Etu zzGKD~%^ZJ|u|*g8Av3mU)OQTn7W$4@$d-Q~PIQHD&Df&LeaDO~y3BXX*rH2)$BZqy z#COctqD8)A#ui=dJ7#Rr%ppA)TQus24A>U>j#$XnqD*c1))l@jy4<&BY|&-DW5yO; z>N{p^(IviP#uhE|9W%CQ<_w{XExO1LnXyHqzGJ|)(09aQR5mAWM@{SP(G~uALm69i zx$l^Xy)Lfj4c}VqX%pYGmc)i7CO!M z)>bT9m^m3Kx&k+o)r>8=+;_~_qRV{8j4isS!Au!jbdeu2 zV~a+8$DoZ(HR#iRSNe(RReB&y{Y1G@vkHo{^%HZu`>yn74|0DiSDW7CT3T+W<)^pJ zm#m+-Jit%lw(vZ`W1Z(DA^q!O`g$#&l*Sk!W5QbY_wp~770n|SVah8blNJxR#+esT z5=h)rM3Vf-KIblw$9BHXcL^gu;j51ku)Vu0d@#1>dC?;nDtzpe=y*k6uIQ*uiya-i zvp*Bsj{F5-^zP2S(%C+E)t9ag$3iO{)z_C#{5PGM%fgY^+p|N?PX;G^>FSB-o9chYs9{@JPTTiGHcOLRatjF}%t{;fa!-q&<jvMssg%PR5;mj!h(wh?AFx)#&9ZC6`8xnbO%C(hF^hPKCYMSpFwy7}{= z`@TdPN6^9hbToH+Qt?J@Apci!P`pwUAZQ%oS+OHvl-d8|MmKH{pZ8@5qdU2rau1_BISfi&y%Gv9 zl{99ThE~iz=7U)&SqBX$0r z+64Ki2Pcw;d7+6DMgF@)e%ea{`G1`I0{OUlNBD}5U!5(RP^Z#f(%k0Qs(mla!Z+8KPhjqOPQy%%W1M*6F zN03+e+g=wl7U`D5u9#AhkY|zMZrDY7-nG}ji1;Vfzkdw>gBs)D82(3bXPj7&1YtG4 zUNNQ^Q3O2yPB6G1>9azUh8^FQK+E&W7%10=`3Y_1tW#S2CCO`XwO#kxzgAH3@v=)Eszj0!WBlZrRaS-ttWH)Y)H z+?{5wkg;lZVaBhJIW0UtL(4ozMNN}%o_$WZ#9`hr|ts zW)BNv+^!$R?Yd!Z{ZcmpUb6%Ct}MU7EZUPfP+xEUQ|KFW7r*hZtcTvB-u!wA=Z9Yi zzy0)kS9e~1uNjsPPnIdUrp%=LtlbNH)rhd+J=abfR;SYD19>;)ckQrvj-E4-8|W*! z+5O~-JWqz~Gb(0x1=rJw7qe z&S}r9DdWdC1;J4xc%HtMyxNT!{YOWg%%=d^r+%DELzh@bOn+jaO~o9Q1xUEAm6 zTn^5INV3if>dBUKJKDy_-Y%z)J~N&(b~tbEN4e8k<~to})|T9V&1<{fdHWf{ux9UR zn;6T4L0@<37w;4$uXbMh^b9%cBcq!;d3EfyAT46@CfMCzgG?$C;CzjTSSr0E6|x9>8}=HPy0PM%XMyd&vQ?UtO_Yc?;d z;nB_SRb;8G*s}bNan2R*$bA_18fUM1{_1asE_*!8+J9=!{;T=sXNk~nhMvFLmz6cU zw2z-67i)on*)z<#I3KqyInHb4#m*85+lQZ|pCo-R-*ZCSU&=Q!C4Ugovp-^Q?|RvJ zMZ%>|XTmiUXUc{b?k4_yq3!ik$=j8o?G3Sj|M!OH?`y~r&(0s^A^B?weM$4TpZvY> zU&>$M2TlG8W7Ng3J9`>vpHF-3cRF=-rB_$6bD<^Kb%b)%qS>|1_P$Sry!*B=y7Vul z{YY6i-4I$KW#oK&WVyv&Hsuo@$5|-%IorEF6RORpO^$X3imk)G?`oN@2$?fvrf^^U z>5$(ZQ?IChG_-w=x;Jr8|8HTZ!19P3yM%I|_1=|x{~}ZFZIs*h0&>(xonh^J)cT+D z-pLW3Z{!%Q-uwO`WcsMqSL6>zsjp70uh*UXX3urD|A@XIW!f~))N$XRYuUfXxjx4; zbrPf9NI%La-d#64+uMdhY*FLBou9N3o{hBcXB=Wcp8ClxTb93?f7uIiznNmZ3WE~% zHhzWj>;;tmDsC_EyD{K)8{^tM+}QRyEZl0`W@WiOjvGtSVd37wjV1apx3A&G_%qDy zySTBu9p*NPw52Q_zdf|#@h`^q+?E?z_V~Qw6)((kik{~FJ1Ngr=*z{7k9?=OY_vM4 z-xQL$gMMiG*DmIV!fUXPGB)S`=Y*xB@o@fnl>U1aVI8H08;oy-p~6W` zmLKg$>O5@Q%H<>ZmE$%RzlWI%g8X9H@=Y1ZkNt9E@_S>_aDK^WGG$Ru-N@V)83)p? zpV9fPiF#}c$Gm4LU6(j#+A${fJHz`=6l^?n5i7#@Wf}f<%gS%1V_kGXAmwfeyOuh;^1LRW1a*0#;z39^HxglL` z=7wiTTiR_GV{MS%_I!tKhWjO!-(zo1Shhl+JvLpUY%(_$KVasj?DS=AGf3Hw)`z@! zU1P^9XZ$uRnzR zSB#XyZ-=a%l&qk~q523X=BSsiJ5iM+|c$j z$UFP@Y16E?WW5xs%giI`nU|24_i(;szqyx}LE1FmFci#Q5Zay&BbOW6UR;%tD|OW+ z$VHvMSL?XJ=|-+5+RnF-%ht8?vG;jhbD5DNOh5gNfEd|{yR_w)+{?-R#lnn?5%O@+arQlwvFjRbE8J5YRvBeoP~Vhk z)7;0_&c2!Zqj}n92>ZK%u&D|STTK6)o5@S8DC6$c$1MB{GyduOE+MbKgmJiyHvddO z{@A6AyYJ=PrsJ-xWfB27(hIb_XxCnO(TeM<{jqDe;{9~7L|MFh8PrZLBr)>W*SJzi(k#Ur@kS`;B z)a!$G9XW^b|9_c#aha1-ta&clhTg+<rw7`z47@C_9KnrXUiZ( zU0t*;ehKXL*P*^xW6*>|5@uSc8U6X8dE+@B5jz zE*-0`4c1-O-2T3eQ>-z5o@4s!oWG*Kj`F<0Yaid|{p=`ywtZxeH@|H8+jP7sWUcn+ zR{pFtVr7i52DxZGzlZC|LLE=M`wP|%uW+wcNT0pyqs-YH*Jb6ZAAbpQ-TdC& z*ZXD19QBlzUGWjhZj}0!x^MUnbJQq)R{rd|f4`oU^&|gkEC06`zebrWt&FLk>lk3? z8o9swADKG1r1i>s*f#og3>c*SUQHgXoX$U8!kqUW%3;?lh0GH}Au|q~`UZV{lzCg) zLI}UuD1KJ{zQ5LT=2?U{SIYYOP@tTDbP4%;59jo*ab`{r(^hzf?3Z(2`V!>$CCq1o z^#3nvIluH3+U(4cYd9(A*Z((l-vSs_b*;V6%#ci85R!pBKr;x|1PISSg5{Lqr2$4k zh>BL42}xi=LK2c7Ph}{mfdmVhwkfrj!O}JfXwe1>mDZtRn;L9E(Nat6plBxqZ=pn) zU@-r;&faG-nVcb^zxVHd4@|zZ-)pVC_S(;L&QH--YlQja+}sEHzd|{xHlqpj7pwH| z#rX6F_SX4Jp$nMbJ810(ZI5BENm-wEcIku-?NI5TG5=R|25Uvqp004WsSmt{uY zP>ci7CMNpnj19W4&r?u)W*RMuUVMtAq{J$Wv{<&YuWf!CYeRQ+_)1UEz^hG)t?2nU1<}3{pv8#rt)e2b|2{c3j4FBjl$kT&u012 z=|1rPmJWM4r^5pqa+^OL^?jgY*jG2!^OSNr?9g}n*Q6<0`{PdZkv;aO3;5Xw*LOty z;_Sob<6ZUYMjda{4QfvA$4;g6v;51AHS-3HZ?h3k!d!;xKcyeLoP&M&q$qazBg`KT z^=G>r(b&^|J3AwZ&Qjocnz|49y+rr_;`g*4ujmxw?4^6;bts1IN|Lb8kF#jEV1G35 zyhjuA)!K7LnWyN?+M#fE3g@cH?wqoJ4d>=?{_PlSIE~Hm5^G-Gc$_zR1#J%Y*8-$4 z$3}YQhtB))b8B;u2l>0Vbfs}O@-$8$g*g%CpGNT$WrT@yTFC|W4BF3jgKx-Z)n@c9 zN_kJHX>p!zfMX%e8NzV3XBy({g^bm9Mdt_qihZnU$ioR4O@lphqAfD?&osvHKT8no zoFbLC8EY)A{yoPa3N1xl<@xyiHSLXc`MY)qIlzAyp3PC|vz0U7nKTRdp!!sJhTH@B zsHgon@b?z#BMD;`yth6p34M<%hP#hV;j$S9y>e^NO19Wlhq#ahGXs&AEdhMdI0b!& z4Ll|dgN)O==ysrgCYrj{2g-~j8jw#E?N=ioa~u%4k2?E&X29 z-7{VJn;-A0M<;0Z)g$r_p zt4=^K=p2g~`~0N4HYcM`dzh57IXHWi1ig0cxjEf%4MIB5gcrhR;r--_9HrlM@n-93vn)*;c!1kG_9)Bp;7n)OAWH_Fxf_vSUH=)L$8)1! zrZ!3Ere^q&yxld>%Yd`H_~6PUR}??HWQN?7G-S^}quNHuHeSH~P7>BV9iWx= z94#bw%$+vR>Wb%>-G@E{ylI`2*opDZjn4B1JM-jzUfBP6g7!(EePS0)?sdW+dY2>o z$CAzkoDFW0MgIev8@2=I7@@CQM7wT+Ea<#q^021FIbr;{$i2{4vSCK_n|-liq@!+( zwMf5)p{;7wt>uS;mqprji;o5Hy3G?jp>8c0Yf;_erCxZRb@M_z6NTp-1I}lUV9NR4 z9GTNxhp|y0&B+n)(>RBy>VTs!XIX>P?Z0zYyD7D+K9Y8@Rl`HT=Ml&dw)JM@uF~%u z*$3T3`_t0Re}{h0*Zk;z0=5@pcWRez^hrj)ewzHuu=mvN)U%XJS9AUKox7bc>Kpt^ zo4Rz{b}#o=&)qid#`#F-WCZCdetkW6yAbW+X8L2YB!Sz_C&p5tjtB%arxapyMlOK5APpN?@t|4`59r+S>Btz+V>Dd_p5|6T#? zjnbcx?G^or9=b+nO*7Yyn@oA*Lr%Uv=NR^?sl8IT{p*r)F1Ly11ATawCA>W}eLv2X zDtSWIC}(FbKHK7N3ul2ohUZlrgJBO1&{g8ah&J^%NwFzC8shvd6hlv<3G= z$Pc#I3A`DdR_ym;E?3usENja3&Nw=|x)=0OKAQIWMtXrcWnW~bl(8Uq8FfMCD%6*4 zHegK<x(?yTD134k4>OKtKX$^Y3-*kit2PZ zXl@ngXVxf}Y4|xbbj__%u3Mwdom%;6)Gw`31kz{GDnmnGEE@ZDZjCY=8fCaObkd?B zE2oA`-5P#Qje2ux^ajWS#s{8}{9IyB0#Xw)0ipxLHTmo^QVnl*TH zX_cYTKFk_?xHZbq+B;+#X|>KhSv2C=G-PVipwFhEYfM9?4vqZW8ggNH#wAei%^GRV z8uD{!)UQ*c%`gr5F|GVG_G8T&GGJP^P9rVTkd;}37Mn&|r$!lO4Ov+xo zrBQ}ML+_m$_TH_L)~u1%tsy_R7JV2`7&YeoTF-^k*u&VzF{IWyhB;JuM!wrT#u#Lr zLu0$?2~1f#r*d2H>&rMsvs`1(aw~&8U#XSerZN9&3X+~^?J-{n@|-=z?duq_&ve~r z{NKlU;mz<6xQ~$;r2N2m#vt+wjF$;L)*1%~#;Xhxk9g_pxIZvYJM3Iv%C75UJR{nv zR(=kR{*CC)#IG;oe2VMoV_bh8XdITdlgvkr@e|}crIIuA7=_*@AO}9p|uuEl%%XZ z4>N1)0p1H`qWumV<&Qm+W7q@J%HKAO=TGZ9Hss~cS74cV$&~UuyyI3i9@}N>h1ZwC z>qWt<8#EBFo3R(8MGL!Kn^$)~&g;2J+Pu>Krk!lF#yUI6z&TvV0BuIATz8Uoxh!1B zc!GAh%OPW}{8&_X9ail`9kmM$8nyDUMQZ1vtX=dm4>z8>3amr-*Z7{r=26-_kt~(* zOdrc&F+Iy*cy3gA?%jKH&&q4b!4j=qH|Fb{k73ZIV0KU$YiaO7YoU~;ul>W##wYun z1Dy{>S7i`g?QLz+9z=f>Uivt$B-<2d%cuY{5x&iH-;iP z1ni;MgUE*3sJ)ME)P_6)+au{tpr1=4-p%sk->#^gRtBMe(**H8D%6*%&ra;w-$o>!G7^w`@4ZWu+=_S~VRLDlW7j84o)sTELQ{pw> zo8(H@wh@`2L(5iEU1A^8*IqHNSK8@j*eR_#HH-ILBnKHMnQ_jV=rbB_uFWcS9?d2@ zLd5x+9}9UwE_4o&Y=`5EuCr*vAh&49O^Zeso?j)t%s2<3=qU2QcbI*47iXWi|Lqt{ zQ{LE%m%z6|gON>EbQAL`3FpJ8jnLUx#SiD2=qwqXZ=thd%H9|J_BOGsIq(ao`oh^X zgM(LIb_MftK_;$2u8`%u#D&9pplKhg%jWW^@<^u15dT7z`Gi&%MwutiT zgTDLQhdMFe%|xDB`f)Ql@1HN(onUze#!K&x-ec?SW1$ zg&vV@F1pRqzDF{)R>GE5hecLZ<2|QEx3Tt7Qbh9}DWbIrI$@7p_o@k+HcWWq|kOLLDDRY>E3X=vN7Q{3j@ z-19)C?r>Il1#G(;`ViPw$>viWIt$|KPZ94%{pkl^@bMv)N4jJ~e9FVTp{pJY33JvT zYwxmsG_E{_bZY-?gRNG}a|Dzp3Hm8dO7}X_Y0>V~;D>4WQT~B^vmkwCWgqR4`rb|c zo>czsO-I0*k7}oqQNEU)BH2}6=!_#QfIVeGpWUThat!Qu(VzJA+4Xyz`$b>7S=57S z@2zmF_MXvL1v)YP=iJ`o%$SMlU?81^^|SlaUsT%$xBJC74;swwFGtuWybG54o~Dp! zZhKIlbY9gA`O!IdI;%?OtUItq+y z>F89}z0`8+G|E+UNuyk)f6|DrHAW=epmyMbtx(4W$6$ZSAD>Y%xin-FNUIy~Pa&R^ zc8)%T@=?wd{sreDAE$QccpKvY<$c42kF#hi&iNOjPq5+roxQCERMK1`2#=M05m)zHpx_ZuB!!OzX$j^Kqun(^QP3nT|!^_N%w`LubEcBR%MQ_ zOiX%9T4lvpB54QCjK>0x(ffM4?7eFy`Zm9JKl?w6{UY-EIr91dd3`#5N22dt&~o3; z=hAp288Qp@E@-lUb+pD920ovL?!ZPIdk*K;!h6ay>6Em}nFJo*#q*Lox_DqS{tX^r zYx{b}xHlfi{#Kef50*;K!`|=VIY12_R6Ak*dRINu_=5b^Gnw}3<0g|{WEwKkd)SD8 zGv#Cpi?EmAN=Es(Hz%{KQR2BxYDb<-i;|Z|>RVn1ke7|>gU)5*egU2}??J<9Zd2*G z9sqz~(dKRm(&n%alZpD)>f^}{*uTd3IdAkS!Jfn1dyVU~|8tmI@SKtI z946+e>T{UKz=Qf6=3crN&tcNKj>_kBJnL2mo96!<=Br+eiE+-`MPps;c{ov@WIvMo zIR2n#GY?>Yke;8hP1gV7#lWfg~z@YM||+xKT7ekHmN!ZJFwa z*2?|+Q+trH!f+bT1sN+?4)h!=)Db-zV=nhW=nm|w1bGG0Xa1QOuVNoS)3(yyWsrQ6 zqOsU7%HCHW#KDG&pn@Rf6 z$9yyUn6J{7FsD++mKe+Xw-2|5Y?y|uiMGD3u`7J^as69stnLUhr_TgkT5XW}!J8?w zxA|3akaDPuKHE3YMDnIJ7sZaEzYQE4RvO0jcsIQBN4#B6hh3%e>NM&&lVq!5i)5a(EZ{-yLu?oq)BI;T*2NUQARihx^yOS4 z)6h|RzK7lqKxI*%m}$sV`a~P_TPbrq<~b;f`e`>I&AqMwvB$_Tj~k46yjd$>)RX^w z*K_&i=DWmOWgm5)WT@^j_|^un7Gm^Y8))zBwl+X@KNPf6Tf~=MO?Du@7iX#i5>J&t z6R-&wL;j!#-3^rIv3 zjWv9S^^kF3Sc4sN?vv=REgCYs85sojYnCTPpDEUswDjK?U8@;wz5(UXdpk!n%aoOw1sP+okM)6MC?r1S z<2!1!*G1on`=_)$aV*xh$^8d>CvF&?lcYSTUr$E*bNH4X^&_3IAJlHb;HUH>z%YjW zFuidkeGl{}gWehR`$5MC{e95&L3a+$8@zdN<>03iP7M70K=VNNz?PU72Yz$lyD=wY zM#b)lxf-)0X5By*Gh<-Jz_x**1K&t^E8#-I;KTug`wuROUlGp+PDof9Uyu+QcYFMU ziE9&gCH^k)dhFHM_hLVeeKGM^?2m`68T9y&`-Y4dVjObVbl&v3=}B~vjNLwH{GdUD zeh}MkT5I}YVs`AqvG>MKkJZJmkNa6%aomi!`oX8;-XHwK!QUIaWAOgSwGpKeGb7{( zSLE}NHIcg_t0UJ(einT#fj#&?ZY zHPuyr7&qE+s2l%Q0YVVFb1mg*<5xzyOq&bYIpX#z2A|3KaD&gO%LfX{4|pOxk5gZ z;zKGzTXf$KnPvDcCYn6Hf_zv@xnBfNk*80aNuS3Jas`A-+R-2e>EFHd|8Bzn zhv~Ywh5*n=dt7>ho-TaZSkM0}PV&JkhH$CQo_NDR%7Fg;|8oW7pL3|ezd?~ePrg;3 z{}ucfm6Ye_=a;7D6cs$0@2iZUjp2V(Gui)W?tRGoX88a2%|cK@{^R`T+E*7B=I8mu z5bQ?cl;T^!bmvF5ND!1m(yQQs2x0W^KYiurRuq&J=NDI`7UdT&udtUCmzAttmzrBr zT+D;Ya*E5B<(H-A7w4Ab6%;QoU0#-xmmd`#6~5>m`kR%tVC>AxDCFvN} zhkIOxe*dFakMjOw9>Mt!`5%H;rJKy0;_z8@*m^bzhG`E{e6^sO`T9e#9&MvP4q;bS5JS{r$<@; zQIB5vSNQEY0#&)`iT^A3zjyxq_s*O>d*;0P_h;QZduG<`tl2Xc&Y3aWdjFzK+)tmi zX!i7lGcy<7jj%Zn%*lGlI{V&P(-%H4dw$lOyB=DQHD~_4i)Lmb(nE`~rf1E}ynFWj zvll)zf8ne-3z1^}!Ym|SFn!_ldyv_}`xnlfJ!6rQ|MZ2k=0AAv^qI5g+&k;uc{AtT zFZ?s9Z<;;}e-`AdF3&fY6q{$xzn3T*dq3~S*qq`=F&fM>uUcJFk)M}Znp03_E+{rD zg9CH^+KT+*a&(X7BHWC~tMh${a_u=~Ik^@2Us;ly$-X#eWfvv(eDuj>=4A!>MR_1T zr_4vA2vKt8Au~&g!B$18Rq5}|C6DHpEh{Qn<4e(vtL~9~aco)Yuwb?r7TC=GCHW#! z6_`;1Nzv!IvY@!6%;!6MZ7D_?`FZBNl8UYl5%F8jrg5C*<%v>mVXkuXgEK4I?c>JhpH2RLHORT@9^8Yw z-o)xlE}FMSvAp>NO4FAxTM6$`aG!+2O^YacVg9Ps`Q;U6dk$$ha)oKqXlqQdXL;tO z>tNHed8L;7l$70Hj^+@c$~~)CB=a>np)wUEh55y-d%H(w#dlPgmqPSq`Q>F zv?$+fQTsf<8urfxjUFQMZx7u#}UV!(t3`(bqTm_rDE zhBFYF;W#^?T*1MGu=JU|q+i@idUe4rSpKEGq~F*}`PIFo zuk9s$T`%bydkJ^-5`IF2+c@^DA2G=eCZ7xu9!x)QMp(ImrOy)K%7&tbe%O0SU(rkX zTYJgBwwLsEy_DZ5!h`Am(O%Lw^%8zsga?z4M}!BHKfX(+T*1;uiW(0VZtf*KO@s$4 zf0hUjR{waWLb-yaxAhWU+DrZ$MR*Y}M!2|x{(6K@F#bDw$=@i}rGxQj65+w}Pwpjr zst6AzA8Rk^Z6Z9Fe%eKNF#0Qc33v1oUfoOiHNAvC*Gv9&B3#(<9`zfE!+3NBli$!@ z!twmNa+x{w$lof$pF=pBnsD*R^w%SNhL&I#R3qF_!Q+a4q(}Y?;rQlT>hW^M)-z^x zag@`5d*B|&QFfFud~SwWH*%CutYY~52D3JCl+TtjoJ?TWGaTi$z(?S&;3&6&KJZ|@ z#8Dm%Y(=^89E(gGmz>8-8h(g)ZjN#za5vlsIm$J_i%3@l`~m#!9OZp08AD%Zb#j#L z!0*GI$5EaN{2tsH9Oa#8u-}Ednxi}dSOd42qwFnY>{+4~n>os}mNI<$1#;ymj{t6_aE`J8_!06wo5R?rz!Si8z@5VF5bk|8uBT3p zvOAlxCy>usj`B_*=qsw`xa8uuINyyNiw<&J;s9<%x{VxVD{u?knH=TwOSt^q9OXvf zW`rN)C|3d(l&pXMmn0ipWVeH`Ud;Vu&Hsleq3&)_IW0?|aRMvn3s zD^Gu#qkI_nG3asv&jTxfXtLH)j&ha=w}|j)Aju<=qkL%|=kF|#_^TC|1*H6@0x5n5 zM|miaMJ};J=HbTmgh?SxY&}Rv=U(H3Nt$wWe{D zjX+e9)xc4wzgrPaVu&KtwsHjeW7RK_4mtDB?z91tS4)^e2B0wE%61xMKi1YJds za9lE4xRZrDel%m3LAL>T3FsKb7(`~>$Wiu=geTl>9OY6VqFReM%1tQ@ugqoE;~eFk z$&5ji)@qKj5eU&)4IE|19gHEVbt6Z)@oS7hbk>6$<)+&iiO71Kqih616jlRA*)f7K zh{C#&qwE~c>3fc&91kS=OdRE`+ZY2Y)&(5pnqj>BogC#3Gh-m#>g6ae27**;7Du@@ zi7}9Bt>Gw}fFRWx%~8&{mGhs*QO>#r=dBUGfTMh1C}SYiTE|iLKv*EndY+?vDUmUd zX1&N!#xpF6Jo7lp?gYj_s`V^KITHxdtg|@EN8=a+Db~XrKkexFEuL6&U3k+inw^qEzj8J|Ai14Dt9G6&tmngoGG2B{R9ObD%{I_Os zluw2-hX2+R9A$iumC_Z}aa^(yNd3uLj`AbG%g8sAho>G#U_Z*Aqg(-`^rak^oJXJm z;ckxdVc>rw{d2&70jC1>2+!as#{+e6n>fmqNGu_q1LXljYyvF;%>tP~H_D}WL=T}; zphKWdphcirAQMP*D(M9}1v&)U1X=`|1u}tdPH%`ypi`hjpiQ7fpjjXj=!P(q@&!5t zIt1DTS_GN}GJ$RgPf0J(DbOL%CeR|#ERYFwBe9ZRpi`hjpiQ7fpjjXj=w>3lK&L>5 zK$}2|K(jyqWf2mps|l|S57iwGKZ?KZi1QIf-KEI3$WWat>UdPB&fCAEzfo5=;J|=T z-H8Dw@%M1_(P)GYJU-Bv@2KTYYV?%Wp<1fVJukn{LkGqiRn@)>#(e~;hNbW5mi->r4GhUzXQwIzk>Du-1M3)Stst>!kAGW_Up zq#AL4M5xYl$HhBBb=4_5Q$Wwij*+1{$LOu2Lv?kj2U0_I2gfvyLHw~t$0E-OO%pfgz8S-dHT*!UE|clQ&HA8YQ6!grqxah)t$DS zu^|8H9n;}Ivt}k@&N@8{p?B5Z6{>sgZs*;hx{gf8oKW4?xs`KK*1V>9DE*$sd*FYs zV?O*BR4xFW_wBq7p^KUpq4cavS)sbN`@Q!g&I67IA<2giJZ#jRec1gl{2%t>Z|ygq z`zAR3=6U-2$oWT*&$lYSh5K)v$KQ@@hYb?89mij1&b}O!nA?~Ox#id8hw9EOJG%@e zF5kHv6xyA3$ku++Zq%JDI9&jltT?&?vR%=JzpldLg`lVK68<`i_Z6d*(#lfEq4Y5R zUMg+FU)QSRt56GN)n!Oqb`*avmR+LzilY_qUtPT#GFg2Ze;to*eH1nO=t2BF`J{CE zNePrbDLI}3wml_z37y-decOO1wn--m4{w)_ZU>&A8czrkA7>F98p}EH%Cito(&k{R^P?7g7gd%^|7w5OC{Zsq!%J z^kL}?;fW*C$s@pyBa-7+6#lAI`6}?>t5PGO`&H>YVbf9R#8F_!QOWUZlz;HoQX^sY zYtqiw;D7ct$xY}yCha>$cwE|d9OybO9Vc}DPTKc7;OXB>XMPW?{DV~e2VhOJRND-6 zpODU-SJ1s@h9M!KS^f^o8FdAybWx7Tk;Y*-;wsc13dALbn+df>v%_U zoQC`8X~{+CIW1izJo~QXeiyj&J*nnBpzA&9IN`xROO1a9w*6W15<1UF`_2HX|03=D z3-Iv!($V*U=iiq+gwDT8`~C{_oRuz~1s?pH)c7}``)|_uzoGn^ze}}$hx^h8Qric> zHn-$;1J9h3&YlA{eI%Xu2-tC6a(oOt_=(i`3DETq>G(e+I|fPpVTjf1@3<$ox^Dd# zg`=-_2&3@Dk8<}K z3}(okC*toD<$WRC4h+gD{M#b__c5NL{8~hQnHV>bTY8%3w~gY%eL#fopz`3Z748Xw z{x^hse-sbjS0(5teh@!fVJiBcL;fu3b$UkD}=jK@V7>|KN9@> zNVu;Hw?nv_1-(teT_NQAig45TndtWjH@@cVf~){N_E*!(#<~d5>}TNl~6nxPK(t-*l1wPeQ*Vs(AblM0pR1 z`011$<$WZ=KNj>Y5#cE!ezj=}k$e!pMA#3nXkRVc zIXxNuIe+s-d2JY{lRZ-R$$li{kuT`mEy|xE+>a2w$p1IO{i@*CvV-UU-=e%wLC=#S z{bM5hXF^`XMEbpgp9R9bO@u!x?77@75PmS>0cH3WeI+NCc^2Va>{?J zpyy?wzlL=@zrRHB@W!XOdnmb~e}=W(JzCV~s7mhMD$098#19qqv41NMFX_+o+a%n( zMflqye!I{w!x|nxlj5Vif$O>ZuY%tSQQm4Hk1s^}4b(osk5%Na7yQi?@v{a0aU$GJ z>5+f@MxOs6!Eb@kM~9$qtdQ@YM0lcb|4is(iip2o=!;Ic8%2445%K2=ces%EDnajU z!W~WJ5x;_-&s6sYPTv9{-vuK70YYE?EYiP^XvF`QTX_6`iSj-d;q8LH=qGvj)1p4V zC))F8f}cqu{J%tb_XziQguM3&_g&$c9AU5K2zN2jgYabG-Y&x9 zg?l~KFT!sX?mI>NDZ;%>)Q3~>e@xJOQPl5rLEmd4e1)K&HZ$q^qmai>MSNOEA$h$g z^x+L5pFfK5TSWLLg1^s%{&fiV8Ij*DLjV3M=*brD4@7=<3U{NRf2&A8P1NsOLjG5T zewB*w7$M&cg8mj!-@Ao-qHtdl^nX+Ezf6QbF4~V#w4d9FKFHS~+*^hG)$twPo7YW$ z)>3){V@*$U`MnAl0DGJanb9>7d68Q^2UZ@!-J^Lh8!X&HotfN^hpXqNoJdRQ)pH_a zgj+oqau?)H;p+7(k)KVJ|Afd7Ylq5JCFnUJ+#i8IO0S*+`c%YM&yD;D@hCh?l<~TV zubvxw3i79L^_jj0w2KRk6QKQFn?`+?&^yCZfOIaxy&pvkUTWs3X(? z7Qn;>s%4N=3N1HG!>L$WRI+pmlst+$b*Gzv`j=*<>b4= zNiJ1RzPrgvkzL}Q|yM;=9Z6-KG2PCM#L`3Cb5TDIg@x7lOO)g7Sq-)Fcoijxj|gC55X?vnz7&BlQN67lJ#4^e&Wu4952@Ss$ZmX68TH$xhRv zQpD(PC(~4M;zo$mcbDP2OZVMPRGKgz>(zyYAoxA&>7)isI}OB|&2PY;=%tb=2Q|4xSw(cK3F3<4E1w z&5fhd>;^@OriB}!1HQWq-(9-zZnBbRmsU^mh2XAReWv+BaMvwlqAvt@-9jcP?m)@+ ztk{5L<9!+W-Hq$=RO)zK_oBwBjN?Wy?z_wI-K7Vln(Pa~T{qGv`9iwx(gNa4^u@tl zx6~69cOc{1tu{zhpUxpK!4c23tFp%XLdK7yrA{_{{MZTO%w5;`^o;T2CXY)?PdA$< zjT?^u9y~cMO^GyR^5hI2+ZMhyuVC4-f-$*cN+>6O{ps4LUt&u{S<o%NK~7!-?Ew7WrKos+_xK zrDo-PI0bggasoVP4^4?~K#ld|8H|A+@p#y*JSVFpqIj9Zl;;=N;o&&1jzrjYr00f| z3tOUe_MVPdEA<;F3nfx7e>!IxPIZ(-)L&a3S?|q`s{j1K{`GD12h?BR5M6&=Z`k#j zKD6PgKBVDueZPh;^!f%b-kTqVcjO-(U}>+5wH)!RVMjiSVD0WZSi8|+X)nN!-m|{~ z-vHRd2DjonELq{}a=fF~<$1I5?eM+W0vv{S@o!b$#~mK!`iw|X|-oy9TC?2It(o3!G@hs~DouSn|fn{Bs#@gG`jVYa*^z|dz;N}K> zqBmS`Xl~e&;Qcx?G>7U3H$ScqZ9cdD>)ylb@9?(HV5ct3V7o4i4XNLc`v&E{AJQ7C z8n(nE?ck~lGg*7YbarawFp8(E4<{VJ+ArycG<<^JMabt<{6;}0`}GOl2K~d{P5SWG zRD7=?oH?FpO}DhKSU1ia4Z0h)Jmmd=g|{~2TMfT6uu~tf=+;q)r$gGy`jF-;kaJp8 z2!ffZ9N(K8AI^5wfTm5l=++3NY3(0dwPJI&H@BaqeRe%$u?zj)xxm;OzT*RH`-g>kIUsXgy9>aSueo-niSbu zg?k(+Fdo*zYdw^ zcbDm@Y0$wPKA9R?FZ#)Ju9VPCrh9ZDs!Y?9@Qoaj>4o(b-f7Smk|~Y~n27!lqgdMZ z2uu4Wk{7;JLUP=X`cK67mX?0@_&Xz^R}V=c&Cr)L31Q}@kv<=%fnrXQ`VfF9^uH+Rst;}fbz zMuk`XGYY%jT!*nn0W>h27_|BGx$mn zd|gAGq27EvwF{meR(Oh3c)Gxdr%;8bUx269na~CBGZ$?@@YFnw#kS_XG~-&{v4^fj zfv@f0YXJ1yr3-J~!|<)Mm*-z|ylqi<8UUWm;HOh!t$V@GT`2zLqzQfYq5z5*jEa4Ea%*>VIMV zGSp{0^uBiYTq&&T1JL^B%iDL)lR~QAG=x_rK@W|`w(nl|(hqk3&d5%sgz>gL7qX=~ zB%2a}HXVi^`Xkc?)Fa)K-;3*4dZ)4etz%qI@BSm|X%Ft7#{Hk9sHzwH^{@H>eM0j~ zRl8eW+P3?JFm`G#@}@i~?+d8gxl%;)0qAX{6p6OP+j=Ktmx#7Sa(oFo1zr}em%^IS zE*4%uSi3%~VL$vS9>u|U!9;OV@N1#)!kP7Z5#EG;;~soZYsDSY>*q!ps>p_0pRjmG z6^za>_G6b32lfVO(Z-|5ZjGRLl4iWuBv$4?-CW6Q3Kwy|GKOwusR zDhwF1k_K8<J=ORq@Z=gT^Hop0dIvo_ncGX?m z^o|ko4ZHr>J99$WA$Iw(cQ72pTr&A7{7Edvz2)0eTXLmcEusy$KVrK+%4NGG*aZw1-~L2D z80{cVDYFgbCsUiz$HP=jdyn|GNZ!fhPv1f#y2uaXU!0hsd+vvm^)c5s%!9n=Lhf@Q z|4h`)-SwysU%hmcguqX`ZgBp*{WFv?IL*@Dgl}%08^YR?bu7(=K9I^eH^kD8GZ(v( z5gsO4ru+flhQuIT2^#``vT^bFjfRfx(I>QSMm^f_z3QRxQ`2nwvUAc9xC7(5MxuX1 z{$%Srz+3D78TEE4u6dh2p*cwkYjyQ!Syy2XriHT07(8UvO#ls1aaAc8D;T4ORvCdQ zQK(1!+Vn#k+96B&4*h2I5y==+omi2aQ9s$zUPEK6g0zfRaQ_Er}(c(h?*Aa(t2kh9hzuohG-L01PJvw9Sc6`$pM}bgI9NNav249@lMI61cb;VVD z_m_A^|7?UUS9v8_DSUq3nRN~F`C!Eqh0jWig+>=l<$SKNXA}^Rx}jBgpi`+YBO6*Z z6!$HVdGal=yC{RkP&oes`5PPj{Vl^-7M|hUl?>jQ-dIJtFhtL)6h2;mcDKR@(o?<9 z^~oWzDg|RWFb~|`^7joDX!d`OYn_!gx zIUt^2J(U6(?>FPySdhWIsD!FQ)c0J}`&?il>U=JKG?v($#IjDTNXckG{XU2K$rdtr zQx{e>7j=!XdfFdQ*R9}tq^R#VMSUMeeg9Lbhp+|;uf2se;+t7-Q$4Q$?{g(%)jWKM z4&QM;)r>T-pQrFmx|htT*LKv~7ih2hkiG@|Y5_Z(PJVmg_UMxvDj~Nd$%Hq;GR8X3?9nH-zJ>48otr7`Qf-bokxg2g$o0(wI*b}R*N(B}G^Dkn4|xh@YbWB`1w4(v5Vt2WNn)#7f#{!Bw1#{?@#6fuQ})1bF1|g6IvVdlo$c2-;$>7!M3IN)Zt!pbINfB8RBq6yFKmpuAxdvNq|$3O_}9Ducd@SOD9VELA3&BvS;A zF`3Sxjb8!H!!SQlX(akCjLl5hggh)^mi3i`YZCFns)3(QygLPb(<&prfwl)>PUKq; zx-y4_4cR8eMqoZ^YMD4E1@$%%eSgGTpe=b=)DZtTl+HnPQQp8kQiMWZw!*JtVIk;S zf$yzlO2!CGc1;q-KG~t{r3*=xBkZ%ztZ7ns;e|g#R(tn64Ba_`50A~O#<$+)rbZ5- zJSg7iw$7{{LFZfM<6Cbi2NPhVi!FQ$<&hkcQD0&BX6A1YrxkIC7DZN4WML}eP(C9O zCjxQ)hB#`P7WmN^K@D$(`(3z6|H!6N`<#aMX+c|pUE9?@inWvdGefo{Q)=rtb6AD< zJ@{;a19nrZ&8xQEg0XT9#$m8qJ5waKi|S0hr#{jMKhGVkUK0JS4c{iEvV!$d9VK`9 z`l(D|kB*@p5r1JDcv16i@w@-T@BSmdd$->`$w^K7KJHT(>>b8E^T1#DI7|DSs4&G| zkHVaOZd8O~Psp~CJwcteQay*Eze~nrXf*a3S&*DzggXWC$qu9#SbI`I3im_a;TVUI zoe77XNrt_kzCwwI^x>anE4BmQSf50E(O8M(LD*69EA-0}`fMHgZaw;N1IA4K>aW8t zT)}v$O)oW2-)tOeX&(%kzNZ6y41EXLNgX>veM3C@1tZ1{N#HL6{&6US`dJ){g$;@; z1T8Tw;VdS3cICq!opD~=FgCFBHvOuR;F0u#(vqH#+lcXYV!@G&_nG&XP2q`EMj3i8 z#l*Pq>JFR(HCd8ajKt_oORUBPUbFAOw|!wxGT~3(&fEc^I&*7YB zj7N5<5@;Us&ZkLE$?^@SP046TtU0!8d4B>M>jJP4zgW;8z)cRrns# zgKt{^-gP#s z>d-!i0%PG%aiGVi@GOGj--LF@@O{s7=rh$hgjvrTJqS0IvU+2YRDS{ExY%gc-h%M} zjoFiu*^xb%KYP)ijYb=}iZv{{hyA{M0Aq(!WTQ~_1(bt!inYk_h9nUmbKR`d2&Z<| z##rOCD8DJ3<_0EZZqSCYe|cx;A+jUaH{1o8&4%n|L54FS%NdaG^!m=%C1w2Ylvrci z{NF&P66^}`$99$@KNIX0^tN4{Yt$gW>l>ycuix^znHhq*iA8=U<6Ye=*9^-tv^C{aT5o9lHF=ukb_tEPMoY4U8eY`XH-s!#eFC z)csJ@dm4Ta+|H}0bF4y}3LxXT_<69Va1Aov1Q~yUdN_c7hTL>dwC+Hgt1R50=t$*? z^%qHR7yanSBgkqsr?;r${*zsU ztk4x3=}KZlf}$%!6#GuP0(-8|wGz7Vchvp6-p484d+$n4zY&h(H%g^>ChNZA0L_-twGc3h&q#m?|Dg7F|{1)^IW7~ySg>FrPZkQme z8kF-3{3;b4!yFj%&(DO8k({Z%sQzfqd40oT=)r@~hX?QE><&-=SV z*mw`t?Y2QavFOt?z?=O^iRO05k`G|!C>gmHcNe7gQXthspkDJV{Jy#HE#v)k`z%jQ;MuIL#|jGNUwvR2l>`r zS8M^kKRgp<&OqIu{p)%A=Qg6JKkA)d7_8BCd-*@Vt^W#S}w1qiN17D9Pi(xRN=Lgh;n+6ApFd6dXUIrwr% zg;`-xJ7!J=-m#x&E?I^T8x`f>#>UczP0Gg>tAMDpOO%xfryey?auf3QDlrT3Qs<%>X!Q>`A3vKxqg(0Z1md>V+kvGpWJxe16q z+j^X%TnWThZ>j?bRkCj6DARir(8pOzIm$&qsF>BxQMLhLN3D-=lxG34HJ&XcK4=Xch=i(&2q9 z(L1A!I!E-@Xr1mv^vP(v(dAY*-WBD!^&o9LMX~SxC7iCazlXhzCXHl<45UL`*ELe ztM=lzBK`y79KtVz`%&ROCEQbldkdvU{_42}hX@}m%3CAc7UA9}+_fV84~6>$;eJNA zY2lx)ZNl9u+_~h&Pqi=fysCfsFOVAwsh)e7hCJxGNY&nz2)AlqG3QXiReN?xgsb+M zgih&Idq{&3a;w*T-1|9MT7Y{yBKn8h0^F_u_u&AyB_Ka@K=}0l_pJf(&jp0TEOn#j zod7q{Nh8e|Aa9N*-}}enmEYN{_qpSAq&UwZxryCEXqN z0zBceyewy>zqfyEd`}6FN8(8po(Da^QeKF|X?V1UB%%yml&=6~XV1d-s#X_OEJUES zBsZr>M8RE=LQwXy)y28$F)iQY9lpmGd?)UGXTyExuGPc4;)s`eNK`%XC5|%+Cyv13 zbR$lE&0H{Ne74`|FH!L~d;V+Eq=^&E%7yb^B+l-~znIqfuO?D7GcS;ucSbkG7x8-@H7tnH1;H^GjkBAS8wOF)O^rqDpwQw zbN`F-_P=^NujLVR*+e25FA#6h7*_}$yJa~6Vdy`3o7Fh4m5g+y2&Y68uNH2w%IYv) zaRbp^`_5~rvZS~){6rUf(^ojwBSsooWAX?~eM&!LRV(J^G%v$20rTF-h9b;qTY(2K zXD!0Kwg~HW=R4Z9#~th@7dhdP`K>&#{C z>^v)R>-)Xn)*D`MCpqMt9Mp`*$61vN_+7+rKV)A8o(m!SDwH`2vR?@qJ&j*A}jow@+SW2Ug5tFvLB5#>Ok3_kGc2SUda1Xns@8C>_5eNz<* zS*Q8eJINlpYr=Z;+k+Rg#tYaNqjkK+J1pL0@Hs?pY%c74b^C>%OZ8dsyMX=NN}aJe z_Ilm+mZ$Xf$$x?0GOY{Kn!=T_ ztetc$3Hwb{SFvwYzV8k9zA_1P)-Rsxh?qTaDzKFinV_;-_P;DP3IJ-Z2R48(x%6yRpz^~4vsiUyVxq%UD(INUZsEeqp+Sr zyy1Plr~G+ZZ1BE9{84-(80pFJ9@)DunDQ&1UH0e?dkg5biG{TZs3Sczx`CgP@J% z-hlNt+J`V=AA;nh)FH}B7P6{BURYCvMz}|9^_f4b@QEVrs&f=lt=pXtggF0Vg777hIY91g7tG#LlO2B)}eiqYUYz6wQ#y}fm(R+Wn6#S5mwLzd$|g`FOQY+j<6Z!q(U!AW!3qQK2c)M^40S;~NT|be zd-*sPelc};E?WK(FIBtc%+H!Q;ZVIk%b_hCM<0P~9Z*uT3M`$hef{X5D}E3HK- zi`96uk0NdNy)D|)@?gGjJLWrKYnOV{FgD1?T)_zbXwUjX=+;NrFFp_3>%T|k%|2e| zWJ&K)|1k>v)OTTLFh)?$xx5Q|*c3iUjD_N3+!C8aw#tdI(^Zs3{f8HMl1$G*$IqjU zxiH3hO^mVX#270F^*W6iS|^R$x|`aV|9A@RFYOTQ7WEgEI+S&JPlmCx6XkZZ>u8R0G7#$$))5?K4>E-? zQY(QJZ!1UH0i<{vIm(X!v9ysI&%>=Ij&d{)w?=Z5w}M&Rre*?(Z`x15|0PrL2Suii z08%)u=i+~nf#VX|XCOM#faE`p!+7k3n`m5sA6--q{YWI#F$hv{*Y_)Vf#pcbV*DiIypd-tM@G46 zy)S&84(A((<2MVxeEg83sdEdhO-5r3F%V;k7>o;IF}5&aZE_IKn)Tat4bRqojz0P- z&WK$>pH0uwZo(QyHTqkuGvG`)KkIva!~IB?h4hP%&qCyPAI2mL>XE-PCZX}KoyCpv zB(Wp5RF<_Rm8Jb^3`=YINZK`RbBLGLJI$M)m}=g<6~8U`eH*{cQ$2TJj{W2Q_0z7i zdK#m+@dMp8$r$4phq)5n!xK{67?Vgii%$M-JZF2QRhQz7z*@>X^t@H z-4)In$!|0AP}1bGcGN{Eq`W5JUAyF+mGGXsf#Ua!t-`?9z zeAsB$cX3G)l?ajNRFjm<=ta*2d%aE7W{3a?r#MQ(SlUyHAQC~LL&)PUv44$zhQ z&`R$MNc$S*$5>aS=l=#WtZ!p%bjb5(oLQHQg~u@V$9RC&bQh|AHq@`myCN&BA&~5e z_BxbfG_ZE(`V8+MF}9|2zMYusbe6Cq%9%6J#ODkATpF!uy1_4Ld^Z2_#Xc znE=%Q(JF+N_LXMB#ZE2+!bJhW1oiX;f|e+4De`^<_5C#yrN`43TGIM{#>;t66!eJN zexAPm4#UMZ5L8gqM6vn)>)HEBCX)&1Ij6t(JTO_$zCL@ewf5d?uf6u(=I8}s;Rj@T zvAYucurug+zth$AbK`v1Oxb7K=FG@Ad;OgB<)$m)d(`pVYUP)1j!w7{zwhEF{QFG1 z=md7zuEPnvl<{X#t#%(v%kx%_;=4eUSChps`yhF+)W!ul5oC6W%+HH*MQ!ex{ z!?&Qbm3ing@V=gRD?iG!-!Z&>Ib{+aXe;+OUuNGl{XcuToK3Z)d)`bfKe(+nr48P8 znJEj_IFlEonZwGLQ|>&&UH&5QbLLGa;o0|A4@tjF+dE4?z3D<%R-SWQc_ZOoO`Bgp z@2$}D3;I56g?qKvHuwh{+Nw7A!!dl`=8v!2pE8U%2J~R>-{YSjERR!hHb@-Wu#5SuTH}g4==x;MqiyutC+TCu z@Ts)x(?6e`E^S--oYJU#+lh02jK5j-cG>x}7vCyFWEs!1pQmh7-#A6&N50+96!q3? zOcyWhZ*(vph&7KphCf4j=5wTEoX*?@WX!JEso>HjK%!*QhsyY$IRyxvGe!Ot*uggh zhJlCznO-14nH~j6YPkn;&((lkM6AUfDX(W~w_VN$#LYKt`6Ux~q`eBZSCW7Cb9a<` zU6gxClv~n9rk@+-X6)z{uB2BiI`lEsBFhF#)&-Z9u3y*Jq(ee6zUY=SBkV2i76XZ8 zB6j!KX-KwWZK5+;ZW)L4d{H^oDNf4T;p@x4xie>}18zLnHLO~>_D3swWM8WKAGT|F zM+m~xrjcs9Mdp(q{ebm+Rryzp>*SIAU<0ECrd=!^U(>F^&S#ON(0bi$jGNaX1-?oq&LlhoWYQl7SPDJZ55%KZCl zKe6;>T`#$ge~euGDgE>(dY{*4=oX)^zB#miixE0KC$9dK?!SzI9oeVRg@@_aEW3K` zUo)U1`!nLb=s?E?JgN6n_}zMsh3u!mp8{L*ro=gL+Bhz55ArA9Q)z*A+5q}eD?dq# zzr=0f`(fS>VAC#cKkfq$-qrB}GUAiYyE-0ZpMm6kia65ezK3ij@jj(K^hrsh83U$j zm;r2Hy#-u$+bn?F-h1=OFW@jb55)UJk`L(@Hj*Yd&=7erspe|wDVL<*7LmSIr>B1< z3u8BXE!amXfdggkg6FyAZp2B)J=XtP>cXazVjLvjtvbCPK9ogcXW2EI@d#xjM82{*cYMCKmt2a#u5`KH1ACYrVllZ`_(U-nfp|8jBGMWHj4 ze3uy-Tj&U#L53@0eozB#WdD?ud&B2lhZ%#C*n=T^XR8A2ncvSIyBClxb|ODL%$x<8 zw_W!Bh1iQ$z?_vcArkhCtZDu}W!^inrui}8m>A`^%F5beWcj5|vi99?`LPX=@)zjx zkEQ%$*v~UE=mgZbLib3^l)FO>6hZ4JD&XhUtC7kCfwx10Qr+WTEvku4n$ z`$M7!w|JO!Jod0%G?A@7MP`#SEfc;GT*6m=WIMs7;-j(Md~_DxVZG(3;AK8MCHy6P zBsN1E5{<*ij!D8p!au@CLI>d^`x}GJ_@iP^RgN9dGt`5+S~gN2zVtBXqzp|s_`?3Z z1?*Sffjv|*bZMO6w`jFvqQChq+^e=0KX%Yeh)*|@7o?kmp=V-(%Nz?Fyr9}F`Ka97 zpK>Gd<}v?CHxm+swv+iq^JgBk%#7mCYWP$3;J2es=#R!N^A(NL;Lqfs6W%mK$hDng zJbigo=H`OWd0b6z+bhL5!WBBFVWX{=f8HepQe)(2^^Zo>6 zTFw~wl>WH$I`+^pAN>7P_KXpCB)pWxJoFRhTa2YilII^XjYCo{*~``lj|Q>r3em39 z>5oGh`Jv$E(vIz$%Q_x{C&l(-0=y=CCUIL>N0B(pf9vP-3uTxgk@cS@J-UM9jZ+ow zTA4#0Wv@~#^^(2Y!joS7gH}i(d4b8SH@Wt)uTd z`t&bzL+PU5<4lwc;>{^)7m#ga(PC^#s{p5qHjse`Cq1U*Vy{a;9?PmUdc7p6% zOsYEv5B;p#|JZzUbe(Im845q}!p%lPjjt5m{x||BUhomk|1H?%$eOmy^V?>y2b?%= z!{8hmqf`3j_-|sX$~O{NLoX+P_Y^Z^Y$JbHjZf^0%4q*gd6UFOG4fjyCgm6Uh&(OO z9=Fi-HVF@loyrEjw-{Sto8L$bg2+?P{|4+;rEHDJ@t5G6-PqJU=0*SW9V7iSct`5i0beP*ld(;mL$OH`8329c zt@=(XWfVZ0O8lg6LxQ%b9xd=8b(9zD< z&QtP3f4lJalqm?0i(Y8m=*LplgVWyqPf}A7{SSMxto~;|b^U@pu>JK@thZV5V$n~= zFx$Vs^p;K;8Y7z{&tKt80%*gBtUb|V8pOsx(Yynkj1s=ML|dg^n&!;~&>nYZJopYl zdpR%YX6U|uq)~Mg`9sd%Swuf2X67Pm zw~nr{Y!Pa^Z4t)AOSq@2D~l;{lGuT8)=^bH`ada`d|S%#DKw7kbE0`pm>(kPXkyh8pxW_Al8mttRcBsd*a-=2j$GULGUMfLG&g`tVF)6W5A-c|6A%(t);M1C3GHU?cg^Rc!;M)Ri=jn4P- z4D|Gto%q5IM{)wPPjiSie-m6k?m;f2&B(bQ_d1g6QeL~MF8pF{T>-Q;*$*ywDfoMT z2R1d$xlUICc2<^bFW*DwktFG+0mJZNfb}SeKZbRHFf{gSw@cOqt~Z)RPm0peieveW zG@5TCZK*ELHe}Cu`Uc5!1pcz7lgMw!J=Kp6W*j;=-l&&-694c*b?8INGmQF_n?nJp!T+;$Q9r6~EO z+&XMBXUV+#Bz?;%cuwlkgp64XZH|H`;q%SlNAQ)tb?alJ$?q=aL1F4OlKz8v_QEen zFXtfnU&^WrM&K`~@weOIN}w%S_(OJ=b3+yefXK`jA7Cylbr-)I@ncWGLcyW&Y1iQ{ zjXS@*gR|&zUWU)2X`5ivma+*xrR?LNt)IHaDqAFNALjd#rVeP+<^|RVZQ5+X-=@v{ z4bTQ$d{x@)hBo^-pVb3x(mChUq6=q<+H~3N=%LH^OxLW|A*pq4WO6Sw^U^=1BWut` z?)1JA%t=dUt^v<{I+1xup1)c26ZSiDL~|qU0sZiyM%Gyij%MY+yTip@5aHfKdlFv0 z_r0OBnivl)dY|bk3NbFW!3)xN3cZV<^;>*j=(6d>oVpb1?0G3WW;^)|I@|4pv1SZ& zw2KdD-j?){y#00Y_jAD?=ZUtQ=<2~=1Yds^fxk~!GqCCOw{Am8@YM{?w+uLv>b7wf zSqHX)r?gI>7Wpjcg`B!<=4%q};(RXlqvy1-ZY=B6C+Rz+z3q04NsvBF=oNf5E2kEE zT|!qOa2|f8_(_|Txwp{iX~sEemm3{py4&Sg=F^JBs;pU!NpP8|{E`wPzt@C)vE-RWylQE)nx^9SAEBwV2|43BvQ3os(T!#qM3`S10siuD0>T?7G$)R67&;{Q&xL z|Elg&g?=d({bKc7k@WLY=d+BdqKgyyjS>3kZ@n5pyW;<3+7(C9ZeG8%OZiWyozMgu zjzcmB5}F;L?M2e87TgLgLehRXm(+!P;pR6VciF4n9O?69KHJ@%==Y>OMfQC*O=jpe zC2O%?l_nY8Z7MavE%b=^p52~=|FE?=Jej!vC1?ZhMUOKjj91dGq^ysz_dxoIvy3q| zuO(AA8H0X-owdaKs_pKrFFD&Ay1fuhH>=OguKSE{SnVxVzbW#;75Yu?*zRs~Qns~} zP2^6IKU-h)H;+OVd>%P4QdW?@Y#rm)|b#0aTnU(`Z*DG?Mv^lX~Hj$l#W|Btw zPLUO!A7NBQ_KWPL=#~|*{aHAKU(?$AA03KJ_8~Ic1?0JlW_9SK`^CoT$aBUpfAe^L z<>qkYIwRpu-VbsB(d)Q}jo=Jvdl z*s-|L1LPq?o=4USS3e&ww%DS#l<;))A)*^uK%52i)1o8cY}2|z&THI{+;V_^x|+0w zsa|B%Pw$pHX`ZdoX3Kb#W`s+N#`<(3dG($s*LGTWlXPXDY&!($R{)J0#bxbvHur$A<#;v;RP~B-;(((5Tq2!IX*yNgZAG?WJ$jp zDCyscSNi~3ffOzCSq=9AsY>Q03M29M042ZO3i>WlIB{Q4(DxKj%2A_XEeaF~e@H>! z5=)^1zOj4(m6>v{yo5I>=v%KAe=}Psy!bz-pie3z?#uk)zps!#6s@8_!KFu_zm)G; z4I6<{zXlC=0i|49fS@2#&cz~WVL(CO5}@Q)q@ZQbFYzYnc*vU8cawFzBpvS(?8a;6 zF(4$&WE`{b*Qntx?O&ta6&e-+1+O=27yy#bK);3_4FQ(_AV-7aDMy@hw_}fEAG-&_ zjx)I4cD&}1CQA47yD0b4DEH1Nx1^0se`A#Up(wXE$~`;EeK5)moA=6J6kn0w+aKlb z-e1sjR8H?hb?jqu#1ty};G9)o_lO+Hgfs5sYGf>z$nWmESF(ZODre)crNG)?pe(7n z55u|I&IN6}WqnE|)vw$ky?kwP<;s;SR<5x3Dp*(R*+yC5=s&bC!9IQ`!Za(^z65Iw z@bEDny7?=fHzW3b^0aAU+HSh1f0tcWAR<3u|1kX@{m0j~%d+!XBx!jH$S3lVyd$5h z*<~Hkpj}+XKu5BA6`_e}@T|VImQJ18~g)<(P{pM~rwnEOKO}}s%S?DY89Ln1I zS(%?B)5;wf8H15&JFDNSaQ|uV&VwnB|CGF*Cas*w@;rbxWHJ5@aTrS5nqk>O6FCo3Cog!WK2?zlVj;qRTHQ-2>9x`{l0&OGNbbB{2( zRjC&?U+k$Ehh3U-hne4U&gwkseDc>DtLe;Q}(zHaXS(+A+S9GrfD-8}XQ zcfJN*uisSJaRGb|RW-h0~ zZ2LIMY@hjzB)jl5by|sCPc7?pvC?xVm6e_*lVtN&cRb2qf5$F^?CM^ITL*JR)aUObBo33)#sM-|f zOvCqccaV#FBhm-#Ncj-lUXOmHojR3)hhpX=oWD_&Ci*AlA?UP6oQHncbS*fz^|plD z20WZFvR?J~z*^>hu47)y{v-_^l(UuRF_-)V-eZ4{ zwP#z-UEU785#f^xSaTD5idyicY|@>|CjENWo|en~9%GtL(UwlrzR$4!_?}+V_?Wg+ zPI_ra^6en+pHP20KS}ei4o8CMH(EJPb;2Cl9){Q1mtOup=Sml|U*IAzo_VJDy~^D3eeya-9)+*XsJnyjX3*X$`E~+u zC+(AcA@v7en^5-;yvv<>@3ZDp&rkLeO-H}=ygA(3lP>L>^~~WyXZe=gDJI{dlaYNG z_2MsiB|!6f!^lQfoVl2@X5ibTiKb)00CVI5>66qx@R3cAaIe@Xa1v(ExX|h_-U1!Qo`#Kk_`lIYUk8tt~qO?N`G$ehFVNC#?F|x&H@@N5UHmg)VkmROevd#@JBE z7_oq{Vm@QWJoFa@>{(OyF8!_Ny}~#=y~bGa(Edgt14*oTZ7uU4hU!fAlvwi?ub%%* zQqVUHNYaW#1(!DP1#$0FaOoX%3iL0T^oiCy6229=CX>0HjK`TC1xaGL2gW(~4QLqf z)ByG&4BW*m;;Dg+R#-LRk^2$8r`>k>$;*=WZMkJrlzW}HDWffi+<`k%{-=&op6=)F zD0h04dwi6;TUOCI$b2d?zwUj$at>wW>5|CEm0#r`$yoam5SeX}RPR=>a$nxFA;G>} zx?2M7SN_e3ecx_Y&Wu^z`*QX1oDt&he|%qpC7kxizwc=GzgPbCMC2#T-h%!jQ)u!v z_a)f**z&KOgAn;dH>9h{zZ-SA0y>ib`N58cmxdsar&pF&lYjlBo2C;9@2$ZtZQ)ra z^Bx#4mi#Lp5WEiN_jRAHIU?&0qTh1Sf4S+$;_1)0ukSwOU8fWK33X?m*sqKIL>G2g zYJ78WuAs@!I9OmHzYbXYsM~{W0DD`x&(FH^LHc3Jv)i(_qW`ts*dx@B!^UzG_g>Z_ zPhrvYj{51`c^Q8T;pNAG(4HTr_|BGJppI< zu7|S7{aB~5VX^l#_=k67OV~>GNBFI9?m3{Y5=Y8n42ihgkUI@)Je=Rh9fy8kIb&rR zV`Y$au+nA7qNck&k-H)HqdOJ526XaoR&GMxVQl;k&>n+L!WgUT_nU*;Mb9tiQo;+C zyz+^L7Zt1Q4l_n|Q4f(P&fzC{uBtRTS7jL3%5#1t-&#O^$i#1!GlwW=T%M2qe?G91 zJ58-`1MP1gVEjdvtw-LnzI`5f;+%7eWzT|q_2>eVJf<4x)7^DtYYj_}%%D&&dqxEx ze&i;Z_iUifqm5B@Vpk^qt{S;tao9!Iv$cCmGrk>?JqTiVFJ}e?z)hbxzq^e%L)vdc z=U)0Pi9fXcws>^c)Z+>287KpJh{hDXz^ppSVp|b;Dz>@By*CT+*emIl{p2tm3cu1Hl*iC zciW~?OFr5O4;*8E?!#k6PI9$Z9Ii`Q#TkSbkxhh;BJ+~F?<&_yUPG+B&T%hb%)CbR z%}a17WfML?E;>GivSd;|bdE`t;NX=_-j3UuM+$GOrrsamW=>HL&(yD`{K$^=!XrWx zsRu@dMURw~=A1yTH;|=HU@v@t{SB2F{?2LUkfYP<&Esj0nir?P_{iQ5O!v`g^=AEv zdh_D27k{!h4|#AEGQ7-m+SP+Oy=5%<_4$ma7 zi`+Ld)iI=Qs4=uo&XzslhW9uRsuG@fjX9m%+a|aVe#_`AtyDA^EbA_OH~4^I@kY1Y z*qbjFN_(|=NBTA4dnH>I(ibnFPo7WTJdZxQ0NIi|J?ALd(xMqWAT)d0;jXK5B-BB- z=_SDQ^$m6wfq)tABxRU7BuP(5(bouBJ}Y%%Kr<`w4g4D!O%9bbBO< zZi)2w{nKv3CDx51@EuLNshW1@IP=j2hX%jt&`#QoO`8d(S;w5Az8D&^Hd(Yx+%A8v zYU9AXTqyWY`5&xdI*mGl)t&m++D>b8XgxXUT7=`?nNm)XD9 zsmDmMH!Mh$a>;o0fHhvpSjAbqO{TsJk2TsinRIeL5q5eb7%v#3aH4M8+V-gYse6?-O6{8cQ`?btlk4xX`7z2XOD5$^EyCt!JICjI&RhA<;>B$G568 z3K(a_4t4ZKZ^!n@`Jw-FtrPyi!)yA$`LuWf>i{ zL)jOD-p2jSSN4j1`dQ+${>lf+1v32dsXB-IyqDCGUIEtb46ZM+L+)mJOUYk zyv05-Zz**RQM)GmXgq}N?h37oTY5j%!k;x>_c4$+2jhq3_StjseX+C=- zp>^r|14Gr@28Afs!VO=>g$iVxKRzIYem+Uc#`G4wma4n(&d21_##~?OA^IA5xA(%R zchn8t{>Ula@9NGqdu%5?cdlL8cESFx>~Ru0h)y-~4mQ#K7{R{hn~3aED`n){w(MfN z1N7nD@AUoM?-8;~w;$uS{cg)HwmZNW-u-?<&$}9T)ctRiIq7e$zu>ODnEDCvm!}8< z#?oJ`k%(7-JL)w=Nh1_LkBeU1IcHgM?-++=Hxl^ zyvdreS;PAAc~I<30QwO^#ioQl zuzP*j#-)5mx)}-kx=$Ks(k3vsK#pnhAY&LE)o-yLbP*lYTa6-%VPh!%)*T&l%;R6) z$KB1y+w`5?XInHrnAUOXCq^jz_hv}WxP2P5x(t(ZX0ai}cCG~XZ1O-Mj%+6B*gMTV z-)+BigqGo7iw$HAI<}J&nHwS#G(Lz;BJt9Zf8{4~)&cS`wxo^x^1ivu4^4fBFS;lX z`#%k2eadNYR-3>y&K4=yVm@wq%uw28M<`8XQe6iy+1bE4XQZ403BS@^v5{#k*=88u zV-45McY{MzIRlENl1gz$;t0}NYm6RjQ0+a3HLTr8S%b*G1>{4A$X-b6{cym+njA7* zfb&2CBao{NY!^vehTJ6kV%>3~Q(1cl=i}sgqKHpE8E1i|{8S`klM_BGVm%C?V?wV&f+g|`zqAyfu^{KPG z{1eziH>CO_|3stc=bVrJ*^pt`-%Cl(&QA5r656!07hQOx_OFL_$ean=vZ5w*8s+?0 z?<+4MT;`!C*ds2w)Hd|HXZf7~7qZU^xqTu1g*7+N!G`*TBf0%NeSp|$-z9tFIIrzI zIBt!?9W<}{0$kOwc8vW4`6st$lCH7rNKPwvXtZ_j;T$o-j?3I_W+!X6cD|yE`gK&k ze)8K#e)8SH@L;g)Icra7WPS$wPj51fS<;TN5gFcCwlRl;u7{VFZOH)#`>6?rjF;*5Q(E%xFA`KDcm_o0E*!Nr-_-iUiZS!|wj z#i)nymc)}hgYcx}8GX*SgbU9-NqV7&?9sB?9J;Cf&^G}nb32(|Ntnc8EZCJyJsQh? zXYsi!qMYc=G|21kCO8+Eympr*6LgOfQo}ZDYosaM) zXM*&~C)~+ibnd1uExXU6|4D4ug)cY@X1Ja1wGX?BzOd>yuDuXl#Afoa+7J0jKlyXo zPZ#IW(|i?pKjAuC$=b3SY)M`7Zno zpwk2(^LR?~j-`Cc2krzFOMQubY>6EB^3 zdBi(Qyd4hrQO5Qp(OFB{0B7u!SY%A+q_xKcqwD9jN8o3k`g2x zb^vEbZcoWW@43z5P4+XAHcTHVZR$#U#jn(_$-0@0g~^O3^K>7b<{Z_IKCsB;^ylW~ zv*(p}kps}L6uF`Op@s(*#tR|%?~ugG-2Ds5cijfajxbJ^c5a)_jH zIn(L{KjN?4t~v>mvK}ChT=G=@W9#IM0@1Hs2~QGN?uj2g%$0518c81C9h98i8kdt@ zkbu37JvPN*e?!@%4-wlLQ@0QC>&oD+wPgQhsYeIAlLkH}$i4?>OYRu(#$7_$1q-sf z^NLKf4ct)YD(Y@6Fwg+PyYDCW5yXa2VM(Yrg23DRBjlNfEev34S?D zT*=o?KY{in^c7rNs>O9wqo%WeTQAYeCk(C z{Ul%dJ1gJ#F*P|^X8fz1TWam;mNQ@*9cgv<0PXQXXfO1|HntmY%g*=Y>wlj+L!8`u zAK$|l$T;16fnuopPAvAW)~8KYd?9v@pV@rDdk6PP9AW%zjZg08iOBfUUQST1NF0Q@ zmoFBrCt@#lBXM)kGfMgMc~4`#;X!y&`Zl3u`lhr+@z`bMnMS!Iw|H|Kd#c37t(d;W z|9AUSL04fXeCn5T-g@Ql5*`ngmgcy>Ok+$)Z2$1* zoGs_Y{to^<=^WDZFMl1BE$fNr=&$CDGIHFd)xYi_i(&)jHynmsq_vDLEev)r!Qh3=>R$J(=;(Q_7@ zWek@!LG_KNCz{8fUw2K8Dw|QCXe72j1g?&u2QSw&D2E0Ip~1oB*W{dcCLa9&8vF_x zdg8R&04}CndbXCqOa9_=uWEkA?d>U%=iUmtnJK~@-c@*Nl+v-ewc4RT$+(%g^e=miC6cGF84|9;9}k3 z&`!$A95|_+_!Y!SfR61mjNDlH%6ZJ=iMunRUcy_^^~&6$>-A$*uZOAEeqFB~o>KLa z_1h0v3w(`wJzTmvN7iuUeR&D%TnS z0!@Y-8us{9@cf8X_TlX(p~>@_Chx=NFF+G1`}>sdSCsD&UG`s5_U9=p=i4oia?XEY za@~Gt(!%<-lzAuLrp!6>si&0LF6+zC;|yne2t8z7UFt4*KSSQJ@;eZN7H6DseQ5Ep zO^ZkS(qg}E-)ACt>@45Rv}n=8W758*JQ6mAusrI=nK018ZPDTq_2Rsax&+QBo9s4n z6XI$YPBx8A^9CFB-$X8R@%t{kY0-=|&I;C0OWCh3=NQQxY~=LqdjqVMoutjnJwS2> zi^#iwM&5YEF*2b5+SI<9p5qm}R&aXg$(us0=sj9!{|BJi1n8i2AAQ@m=cLGJ^f50D zINnh_k~wM;b5-shxNkJ`;{nW%)%^pX(9g&n1kz{7{8;uhx?jt-Z0OUm2Q4!=XW+FA zWP#$2c+Snj9-Vjh(a^-3LoW7bx?h{r9k
      nH9_p#~>sY|Y_}EvH(`H=LZKg`E9I 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 LJ^0+v{IUKQ*

      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�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 dy;~)CF>}MurrhLQdW)VL~!j8ss|(0 zqzQJlY!sHg*+yCUI5x*hgX{*`yhB*^Hk3PU2e$cR2M6t+K^G%KSlg5lcS>+?fFI6` zP|mE_BYFnd@j?+X-7q(!KY`tNA7S@;i2m8r%SKh0CH0XU3tLh^?LvjdKQHhqI=EhDat>$j@r54mg)Fz?2fNJ#~R$uRuT<46HHwEfy>=TYsSMT=?g1$TN zU{#>x@*C}*WqP|OtX>3Oy=N!`^p=L{1-9MMt}~?-KHh^Yf54_zDN0Uy0I hgt9}+SlKgtK0=bO(ScJ|thSR}^?u>Wt+bzV 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

    2. +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 z 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