diff --git a/.travis.yml b/.travis.yml index 2b2add2f6..e1d7ff047 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ sudo: false -# update to Xenial in April 2019; Trusty will be EOL, Xenial new minimum supported OS version -dist: trusty +dist: xenial branches: only: @@ -21,9 +20,9 @@ env: - TARGET_ARCH="ia32" node_js: + - "12" - "10" - "8" - - "6" os: - linux diff --git a/CHANGELOG.md b/CHANGELOG.md index 35d8d9e71..d7cfe392a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,933 @@ # Change Log +## v0.25.0 [(2019-08-09)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.24.3...v0.25.0) + +#### Summary of changes +##### BREAKING +- `getRemotes` no longer returns remote names, it now returns remote objects directly. Use `getRemoteNames` to get a list of remote names. +- Converted Buf.prototype.set and Buf.prototype.grow from async to sync +- `Repository.prototype.continueRebase` will now throw on any error except for EAPPLIED on the first call to `Rebase.prototype.next` +- Drops support for Ubuntu 14 after EOL +- Removed access to the `diff_so_far` param in `git_diff_notify_cb` and `git_diff_progress_cb` +- Changed `FilterSource.prototype.repo` to async to prevent segfaults on filters that run during `Submodule.status` +- Changed `NodeGit.Signature.default` to async, because it actually ends up reading the config. +- Fixed bug where templates were not reporting errors for synchronous methods. It's a bit of a wide net, but in general, + it is now possible certain sync methods in NodeGit will begin failing that did not fail before. This is the correct + behavior. + +##### Deprecations +- Support signing commits in `Repository.prototype.mergeBranches`. The last parameter `processMergeMessageCallback` is now deprecated, but will continue to work. Use the options object instead, which will contain the `processMergeMessageCallback`, as well as the `signingCb`. + +##### New +- Support for Node 12 +- Add signing support for commits and annotated tags + - Enforced consistent use of signing callbacks within the application. Any object that implements the signingCallback + pattern for signing commits or tags should use the exact same callback type and with the same meaning. + `type SigningCallback = (content: string) => {| code: number, field?: string, signedData?: string |};` + If the code is `NodeGit.Error.CODE.OK` or 0, the operation will succeed and _at least_ signedData is expected to be filled out. + If the code is a negative number, except for `NodeGit.Error.CODE.PASSTHROUGH`, the signing operation will fail. + If the code is `NodeGit.Error.CODE.PASSTHROUGH`, the operation will continue without signing the object. +- Exposed `AnnotatedCommit` methods: + - `AnnotatedCommit.prototype.ref` +- Exposed `Apply` methods: + - `Apply.apply` applies a diff to the repository + - `Apply.toTree` applies a diff to a tree +- Exposed `Config` methods: + - `Config.prototype.deleteEntry` + - `Config.prototype.deleteMultivar` + - `Config.prototype.getBool` + - `Config.prototype.getInt32` + - `Config.prototype.getInt64` + - `Config.prototype.setMultivar` + - `Config.prototype.snapshot` +- Exposed `ConfigIterator` with methods: + - `ConfigIterator.create` + - `ConfigIterator.createGlob` + - `ConfigIterator.createMultivar` + - `ConfigIterator.prototype.next` +- Exposed `IndexNameEntry`: + - `IndexNameEntry.add` + - `IndexNameEntry.clear` + - `IndexNameEntry.entryCount` + - `IndexNameEntry.getByIndex` + - `IndexNameEntry.prototype.ancestor` + - `IndexNameEntry.prototype.ours` + - `IndexNameEntry.prototype.theirs` +- Exposed `IndexReucEntry`: + - `IndexReucEntry.add` + - `IndexReucEntry.clear` + - `IndexReucEntry.entryCount` + - `IndexReucEntry.find` + - `IndexReucEntry.getByIndex` + - `IndexReucEntry.getByPath` + - `IndexReucEntry.remove` + - `IndexReucEntry.prototype.mode` + - `IndexReucEntry.prototype.oid` + - `IndexReucEntry.prototype.path` +- Exposed `Mailmap`: + - `Mailmap.prototype.addEntry` + - `Mailmap.fromBuffer` + - `Mailmap.fromRepository` + - `Mailmap.create` + - `Mailmap.prototype.resolve` + - `Mailmap.prototype.resolveSignature` +- Exposed `Merge` methods: + - `Merge.analysis` + - `Merge.analysisForRef` +- Exposed `Path.isGitfile` +- Added `RebaseOptions` to `Repository.prototype.rebaseContinue` +- Added `NodeGit.Reference.updateTerminal` +- Exposed `Remote` methods: + - `Remote.createWithOpts` +- Exposed `Tag.createFromBuffer` +- Expose `Tree.prototype.createUpdated(repo, numUpdates, updates)` + +##### Fixed +- Updates lodash dependency to address security notice +- Fixed a prototype problem with cherrypick, merge, and other collections that have a function at their root. call, apply, and bind should now be on NodeGit.Cherrypick. +- Bumped libssh2 to resolve security notice. +- Improve speed and correctness of fileHistoryWalk. The API should not have changed; however, when the end of the walk has been reached, `reachedEndOfHistory` will be specified on the resulting array. +- Fixes openssl prebuilt downloads for electron builds +- Fixes commits retrieved from `Commit.prototype.parent` +- Bump Node-Gyp to 4.0.0 to fix tar security vulnerability +- Optimized a set of routines in NodeGit. These methods as written in Javascript require hundreds or thousands of requests to async workers to retrieve data. We've batched these requests and performed them on a single async worker. There are now native implementations of the following: + - `Repository.prototype.getReferences`: Retrieves all references on async worker. + - `Repository.prototype.getRemotes`: Retrieves all remotes on async worker. + - `Repository.prototype.getSubmodules`: Retrieves all submodules on async worker. + - `Repository.prototype.refreshReferences`: Open sourced function from GitKraken. Grabs a lot of information about references on an async worker. + - `Revwalk.prototype.commitWalk`: Retrieves up to N commits from a revwalk on an async worker. +- When installing on a machine that has yarn and does not have npm, the preinstall script should succeed now +- `ceiling_dirs` is now an optional parameter to `Repository.discover` +- Added support for building on IBM i (PASE) machines +- Fixed leak where struct/option types were leaking libgit2 pointers +- Switched `NodeGit.Oid.fromString`'s internal implementation from `git_oid_fromstr` to `git_oid_fromstrp` +- Fixed builds for Electron 4 +- Updated `Signature.prototype.toString` to optionally include timestamps + +##### LibGit2 Bump +- Fixes gitignore issue with pattern negation +- `Remote.list` now gets the correct list of remotes if remotes are changed by external process +- Always use builtin regex for linux for portability +- Use Iconv on OSX for better internationalization support. +- Removed LibCurl from LibGit2: + - Now with built-in NTLM proxy support + - Now with built-in Negotiate/Kerberos proxy support + - Working with proxy URLs may be different as curl could auto detect scheme for proxies +- Various git config fixes +- Various git ignore fixes +- Various libgit2 performance improvements +- Windows/Linux now use PCRE for regex, OSX uses regcomp_l, this should address collation issues in diffing + +#### Merged PRs into NodeGit +- [Add deprecation warnings for enums that need them. #1711](https://github.com/nodegit/nodegit/pull/1711) +- [https://github.com/nodegit/nodegit/pull/1706](https://github.com/nodegit/nodegit/pull/1706) +- [Reintroduce Odb.prototype.addDiskAlternate #1695](https://github.com/nodegit/nodegit/pull/1695) +- [Fix behaviour of Repository#getReferences #1708](https://github.com/nodegit/nodegit/pull/1708) +- [Bump libgit2 #1705](https://github.com/nodegit/nodegit/pull/1705) +- [Fix Tree#createUpdated #1704](https://github.com/nodegit/nodegit/pull/1704) +- [Fix failing tests on CI #1703](https://github.com/nodegit/nodegit/pull/1703) +- [Audit lodash and fix package-lock.json #1702](https://github.com/nodegit/nodegit/pull/1702) +- [Implement support for Node 12 #1696](https://github.com/nodegit/nodegit/pull/1696) +- [Remove NSEC #1699](https://github.com/nodegit/nodegit/pull/1699) +- [Use builtin regex library for linux for better portability #1693](https://github.com/nodegit/nodegit/pull/1693) +- [Remove pcre-config from binding.gyp #1694](https://github.com/nodegit/nodegit/pull/1694) +- [refresh_references.cc: skip refs that can't be directly resolved #1689](https://github.com/nodegit/nodegit/pull/1689) +- [Bump libgit2 to fork of latest master #1690](https://github.com/nodegit/nodegit/pull/1690) +- [Bump libssh2 to 1.8.2 and fix some npm audit warnings #1678](https://github.com/nodegit/nodegit/pull/1678) +- [Root functions should keep their function prototypes correctly #1681](https://github.com/nodegit/nodegit/pull/1681) +- [refresh_references.cc: bust LibGit2 remote list cache by reading config #1685](https://github.com/nodegit/nodegit/pull/1685) +- [Implement faster file history walk #1676](https://github.com/nodegit/nodegit/pull/1676) +- [EOL for Node 6 and Ubuntu 14.04 #1649](https://github.com/nodegit/nodegit/pull/1649) +- [Ensures that commits from parent(*) has a repository #1658](https://github.com/nodegit/nodegit/pull/1658) +- [Update openssl conan distributions #1663](https://github.com/nodegit/nodegit/pull/1663) +- [Support signing in Repository#mergeBranches #1664](https://github.com/nodegit/nodegit/pull/1664) +- [Dependency upgrade node-gyp upgraded to 4.0.0 #1672](https://github.com/nodegit/nodegit/pull/1672) +- [Add additional getters to streamline information gathering (breaking change) #1671](https://github.com/nodegit/nodegit/pull/1671) +- [Clean up some dangerous memory accesses in callbacks #1642](https://github.com/nodegit/nodegit/pull/1642) +- [Output the item that was deprecated when giving deprecation notice #1643](https://github.com/nodegit/nodegit/pull/1643) +- [Don't fail yarn installs when we can't find npm #1644](https://github.com/nodegit/nodegit/pull/1644) +- [`ceiling_dirs` parameter in `Repository.discover` is optional #1245](https://github.com/nodegit/nodegit/pull/1245) +- [Add missing `shouldAlloc` declarations for git_merge_analysis* functions #1641](https://github.com/nodegit/nodegit/pull/1641) +- [Fix regex state causing subsequent runs of Tag.extractSignature to fail #1630](https://github.com/nodegit/nodegit/pull/1630) +- [Update LibGit2 docs to v0.28.0 #1631](https://github.com/nodegit/nodegit/pull/1631) +- [Add support for building on IBM i (PASE) #1634](https://github.com/nodegit/nodegit/pull/1634) +- [Expose more config methods #1635](https://github.com/nodegit/nodegit/pull/1635) +- [Catch errors and pass them to libgit2 as error codes in rebase signingcb #1636](https://github.com/nodegit/nodegit/pull/1636) +- [Simplify check for IBM i operating system #1637](https://github.com/nodegit/nodegit/pull/1637) +- [Bump LibGit2 to fork of v0.28.1 #1638](https://github.com/nodegit/nodegit/pull/1638) +- [We should clear the persistent cell in structs when they are destroyed #1629](https://github.com/nodegit/nodegit/pull/1629) +- [Fix "errorno" typo #1628](https://github.com/nodegit/nodegit/pull/1628) +- [Bump Libgit2 fork to v0.28.0 #1627](https://github.com/nodegit/nodegit/pull/1627) +- [Fix macOS and Windows Electron 4 builds #1626](https://github.com/nodegit/nodegit/pull/1626) +- [Fix non-existent / dangling refs cause Repository.prototype.createCommitWithSignature to fail #1624](https://github.com/nodegit/nodegit/pull/1624) +- [Handle new gyp information for electron builds #1623](https://github.com/nodegit/nodegit/pull/1623) +- [Use same API for signingCb in all places that can be crypto signed #1621](https://github.com/nodegit/nodegit/pull/1621) +- [Breaking: Repository.prototype.continueRebase enhancements #1619](https://github.com/nodegit/nodegit/pull/1619) +- [adds support for gpg commit signing (fixes #1018) #1448](https://github.com/nodegit/nodegit/pull/1448) +- [Add `updateRef` parameter to Repository#createCommitWithSignature #1610](https://github.com/nodegit/nodegit/pull/1610) +- [Documentation fixes. #1611](https://github.com/nodegit/nodegit/pull/1611) +- [Add Commit#amendWithSignature #1616](https://github.com/nodegit/nodegit/pull/1616) +- [Bump libgit2 to a preview of v0.28 #1615](https://github.com/nodegit/nodegit/pull/1615) +- [Fix issues with Commit#amendWithSignature #1617](https://github.com/nodegit/nodegit/pull/1617) +- [Marked Repository.createBlobFromBuffer as async #1614](https://github.com/nodegit/nodegit/pull/1614) +- [Add functionality for creating Tags with signatures and extracting signatures from Tags #1618](https://github.com/nodegit/nodegit/pull/1618) + +#### Merged PRs into LibGit2 +- [Add sign capability to git_rebase_commit #4913](https://github.com/libgit2/libgit2/pull/4913) +- [Parallelize checkout_create_the_new for perf #4205](https://github.com/libgit2/libgit2/pull/4205) +- [config_file: refresh when creating an iterator](https://github.com/libgit2/libgit2/pull/5181) +- [azure: drop powershell](https://github.com/libgit2/libgit2/pull/5141) +- [fuzzer: use futils instead of fileops](https://github.com/libgit2/libgit2/pull/5180) +- [w32: fix unlinking of directory symlinks](https://github.com/libgit2/libgit2/pull/5151) +- [patch_parse: fix segfault due to line containing static contents](https://github.com/libgit2/libgit2/pull/5179) +- [ignore: fix determining whether a shorter pattern negates another](https://github.com/libgit2/libgit2/pull/5173) +- [patch_parse: handle missing newline indicator in old file](https://github.com/libgit2/libgit2/pull/5159) +- [patch_parse: do not depend on parsed buffer's lifetime](https://github.com/libgit2/libgit2/pull/5158) +- [sha1: fix compilation of WinHTTP backend](https://github.com/libgit2/libgit2/pull/5174) +- [repository: do not initialize HEAD if it's provided by templates](https://github.com/libgit2/libgit2/pull/5176) +- [configuration: cvar -> configmap](https://github.com/libgit2/libgit2/pull/5138) +- [Evict cache items more efficiently](https://github.com/libgit2/libgit2/pull/5172) +- [clar: fix suite count](https://github.com/libgit2/libgit2/pull/5175) +- [Ignore VS2017 specific files and folders](https://github.com/libgit2/libgit2/pull/5163) +- [gitattributes: ignore macros defined in subdirectories](https://github.com/libgit2/libgit2/pull/5156) +- [clar: correctly account for "data" suites when counting](https://github.com/libgit2/libgit2/pull/5168) +- [Allocate memory more efficiently when packing objects](https://github.com/libgit2/libgit2/pull/5170) +- [fileops: fix creation of directory in filesystem root](https://github.com/libgit2/libgit2/pull/5131) +- [win32: fix fuzzers and have CI build them](https://github.com/libgit2/libgit2/pull/5160) +- [Config parser separation](https://github.com/libgit2/libgit2/pull/5134) +- [config_file: implement stat cache to avoid repeated rehashing](https://github.com/libgit2/libgit2/pull/5132) +- [ci: build with ENABLE_WERROR on Windows](https://github.com/libgit2/libgit2/pull/5143) +- [Fix Regression: attr: Correctly load system attr file (on Windows)](https://github.com/libgit2/libgit2/pull/5152) +- [hash: fix missing error return on production builds](https://github.com/libgit2/libgit2/pull/5145) +- [Resolve static check warnings in example code](https://github.com/libgit2/libgit2/pull/5142) +- [Multiple hash algorithms](https://github.com/libgit2/libgit2/pull/4438) +- [More documentation](https://github.com/libgit2/libgit2/pull/5128) +- [Incomplete commondir support](https://github.com/libgit2/libgit2/pull/4967) +- [Remove warnings](https://github.com/libgit2/libgit2/pull/5078) +- [Re-run flaky tests](https://github.com/libgit2/libgit2/pull/5140) +- [errors: use lowercase](https://github.com/libgit2/libgit2/pull/5137) +- [largefile tests: only write 2GB on 32-bit platforms](https://github.com/libgit2/libgit2/pull/5136) +- [Fix broken link in README](https://github.com/libgit2/libgit2/pull/5129) +- [net: remove unused `git_headlist_cb`](https://github.com/libgit2/libgit2/pull/5122) +- [cmake: default NTLM client to off if no HTTPS support](https://github.com/libgit2/libgit2/pull/5124) +- [attr: rename constants and macros for consistency](https://github.com/libgit2/libgit2/pull/5119) +- [Change API instances of `fromnoun` to `from_noun` (with an underscore)](https://github.com/libgit2/libgit2/pull/5117) +- [object: rename git_object__size to git_object_size](https://github.com/libgit2/libgit2/pull/5118) +- [Replace fnmatch with wildmatch](https://github.com/libgit2/libgit2/pull/5110) +- [Documentation fixes](https://github.com/libgit2/libgit2/pull/5111) +- [Removal of `p_fallocate`](https://github.com/libgit2/libgit2/pull/5114) +- [Modularize our TLS & hash detection](https://github.com/libgit2/libgit2/pull/5055) +- [tests: merge::analysis: use test variants to avoid duplicated test suites](https://github.com/libgit2/libgit2/pull/5109) +- [Rename options initialization functions](https://github.com/libgit2/libgit2/pull/5101) +- [deps: ntlmclient: disable implicit fallthrough warnings](https://github.com/libgit2/libgit2/pull/5112) +- [gitignore with escapes](https://github.com/libgit2/libgit2/pull/5097) +- [Handle URLs with a colon after host but no port](https://github.com/libgit2/libgit2/pull/5108) +- [Merge analysis support for bare repos](https://github.com/libgit2/libgit2/pull/5022) +- [Add memleak check docs](https://github.com/libgit2/libgit2/pull/5104) +- [Data-driven tests](https://github.com/libgit2/libgit2/pull/5098) +- [sha1dc: update to fix endianess issues on AIX/HP-UX](https://github.com/libgit2/libgit2/pull/5107) +- [Add NTLM support for HTTP(s) servers and proxies](https://github.com/libgit2/libgit2/pull/5052) +- [Callback type names should be suffixed with `_cb`](https://github.com/libgit2/libgit2/pull/5102) +- [tests: checkout: fix symlink.git being created outside of sandbox](https://github.com/libgit2/libgit2/pull/5099) +- [ignore: handle escaped trailing whitespace](https://github.com/libgit2/libgit2/pull/5095) +- [Ignore: only treat one leading slash as a root identifier](https://github.com/libgit2/libgit2/pull/5074) +- [online tests: use gitlab for auth failures](https://github.com/libgit2/libgit2/pull/5094) +- [Ignore files: don't ignore whitespace](https://github.com/libgit2/libgit2/pull/5076) +- [cache: fix cache eviction using deallocated key](https://github.com/libgit2/libgit2/pull/5088) +- [SECURITY.md: split out security-relevant bits from readme](https://github.com/libgit2/libgit2/pull/5085) +- [Restore NetBSD support](https://github.com/libgit2/libgit2/pull/5086) +- [repository: fix garbage return value](https://github.com/libgit2/libgit2/pull/5084) +- [cmake: disable fallthrough warnings for PCRE](https://github.com/libgit2/libgit2/pull/5083) +- [Configuration parsing: validate section headers with quotes](https://github.com/libgit2/libgit2/pull/5073) +- [Loosen restriction on wildcard "*" refspecs](https://github.com/libgit2/libgit2/pull/5060) +- [Use PCRE for our fallback regex engine when regcomp_l is unavailable](https://github.com/libgit2/libgit2/pull/4935) +- [Remote URL last-chance resolution](https://github.com/libgit2/libgit2/pull/5062) +- [Skip UTF8 BOM in ignore files](https://github.com/libgit2/libgit2/pull/5075) +- [We've already added `ZLIB_LIBRARIES` to `LIBGIT2_LIBS` so don't also add the `z` library](https://github.com/libgit2/libgit2/pull/5080) +- [Define SYMBOLIC_LINK_FLAG_DIRECTORY if required](https://github.com/libgit2/libgit2/pull/5077) +- [Support symlinks for directories in win32](https://github.com/libgit2/libgit2/pull/5065) +- [rebase: orig_head and onto accessors](https://github.com/libgit2/libgit2/pull/5057) +- [cmake: correctly detect if system provides `regcomp`](https://github.com/libgit2/libgit2/pull/5063) +- [Correctly write to missing locked global config](https://github.com/libgit2/libgit2/pull/5023) +- [[RFC] util: introduce GIT_DOWNCAST macro](https://github.com/libgit2/libgit2/pull/4561) +- [examples: implement SSH authentication](https://github.com/libgit2/libgit2/pull/5051) +- [git_repository_init: stop traversing at windows root](https://github.com/libgit2/libgit2/pull/5050) +- [config_file: check result of git_array_alloc](https://github.com/libgit2/libgit2/pull/5053) +- [patch_parse.c: Handle CRLF in parse_header_start](https://github.com/libgit2/libgit2/pull/5027) +- [fix typo](https://github.com/libgit2/libgit2/pull/5045) +- [sha1: don't inline `git_hash_global_init` for win32](https://github.com/libgit2/libgit2/pull/5039) +- [ignore: treat paths with trailing "/" as directories](https://github.com/libgit2/libgit2/pull/5040) +- [Test that largefiles can be read through the tree API](https://github.com/libgit2/libgit2/pull/4874) +- [Tests for symlinked user config](https://github.com/libgit2/libgit2/pull/5034) +- [patch_parse: fix parsing addition/deletion of file with space](https://github.com/libgit2/libgit2/pull/5035) +- [Optimize string comparisons](https://github.com/libgit2/libgit2/pull/5018) +- [Negation of subdir ignore causes other subdirs to be unignored](https://github.com/libgit2/libgit2/pull/5020) +- [xdiff: fix typo](https://github.com/libgit2/libgit2/pull/5024) +- [docs: clarify relation of safe and forced checkout strategy](https://github.com/libgit2/libgit2/pull/5032) +- [Each hash implementation should define `git_hash_global_init`](https://github.com/libgit2/libgit2/pull/5026) +- [[Doc] Update URL to git2-rs](https://github.com/libgit2/libgit2/pull/5012) +- [remote: Rename git_remote_completion_type to _t](https://github.com/libgit2/libgit2/pull/5008) +- [odb: provide a free function for custom backends](https://github.com/libgit2/libgit2/pull/5005) +- [Have git_branch_lookup accept GIT_BRANCH_ALL](https://github.com/libgit2/libgit2/pull/5000) +- [Rename git_transfer_progress to git_indexer_progress](https://github.com/libgit2/libgit2/pull/4997) +- [High-level map APIs](https://github.com/libgit2/libgit2/pull/4901) +- [refdb_fs: fix loose/packed refs lookup racing with repacks](https://github.com/libgit2/libgit2/pull/4984) +- [Allocator restructuring](https://github.com/libgit2/libgit2/pull/4998) +- [cache: fix misnaming of `git_cache_free`](https://github.com/libgit2/libgit2/pull/4992) +- [examples: produce single cgit2 binary](https://github.com/libgit2/libgit2/pull/4956) +- [Remove public 'inttypes.h' header](https://github.com/libgit2/libgit2/pull/4991) +- [Prevent reading out of bounds memory](https://github.com/libgit2/libgit2/pull/4996) +- [Fix a memory leak in odb_otype_fast()](https://github.com/libgit2/libgit2/pull/4987) +- [Make stdalloc__reallocarray call stdalloc__realloc](https://github.com/libgit2/libgit2/pull/4986) +- [Remove `git_time_monotonic`](https://github.com/libgit2/libgit2/pull/4990) +- [Fix a _very_ improbable memory leak in git_odb_new()](https://github.com/libgit2/libgit2/pull/4988) +- [ci: publish documentation on merge](https://github.com/libgit2/libgit2/pull/4989) +- [Enable creation of worktree from bare repo's default branch](https://github.com/libgit2/libgit2/pull/4982) +- [Allow bypassing check for '.keep' file](https://github.com/libgit2/libgit2/pull/4965) +- [Deprecation: export the deprecated functions properly](https://github.com/libgit2/libgit2/pull/4979) +- [ci: skip ssh tests on macOS nightly](https://github.com/libgit2/libgit2/pull/4980) +- [CI build fixups](https://github.com/libgit2/libgit2/pull/4976) +- [v0.28 rc1](https://github.com/libgit2/libgit2/pull/4970) +- [Docs](https://github.com/libgit2/libgit2/pull/4968) +- [Documentation fixes](https://github.com/libgit2/libgit2/pull/4954) +- [ci: add an individual coverity pipeline](https://github.com/libgit2/libgit2/pull/4964) +- [ci: run docurium to create documentation](https://github.com/libgit2/libgit2/pull/4961) +- [ci: return coverity to the nightlies](https://github.com/libgit2/libgit2/pull/4962) +- [Clean up some warnings](https://github.com/libgit2/libgit2/pull/4950) +- [Nightlies: use `latest` docker images](https://github.com/libgit2/libgit2/pull/4869) +- [index: preserve extension parsing errors](https://github.com/libgit2/libgit2/pull/4858) +- [Deprecate functions and constants more gently](https://github.com/libgit2/libgit2/pull/4952) +- [Don't use deprecated constants](https://github.com/libgit2/libgit2/pull/4957) +- [Fix VS warning C4098: 'giterr_set_str' : void function returning a value](https://github.com/libgit2/libgit2/pull/4955) +- [Move `giterr` to `git_error`](https://github.com/libgit2/libgit2/pull/4917) +- [odb: Fix odb foreach to also close on positive error code](https://github.com/libgit2/libgit2/pull/4949) +- [repository: free memory in symlink detection function](https://github.com/libgit2/libgit2/pull/4948) +- [ci: update poxyproxy, run in quiet mode](https://github.com/libgit2/libgit2/pull/4947) +- [Add/multiply with overflow tweaks](https://github.com/libgit2/libgit2/pull/4945) +- [Improve deprecation of old enums](https://github.com/libgit2/libgit2/pull/4944) +- [Move `git_ref_t` to `git_reference_t`](https://github.com/libgit2/libgit2/pull/4939) +- [More `git_obj` to `git_object` updates](https://github.com/libgit2/libgit2/pull/4940) +- [ci: only run invasive tests in nightly](https://github.com/libgit2/libgit2/pull/4943) +- [Always build a cdecl library](https://github.com/libgit2/libgit2/pull/4930) +- [changelog: document changes since 0.27](https://github.com/libgit2/libgit2/pull/4932) +- [Fix a bunch of warnings](https://github.com/libgit2/libgit2/pull/4925) +- [mailmap: prefer ethomson@edwardthomson.com](https://github.com/libgit2/libgit2/pull/4941) +- [Convert tests/resources/push.sh to LF endings](https://github.com/libgit2/libgit2/pull/4937) +- [Get rid of some test files that were accidentally committed](https://github.com/libgit2/libgit2/pull/4936) +- [Fix crash on remote connection when GIT_PROXY_AUTO is set but no proxy is detected](https://github.com/libgit2/libgit2/pull/4934) +- [Make ENABLE_WERROR actually work](https://github.com/libgit2/libgit2/pull/4924) +- [Remove unconditional -Wno-deprecated-declaration on macOS](https://github.com/libgit2/libgit2/pull/4931) +- [Fix warning 'function': incompatible types - from 'git_cvar_value *' to 'int *' (C4133) on VS](https://github.com/libgit2/libgit2/pull/4926) +- [Fix Linux warnings](https://github.com/libgit2/libgit2/pull/4928) +- [Coverity fixes](https://github.com/libgit2/libgit2/pull/4922) +- [Shutdown callback count](https://github.com/libgit2/libgit2/pull/4919) +- [Update CRLF filtering to match modern git](https://github.com/libgit2/libgit2/pull/4904) +- [refdb_fs: refactor error handling in `refdb_reflog_fs__delete`](https://github.com/libgit2/libgit2/pull/4915) +- [Remove empty (sub-)directories when deleting refs](https://github.com/libgit2/libgit2/pull/4833) +- [Support creating annotated commits from annotated tags](https://github.com/libgit2/libgit2/pull/4910) +- [Fix segfault in loose_backend__readstream](https://github.com/libgit2/libgit2/pull/4906) +- [make proxy_stream_close close target stream even on errors](https://github.com/libgit2/libgit2/pull/4905) +- [Index API updates for consistency](https://github.com/libgit2/libgit2/pull/4807) +- [Allow merge analysis against any reference](https://github.com/libgit2/libgit2/pull/4770) +- [revwalk: Allow changing hide_cb](https://github.com/libgit2/libgit2/pull/4888) +- [Unused function warnings](https://github.com/libgit2/libgit2/pull/4895) +- [Add builtin proxy support for the http transport](https://github.com/libgit2/libgit2/pull/4870) +- [config: fix adding files if their parent directory is a file](https://github.com/libgit2/libgit2/pull/4898) +- [Allow certificate and credential callbacks to decline to act](https://github.com/libgit2/libgit2/pull/4879) +- [Fix warning C4133 incompatible types in MSVC](https://github.com/libgit2/libgit2/pull/4896) +- [index: introduce git_index_iterator](https://github.com/libgit2/libgit2/pull/4884) +- [commit: fix out-of-bound reads when parsing truncated author fields](https://github.com/libgit2/libgit2/pull/4894) +- [tests: 🌀 address two null argument instances #4847](https://github.com/libgit2/libgit2/pull/4847) +- [Some OpenSSL issues](https://github.com/libgit2/libgit2/pull/4875) +- [worktree: Expose git_worktree_add_init_options](https://github.com/libgit2/libgit2/pull/4892) +- [transport/http: Include non-default ports in Host header](https://github.com/libgit2/libgit2/pull/4882) +- [Support symlinks on Windows when core.symlinks=true](https://github.com/libgit2/libgit2/pull/4713) +- [strntol: fix out-of-bounds reads when parsing numbers with leading sign](https://github.com/libgit2/libgit2/pull/4886) +- [apply: small fixups in the test suite](https://github.com/libgit2/libgit2/pull/4885) +- [signature: fix out-of-bounds read when parsing timezone offset](https://github.com/libgit2/libgit2/pull/4883) +- [Remote creation API](https://github.com/libgit2/libgit2/pull/4667) +- [Index collision fixes](https://github.com/libgit2/libgit2/pull/4818) +- [Patch (diff) application](https://github.com/libgit2/libgit2/pull/4705) +- [smart transport: only clear url on hard reset (regression)](https://github.com/libgit2/libgit2/pull/4880) +- [Tree parsing fixes](https://github.com/libgit2/libgit2/pull/4871) +- [CI: Fix macOS leak detection](https://github.com/libgit2/libgit2/pull/4860) +- [README: more CI status badges](https://github.com/libgit2/libgit2/pull/4800) +- [ci: Fix some minor issues](https://github.com/libgit2/libgit2/pull/4867) +- [Object parse fixes](https://github.com/libgit2/libgit2/pull/4864) +- [Windows CI: fail build on test failure](https://github.com/libgit2/libgit2/pull/4862) +- [ci: run all the jobs during nightly builds](https://github.com/libgit2/libgit2/pull/4863) +- [strtol removal](https://github.com/libgit2/libgit2/pull/4851) +- [ buf::oom tests: use custom allocator for oom failures](https://github.com/libgit2/libgit2/pull/4854) +- [ci: arm docker builds](https://github.com/libgit2/libgit2/pull/4804) +- [Win32 path canonicalization refactoring](https://github.com/libgit2/libgit2/pull/4852) +- [Check object existence when creating a tree from an index](https://github.com/libgit2/libgit2/pull/4840) +- [Ninja build](https://github.com/libgit2/libgit2/pull/4841) +- [docs: fix transparent/opaque confusion in the conventions file](https://github.com/libgit2/libgit2/pull/4853) +- [Configuration variables can appear on the same line as the section header](https://github.com/libgit2/libgit2/pull/4819) +- [path: export the dotgit-checking functions](https://github.com/libgit2/libgit2/pull/4849) +- [cmake: correct comment from libssh to libssh2](https://github.com/libgit2/libgit2/pull/4850) +- [Object parsing fuzzer](https://github.com/libgit2/libgit2/pull/4845) +- [config: Port config_file_fuzzer to the new in-memory backend.](https://github.com/libgit2/libgit2/pull/4842) +- [Add some more tests for git_futils_rmdir_r and some cleanup](https://github.com/libgit2/libgit2/pull/4828) +- [diff_stats: use git's formatting of renames with common directories](https://github.com/libgit2/libgit2/pull/4830) +- [ignore unsupported http authentication contexts](https://github.com/libgit2/libgit2/pull/4839) +- [submodule: ignore path and url attributes if they look like options](https://github.com/libgit2/libgit2/pull/4837) +- [Smart packet security fixes](https://github.com/libgit2/libgit2/pull/4836) +- [config_file: properly ignore includes without "path" value](https://github.com/libgit2/libgit2/pull/4832) +- [int-conversion](https://github.com/libgit2/libgit2/pull/4831) +- [cmake: enable new quoted argument policy CMP0054](https://github.com/libgit2/libgit2/pull/4829) +- [fix check if blob is uninteresting when inserting tree to packbuilder](https://github.com/libgit2/libgit2/pull/4824) +- [Documentation fixups](https://github.com/libgit2/libgit2/pull/4827) +- [CI: refactoring](https://github.com/libgit2/libgit2/pull/4812) +- [In-memory configuration](https://github.com/libgit2/libgit2/pull/4767) +- [Some warnings](https://github.com/libgit2/libgit2/pull/4784) +- [index: release the snapshot instead of freeing the index](https://github.com/libgit2/libgit2/pull/4803) +- [online::clone: free url and username before resetting](https://github.com/libgit2/libgit2/pull/4816) +- [git_remote_prune to be O(n * logn)](https://github.com/libgit2/libgit2/pull/4794) +- [Rename "VSTS" to "Azure DevOps" and "Azure Pipelines"](https://github.com/libgit2/libgit2/pull/4813) +- [cmake: enable -Wformat and -Wformat-security](https://github.com/libgit2/libgit2/pull/4810) +- [Fix revwalk limiting regression](https://github.com/libgit2/libgit2/pull/4809) +- [path validation: `char` is not signed by default.](https://github.com/libgit2/libgit2/pull/4805) +- [revwalk: refer the sorting modes more to git's options](https://github.com/libgit2/libgit2/pull/4811) +- [Clar XML output redux](https://github.com/libgit2/libgit2/pull/4778) +- [remote: store the connection data in a private struct](https://github.com/libgit2/libgit2/pull/4785) +- [docs: clarify and include licenses of dependencies](https://github.com/libgit2/libgit2/pull/4789) +- [config_file: fix quadratic behaviour when adding config multivars](https://github.com/libgit2/libgit2/pull/4799) +- [config: Fix a leak parsing multi-line config entries](https://github.com/libgit2/libgit2/pull/4792) +- [Prevent heap-buffer-overflow](https://github.com/libgit2/libgit2/pull/4797) +- [ci: remove travis](https://github.com/libgit2/libgit2/pull/4790) +- [Update VSTS YAML files with the latest syntax](https://github.com/libgit2/libgit2/pull/4791) +- [Documentation fixes](https://github.com/libgit2/libgit2/pull/4788) +- [config: convert unbounded recursion into a loop](https://github.com/libgit2/libgit2/pull/4781) +- [Document giterr_last() use only after error. #4772](https://github.com/libgit2/libgit2/pull/4773) +- [util: make the qsort_r check work on macOS](https://github.com/libgit2/libgit2/pull/4765) +- [fuzzer: update for indexer changes](https://github.com/libgit2/libgit2/pull/4782) +- [tree: accept null ids in existing trees when updating](https://github.com/libgit2/libgit2/pull/4727) +- [Pack file verification](https://github.com/libgit2/libgit2/pull/4374) +- [cmake: detect and use libc-provided iconv](https://github.com/libgit2/libgit2/pull/4777) +- [Coverity flavored clang analyzer fixes](https://github.com/libgit2/libgit2/pull/4774) +- [tests: verify adding index conflicts with invalid filemodes fails](https://github.com/libgit2/libgit2/pull/4776) +- [worktree: unlock should return 1 when the worktree isn't locked](https://github.com/libgit2/libgit2/pull/4769) +- [Add a fuzzer for config files](https://github.com/libgit2/libgit2/pull/4752) +- [Fix 'invalid packet line' for ng packets containing errors](https://github.com/libgit2/libgit2/pull/4763) +- [Fix leak in index.c](https://github.com/libgit2/libgit2/pull/4768) +- [threads::diff: use separate git_repository objects](https://github.com/libgit2/libgit2/pull/4754) +- [travis: remove Coverity cron job](https://github.com/libgit2/libgit2/pull/4766) +- [parse: Do not initialize the content in context to NULL](https://github.com/libgit2/libgit2/pull/4749) +- [config_file: Don't crash on options without a section](https://github.com/libgit2/libgit2/pull/4750) +- [ci: Correct the status code check so Coverity doesn't force-fail Travis](https://github.com/libgit2/libgit2/pull/4764) +- [ci: remove appveyor](https://github.com/libgit2/libgit2/pull/4760) +- [diff: fix OOM on AIX when finding similar deltas in empty diff](https://github.com/libgit2/libgit2/pull/4761) +- [travis: do not execute Coverity analysis for all cron jobs](https://github.com/libgit2/libgit2/pull/4755) +- [ci: enable compilation with "-Werror"](https://github.com/libgit2/libgit2/pull/4759) +- [smart_pkt: fix potential OOB-read when processing ng packet](https://github.com/libgit2/libgit2/pull/4758) +- [Fix a double-free in config parsing](https://github.com/libgit2/libgit2/pull/4751) +- [Fuzzers](https://github.com/libgit2/libgit2/pull/4728) +- [ci: run VSTS builds on master and maint branches](https://github.com/libgit2/libgit2/pull/4746) +- [Windows: default credentials / fallback credential handling](https://github.com/libgit2/libgit2/pull/4743) +- [ci: add VSTS build badge to README](https://github.com/libgit2/libgit2/pull/4745) +- [ci: set PKG_CONFIG_PATH for travis](https://github.com/libgit2/libgit2/pull/4744) +- [CI: Refactor and introduce VSTS builds](https://github.com/libgit2/libgit2/pull/4723) +- [revwalk: remove tautologic condition for hiding a commit](https://github.com/libgit2/libgit2/pull/4742) +- [winhttp: retry erroneously failing requests](https://github.com/libgit2/libgit2/pull/4731) +- [Add a configurable limit to the max pack size that will be indexed](https://github.com/libgit2/libgit2/pull/4721) +- [mbedtls: remove unused variable "cacert"](https://github.com/libgit2/libgit2/pull/4739) +- [Squash some leaks](https://github.com/libgit2/libgit2/pull/4732) +- [Add a checkout example](https://github.com/libgit2/libgit2/pull/4692) +- [Assorted Coverity fixes](https://github.com/libgit2/libgit2/pull/4702) +- [Remove GIT_PKT_PACK entirely](https://github.com/libgit2/libgit2/pull/4704) +- [ ignore: improve `git_ignore_path_is_ignored` description Git analogy](https://github.com/libgit2/libgit2/pull/4722) +- [alloc: don't overwrite allocator during init if set](https://github.com/libgit2/libgit2/pull/4724) +- [C90 standard compliance](https://github.com/libgit2/libgit2/pull/4700) +- [Delta OOB access](https://github.com/libgit2/libgit2/pull/4719) +- [Release v0.27.3](https://github.com/libgit2/libgit2/pull/4717) +- [streams: report OpenSSL errors if global init fails](https://github.com/libgit2/libgit2/pull/4710) +- [patch_parse: populate line numbers while parsing diffs](https://github.com/libgit2/libgit2/pull/4687) +- [Fix git_worktree_validate failing on bare repositories](https://github.com/libgit2/libgit2/pull/4686) +- [git_refspec_transform: Handle NULL dst](https://github.com/libgit2/libgit2/pull/4699) +- [Add a "dirty" state to the index when it has unsaved changes](https://github.com/libgit2/libgit2/pull/4536) +- [refspec: rename `git_refspec__free` to `git_refspec__dispose`](https://github.com/libgit2/libgit2/pull/4709) +- [streams: openssl: Handle error in SSL_CTX_new](https://github.com/libgit2/libgit2/pull/4701) +- [refspec: add public parsing api](https://github.com/libgit2/libgit2/pull/4519) +- [Fix interaction between limited flag and sorting over resets](https://github.com/libgit2/libgit2/pull/4688) +- [deps: fix implicit fallthrough warning in http-parser](https://github.com/libgit2/libgit2/pull/4691) +- [Fix assorted leaks found via fuzzing](https://github.com/libgit2/libgit2/pull/4698) +- [Fix type confusion in git_smart__connect](https://github.com/libgit2/libgit2/pull/4695) +- [Verify ref_pkt's are long enough](https://github.com/libgit2/libgit2/pull/4696) +- [Config parser cleanups](https://github.com/libgit2/libgit2/pull/4411) +- [Fix last references to deprecated git_buf_free](https://github.com/libgit2/libgit2/pull/4685) +- [revwalk: avoid walking the entire history when output is unsorted](https://github.com/libgit2/libgit2/pull/4606) +- [Add mailmap support.](https://github.com/libgit2/libgit2/pull/4586) +- [tree: remove unused functions](https://github.com/libgit2/libgit2/pull/4683) +- [Link `mbedTLS` libraries in when `SHA1_BACKEND` == "mbedTLS"](https://github.com/libgit2/libgit2/pull/4678) +- [editorconfig: allow trailing whitespace in markdown](https://github.com/libgit2/libgit2/pull/4676) +- [docs: fix statement about tab width](https://github.com/libgit2/libgit2/pull/4681) +- [diff: fix enum value being out of allowed range](https://github.com/libgit2/libgit2/pull/4680) +- [pack: rename `git_packfile_stream_free`](https://github.com/libgit2/libgit2/pull/4436) +- [Stop leaking the memory](https://github.com/libgit2/libgit2/pull/4677) +- [Bugfix release v0.27.2](https://github.com/libgit2/libgit2/pull/4632) +- [Fix stash save bug with fast path index check](https://github.com/libgit2/libgit2/pull/4668) +- [path: unify `git_path_is_*` APIs](https://github.com/libgit2/libgit2/pull/4662) +- [Fix negative gitignore rules with leading directories ](https://github.com/libgit2/libgit2/pull/4670) +- [Custom memory allocators](https://github.com/libgit2/libgit2/pull/4576) +- [index: Fix alignment issues in write_disk_entry()](https://github.com/libgit2/libgit2/pull/4655) +- [travis: war on leaks](https://github.com/libgit2/libgit2/pull/4558) +- [refdb_fs: fix regression: failure when globbing for non-existant references](https://github.com/libgit2/libgit2/pull/4665) +- [tests: submodule: do not rely on config iteration order](https://github.com/libgit2/libgit2/pull/4673) +- [Detect duplicated submodules for the same path](https://github.com/libgit2/libgit2/pull/4641) +- [Fix docurium missing includes](https://github.com/libgit2/libgit2/pull/4530) +- [github: update issue template](https://github.com/libgit2/libgit2/pull/4627) +- [streams: openssl: add missing check on OPENSSL_LEGACY_API](https://github.com/libgit2/libgit2/pull/4661) +- [mbedtls: don't require mbedtls from our pkgconfig file](https://github.com/libgit2/libgit2/pull/4656) +- [Fixes for CVE 2018-11235](https://github.com/libgit2/libgit2/pull/4660) +- [Backport fixes for CVE 2018-11235](https://github.com/libgit2/libgit2/pull/4659) +- [Added note about Windows junction points to the differences from git document](https://github.com/libgit2/libgit2/pull/4653) +- [cmake: resolve libraries found by pkg-config ](https://github.com/libgit2/libgit2/pull/4642) +- [refdb_fs: enhance performance of globbing](https://github.com/libgit2/libgit2/pull/4629) +- [global: adjust init count under lock](https://github.com/libgit2/libgit2/pull/4645) +- [Fix GCC 8.1 warnings](https://github.com/libgit2/libgit2/pull/4646) +- [Worktrees can be made from bare repositories](https://github.com/libgit2/libgit2/pull/4630) +- [docs: add documentation to state differences from the git cli](https://github.com/libgit2/libgit2/pull/4605) +- [Sanitize the hunk header to ensure it contains UTF-8 valid data](https://github.com/libgit2/libgit2/pull/4542) +- [examples: ls-files: add ls-files to list paths in the index](https://github.com/libgit2/libgit2/pull/4380) +- [OpenSSL legacy API cleanups](https://github.com/libgit2/libgit2/pull/4608) +- [worktree: add functions to get name and path](https://github.com/libgit2/libgit2/pull/4640) +- [Fix deletion of unrelated branch on worktree](https://github.com/libgit2/libgit2/pull/4633) +- [mbedTLS support](https://github.com/libgit2/libgit2/pull/4173) +- [Configuration entry iteration in order](https://github.com/libgit2/libgit2/pull/4525) +- [blame_git: fix coalescing step never being executed](https://github.com/libgit2/libgit2/pull/4580) +- [Fix leaks in master](https://github.com/libgit2/libgit2/pull/4636) +- [Leak fixes for v0.27.1](https://github.com/libgit2/libgit2/pull/4635) +- [worktree: Read worktree specific reflog for HEAD](https://github.com/libgit2/libgit2/pull/4577) +- [fixed stack smashing due to wrong size of struct stat on the stack](https://github.com/libgit2/libgit2/pull/4631) +- [scripts: add backporting script](https://github.com/libgit2/libgit2/pull/4476) +- [worktree: add ability to create worktree with pre-existing branch](https://github.com/libgit2/libgit2/pull/4524) +- [refs: preserve the owning refdb when duping reference](https://github.com/libgit2/libgit2/pull/4618) +- [Submodules-API should report .gitmodules parse errors instead of ignoring them](https://github.com/libgit2/libgit2/pull/4522) +- [Typedef git_pkt_type and clarify recv_pkt return type](https://github.com/libgit2/libgit2/pull/4514) +- [online::clone: validate user:pass in HTTP_PROXY](https://github.com/libgit2/libgit2/pull/4556) +- [ transports: ssh: disconnect session before freeing it ](https://github.com/libgit2/libgit2/pull/4596) +- [revwalk: fix uninteresting revs sometimes not limiting graphwalk](https://github.com/libgit2/libgit2/pull/4622) +- [attr_file: fix handling of directory patterns with trailing spaces](https://github.com/libgit2/libgit2/pull/4614) +- [transports: local: fix assert when fetching into repo with symrefs](https://github.com/libgit2/libgit2/pull/4613) +- [remote/proxy: fix git_transport_certificate_check_db description](https://github.com/libgit2/libgit2/pull/4597) +- [Flag options in describe.h as being optional](https://github.com/libgit2/libgit2/pull/4587) +- [diff: Add missing GIT_DELTA_TYPECHANGE -> 'T' mapping.](https://github.com/libgit2/libgit2/pull/4611) +- [appveyor: fix typo in registry key to disable DHE](https://github.com/libgit2/libgit2/pull/4609) +- [Fix build with LibreSSL 2.7](https://github.com/libgit2/libgit2/pull/4607) +- [appveyor: workaround for intermittent test failures](https://github.com/libgit2/libgit2/pull/4603) +- [sha1dc: update to fix errors with endianess](https://github.com/libgit2/libgit2/pull/4601) +- [submodule: check index for path and prefix before adding submodule](https://github.com/libgit2/libgit2/pull/4378) +- [odb: mempack: fix leaking objects when freeing mempacks](https://github.com/libgit2/libgit2/pull/4602) +- [types: remove unused git_merge_result](https://github.com/libgit2/libgit2/pull/4598) +- [checkout: change default strategy to SAFE](https://github.com/libgit2/libgit2/pull/4531) +- [Add myself to git.git-authors](https://github.com/libgit2/libgit2/pull/4570) + + +## v0.25.0-alpha.16 [(2019-07-23)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.16) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.15...v0.25.0-alpha.16) + +#### Summary of changes +- Adds support for Node 12 +- Updates lodash dependency to address security notice +- Expose Tree.prototype.createUpdated(repo, numUpdates, updates) +- Bumps libgit2 + - Fixes gitignore issue with pattern negation + - Remote.list now gets the correct list of remotes if remotes are changed by external process + +#### Merged PRs into NodeGit +- [Bump libgit2 #1705](https://github.com/nodegit/nodegit/pull/1705) +- [Fix Tree#createUpdated #1704](https://github.com/nodegit/nodegit/pull/1704) +- [Fix failing tests on CI #1703](https://github.com/nodegit/nodegit/pull/1703) +- [Audit lodash and fix package-lock.json #1702](https://github.com/nodegit/nodegit/pull/1702) +- [Implement support for Node 12 #1696](https://github.com/nodegit/nodegit/pull/1696) + +#### Merged PRs into LibGit2 +- [config_file: refresh when creating an iterator #5181](https://github.com/libgit2/libgit2/pull/5181) +- [azure: drop powershell #5141](https://github.com/libgit2/libgit2/pull/5141) +- [fuzzer: use futils instead of fileops #5180](https://github.com/libgit2/libgit2/pull/5180) +- [w32: fix unlinking of directory symlinks #5151](https://github.com/libgit2/libgit2/pull/5151) +- [patch_parse: fix segfault due to line containing static contents #5179](https://github.com/libgit2/libgit2/pull/5179) +- [ignore: fix determining whether a shorter pattern negates another #5173](https://github.com/libgit2/libgit2/pull/5173) +- [patch_parse: handle missing newline indicator in old file #5159](https://github.com/libgit2/libgit2/pull/5159) +- [patch_parse: do not depend on parsed buffer's lifetime #5158](https://github.com/libgit2/libgit2/pull/5158) +- [sha1: fix compilation of WinHTTP backend #5174](https://github.com/libgit2/libgit2/pull/5174) +- [repository: do not initialize HEAD if it's provided by templates #5176](https://github.com/libgit2/libgit2/pull/5176) +- [configuration: cvar -> configmap #5138](https://github.com/libgit2/libgit2/pull/5138) +- [Evict cache items more efficiently #5172](https://github.com/libgit2/libgit2/pull/5172) +- [clar: fix suite count #5175](https://github.com/libgit2/libgit2/pull/5175) +- [Ignore VS2017 specific files and folders #5163](https://github.com/libgit2/libgit2/pull/5163) +- [gitattributes: ignore macros defined in subdirectories #5156](https://github.com/libgit2/libgit2/pull/5156) +- [clar: correctly account for "data" suites when counting #5168](https://github.com/libgit2/libgit2/pull/5168) +- [Allocate memory more efficiently when packing objects #5170](https://github.com/libgit2/libgit2/pull/5170) +- [fileops: fix creation of directory in filesystem root #5131](https://github.com/libgit2/libgit2/pull/5131) +- [win32: fix fuzzers and have CI build them #5160](https://github.com/libgit2/libgit2/pull/5160) +- [Config parser separation #5134](https://github.com/libgit2/libgit2/pull/5134) +- [config_file: implement stat cache to avoid repeated rehashing #5132](https://github.com/libgit2/libgit2/pull/5132) +- [ci: build with ENABLE_WERROR on Windows #5143](https://github.com/libgit2/libgit2/pull/5143) +- [Fix Regression: attr: Correctly load system attr file (on Windows) #5152](https://github.com/libgit2/libgit2/pull/5152) +- [hash: fix missing error return on production builds #5145](https://github.com/libgit2/libgit2/pull/5145) +- [Resolve static check warnings in example code #5142](https://github.com/libgit2/libgit2/pull/5142) +- [Multiple hash algorithms #4438](https://github.com/libgit2/libgit2/pull/4438) +- [More documentation #5128](https://github.com/libgit2/libgit2/pull/5128) +- [Incomplete commondir support #4967](https://github.com/libgit2/libgit2/pull/4967) +- [Remove warnings #5078](https://github.com/libgit2/libgit2/pull/5078) +- [Re-run flaky tests #5140](https://github.com/libgit2/libgit2/pull/5140) + + +## v0.25.0-alpha.15 [(2019-07-15)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.15) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.14...v0.25.0-alpha.15) + +#### Summary of changes +- Removed NSEC optimization due to performance regressions in repositories that did not use NSEC optimization cloned via NodeGit. + +#### Merged PRs into NodeGit +- [Remove NSEC #1699](https://github.com/nodegit/nodegit/pull/1699) + + +## v0.25.0-alpha.14 [(2019-07-01)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.14) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.13...v0.25.0-alpha.14) + +#### Summary of changes +- Always use builtin regex for linux for portability + +#### Merged PRs into NodeGit +- [Use builtin regex library for linux for better portability #1693](https://github.com/nodegit/nodegit/pull/1693) +- [Remove pcre-config from binding.gyp #1694](https://github.com/nodegit/nodegit/pull/1694) + +## v0.25.0-alpha.13 [(2019-06-26)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.13) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.12...v0.25.0-alpha.13) + +#### Summary of changes +- Turn on GIT_USE_NSEC on all platforms +- Use Iconv on OSX for better internationalization support. +- Bump libgit2 to bring in: + - NTLM proxy support + - Negotiate/Kerberos proxy support + - Various git config fixes + - Various git ignore fixes + - Various libgit2 performance improvements + - Windows/Linux now use PCRE for regex, OSX uses regcomp_l, this should address collation issues in diffing +- Fixed bug with Repository.prototype.refreshReferences dying on corrupted reference. We now ignore corrupted references + +#### Merged PRs into NodeGit +- [refresh_references.cc: skip refs that can't be directly resolved #1689](https://github.com/nodegit/nodegit/pull/1689) +- [Bump libgit2 to fork of latest master #1690](https://github.com/nodegit/nodegit/pull/1690) + +#### Merged PRs into LibGit2 +- [errors: use lowercase](https://github.com/libgit2/libgit2/pull/5137) +- [largefile tests: only write 2GB on 32-bit platforms](https://github.com/libgit2/libgit2/pull/5136) +- [Fix broken link in README](https://github.com/libgit2/libgit2/pull/5129) +- [net: remove unused `git_headlist_cb`](https://github.com/libgit2/libgit2/pull/5122) +- [cmake: default NTLM client to off if no HTTPS support](https://github.com/libgit2/libgit2/pull/5124) +- [attr: rename constants and macros for consistency](https://github.com/libgit2/libgit2/pull/5119) +- [Change API instances of `fromnoun` to `from_noun` (with an underscore)](https://github.com/libgit2/libgit2/pull/5117) +- [object: rename git_object__size to git_object_size](https://github.com/libgit2/libgit2/pull/5118) +- [Replace fnmatch with wildmatch](https://github.com/libgit2/libgit2/pull/5110) +- [Documentation fixes](https://github.com/libgit2/libgit2/pull/5111) +- [Removal of `p_fallocate`](https://github.com/libgit2/libgit2/pull/5114) +- [Modularize our TLS & hash detection](https://github.com/libgit2/libgit2/pull/5055) +- [tests: merge::analysis: use test variants to avoid duplicated test suites](https://github.com/libgit2/libgit2/pull/5109) +- [Rename options initialization functions](https://github.com/libgit2/libgit2/pull/5101) +- [deps: ntlmclient: disable implicit fallthrough warnings](https://github.com/libgit2/libgit2/pull/5112) +- [gitignore with escapes](https://github.com/libgit2/libgit2/pull/5097) +- [Handle URLs with a colon after host but no port](https://github.com/libgit2/libgit2/pull/5108) +- [Merge analysis support for bare repos](https://github.com/libgit2/libgit2/pull/5022) +- [Add memleak check docs](https://github.com/libgit2/libgit2/pull/5104) +- [Data-driven tests](https://github.com/libgit2/libgit2/pull/5098) +- [sha1dc: update to fix endianess issues on AIX/HP-UX](https://github.com/libgit2/libgit2/pull/5107) +- [Add NTLM support for HTTP(s) servers and proxies](https://github.com/libgit2/libgit2/pull/5052) +- [Callback type names should be suffixed with `_cb`](https://github.com/libgit2/libgit2/pull/5102) +- [tests: checkout: fix symlink.git being created outside of sandbox](https://github.com/libgit2/libgit2/pull/5099) +- [ignore: handle escaped trailing whitespace](https://github.com/libgit2/libgit2/pull/5095) +- [Ignore: only treat one leading slash as a root identifier](https://github.com/libgit2/libgit2/pull/5074) +- [online tests: use gitlab for auth failures](https://github.com/libgit2/libgit2/pull/5094) +- [Ignore files: don't ignore whitespace](https://github.com/libgit2/libgit2/pull/5076) +- [cache: fix cache eviction using deallocated key](https://github.com/libgit2/libgit2/pull/5088) +- [SECURITY.md: split out security-relevant bits from readme](https://github.com/libgit2/libgit2/pull/5085) +- [Restore NetBSD support](https://github.com/libgit2/libgit2/pull/5086) +- [repository: fix garbage return value](https://github.com/libgit2/libgit2/pull/5084) +- [cmake: disable fallthrough warnings for PCRE](https://github.com/libgit2/libgit2/pull/5083) +- [Configuration parsing: validate section headers with quotes](https://github.com/libgit2/libgit2/pull/5073) +- [Loosen restriction on wildcard "*" refspecs](https://github.com/libgit2/libgit2/pull/5060) +- [Use PCRE for our fallback regex engine when regcomp_l is unavailable](https://github.com/libgit2/libgit2/pull/4935) +- [Remote URL last-chance resolution](https://github.com/libgit2/libgit2/pull/5062) +- [Skip UTF8 BOM in ignore files](https://github.com/libgit2/libgit2/pull/5075) +- [We've already added `ZLIB_LIBRARIES` to `LIBGIT2_LIBS` so don't also add the `z` library](https://github.com/libgit2/libgit2/pull/5080) +- [Define SYMBOLIC_LINK_FLAG_DIRECTORY if required](https://github.com/libgit2/libgit2/pull/5077) +- [Support symlinks for directories in win32](https://github.com/libgit2/libgit2/pull/5065) +- [rebase: orig_head and onto accessors](https://github.com/libgit2/libgit2/pull/5057) +- [cmake: correctly detect if system provides `regcomp`](https://github.com/libgit2/libgit2/pull/5063) +- [Correctly write to missing locked global config](https://github.com/libgit2/libgit2/pull/5023) +- [[RFC] util: introduce GIT_DOWNCAST macro](https://github.com/libgit2/libgit2/pull/4561) +- [examples: implement SSH authentication](https://github.com/libgit2/libgit2/pull/5051) +- [git_repository_init: stop traversing at windows root](https://github.com/libgit2/libgit2/pull/5050) +- [config_file: check result of git_array_alloc](https://github.com/libgit2/libgit2/pull/5053) +- [patch_parse.c: Handle CRLF in parse_header_start](https://github.com/libgit2/libgit2/pull/5027) +- [fix typo](https://github.com/libgit2/libgit2/pull/5045) +- [sha1: don't inline `git_hash_global_init` for win32](https://github.com/libgit2/libgit2/pull/5039) +- [ignore: treat paths with trailing "/" as directories](https://github.com/libgit2/libgit2/pull/5040) +- [Test that largefiles can be read through the tree API](https://github.com/libgit2/libgit2/pull/4874) +- [Tests for symlinked user config](https://github.com/libgit2/libgit2/pull/5034) +- [patch_parse: fix parsing addition/deletion of file with space](https://github.com/libgit2/libgit2/pull/5035) +- [Optimize string comparisons](https://github.com/libgit2/libgit2/pull/5018) +- [Negation of subdir ignore causes other subdirs to be unignored](https://github.com/libgit2/libgit2/pull/5020) +- [xdiff: fix typo](https://github.com/libgit2/libgit2/pull/5024) +- [docs: clarify relation of safe and forced checkout strategy](https://github.com/libgit2/libgit2/pull/5032) +- [Each hash implementation should define `git_hash_global_init`](https://github.com/libgit2/libgit2/pull/5026) +- [[Doc] Update URL to git2-rs](https://github.com/libgit2/libgit2/pull/5012) +- [remote: Rename git_remote_completion_type to _t](https://github.com/libgit2/libgit2/pull/5008) +- [odb: provide a free function for custom backends](https://github.com/libgit2/libgit2/pull/5005) +- [Have git_branch_lookup accept GIT_BRANCH_ALL](https://github.com/libgit2/libgit2/pull/5000) +- [Rename git_transfer_progress to git_indexer_progress](https://github.com/libgit2/libgit2/pull/4997) +- [High-level map APIs](https://github.com/libgit2/libgit2/pull/4901) +- [refdb_fs: fix loose/packed refs lookup racing with repacks](https://github.com/libgit2/libgit2/pull/4984) +- [Allocator restructuring](https://github.com/libgit2/libgit2/pull/4998) +- [cache: fix misnaming of `git_cache_free`](https://github.com/libgit2/libgit2/pull/4992) +- [examples: produce single cgit2 binary](https://github.com/libgit2/libgit2/pull/4956) +- [Remove public 'inttypes.h' header](https://github.com/libgit2/libgit2/pull/4991) +- [Prevent reading out of bounds memory](https://github.com/libgit2/libgit2/pull/4996) +- [Fix a memory leak in odb_otype_fast()](https://github.com/libgit2/libgit2/pull/4987) +- [Make stdalloc__reallocarray call stdalloc__realloc](https://github.com/libgit2/libgit2/pull/4986) +- [Remove `git_time_monotonic`](https://github.com/libgit2/libgit2/pull/4990) +- [Fix a _very_ improbable memory leak in git_odb_new()](https://github.com/libgit2/libgit2/pull/4988) +- [ci: publish documentation on merge](https://github.com/libgit2/libgit2/pull/4989) +- [Enable creation of worktree from bare repo's default branch](https://github.com/libgit2/libgit2/pull/4982) +- [Allow bypassing check for '.keep' file](https://github.com/libgit2/libgit2/pull/4965) +- [Release v0.28.1](https://github.com/libgit2/libgit2/pull/4983) + + + +## v0.25.0-alpha.12 [(2019-06-03)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.12) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.11...v0.25.0-alpha.12) + +#### Summary of changes +- Fix bug in Repository.prototype.refreshReferences where new remote references from a new remote added/fetched on a separte repo instance do not show up in the result. +- Fixed a prototype problem with cherrypick, merge, and other collections that have a function at their root. call, apply, and bind should now be on NodeGit.Cherrypick. +- Bumped libssh2 to resolve security notice. + +#### Merged PRs into NodeGit +- [Bump libssh2 to 1.8.2 and fix some npm audit warnings #1678](https://github.com/nodegit/nodegit/pull/1678) +- [Root functions should keep their function prototypes correctly #1681](https://github.com/nodegit/nodegit/pull/1681) +- [refresh_references.cc: bust LibGit2 remote list cache by reading config #1685](https://github.com/nodegit/nodegit/pull/1685) + + +## v0.25.0-alpha.11 [(2019-05-20)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.11) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.10...v0.25.0-alpha.11) + +#### Summary of changes +- Improve speed and correctness of fileHistoryWalk. The API should not have changed; however, when the end of the walk has been reached, `reachedEndOfHistory` will be specified on the resulting array. + +#### Merged PRs into NodeGit +- [Implement faster file history walk #1676](https://github.com/nodegit/nodegit/pull/1676) + + +## v0.25.0-alpha.10 [(2019-05-03)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.10) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.9...v0.25.0-alpha.10) + +#### Summary of changes +- Drops support for Ubuntu 14 after EOL +- Fixes openssl prebuilt downloads for electron builds +- Fixes commits retrieved from Commit.prototype.parent +- *DEPRECATION* Support signing commits in Repository.prototype.mergeBranches. The last parameter `processMergeMessageCallback` is now deprecated, but will continue to work. Use the options object instead, which will contain the `processMergeMessageCallback`, as well as the `signingCb`. +- Bump Node-Gyp to 4.0.0 to fix tar security vulnerability +- *BREAKING* `getRemotes` no longer returns remote names, it now returns remote objects directly. Use `getRemoteNames` to get a list of remote names. +- Optimized a set of routines in NodeGit. These methods as written in Javascript require hundreds or thousands of requests to async workers to retrieve data. We've batched these requests and performed them on a single async worker. There are now native implementations of the following: + - Repository.prototype.getReferences: Retrieves all references on async worker. + - Repository.prototype.getRemotes: Retrieves all remotes on async worker. + - Repository.prototype.getSubmodules: Retrieves all submodules on async worker. + - Repository.prototype.refreshReferences: Open sourced function from GitKraken. Grabs a lot of information about references on an async worker. + - Revwalk.prototype.commitWalk: Retrieves up to N commits from a revwalk on an async worker. + +#### Merged PRs into NodeGit +- [EOL for Node 6 and Ubuntu 14.04 #1649](https://github.com/nodegit/nodegit/pull/1649) +- [Ensures that commits from parent(*) has a repository #1658](https://github.com/nodegit/nodegit/pull/1658) +- [Update openssl conan distributions #1663](https://github.com/nodegit/nodegit/pull/1663) +- [Support signing in Repository#mergeBranches #1664](https://github.com/nodegit/nodegit/pull/1664) +- [Dependency upgrade node-gyp upgraded to 4.0.0 #1672](https://github.com/nodegit/nodegit/pull/1672) +- [Add additional getters to streamline information gathering (breaking change) #1671](https://github.com/nodegit/nodegit/pull/1671) + + + +## v0.25.0-alpha.9 [(2019-03-04)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.9) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.8...v0.25.0-alpha.9) + +#### Summary of changes +- Removed access to the diff_so_far param in git_diff_notify_cb and git_diff_progress_cb +- Changed FilterSource.prototype.repo to async to prevent segfaults on filters that run during Submodule.status +- Clean up deprecation messages to inform users of what was deprecated, not just what users should switch to +- When installing on a machine that has yarn and does not have npm, the preinstall script should succeed now +- ceiling_dirs is now an optional parameter to Repository.discover + +#### Merged PRs into NodeGit +- [Clean up some dangerous memory accesses in callbacks #1642](https://github.com/nodegit/nodegit/pull/1642) +- [Output the item that was deprecated when giving deprecation notice #1643](https://github.com/nodegit/nodegit/pull/1643) +- [Don't fail yarn installs when we can't find npm #1644](https://github.com/nodegit/nodegit/pull/1644) +- [`ceiling_dirs` parameter in `Repository.discover` is optional #1245](https://github.com/nodegit/nodegit/pull/1245) + + +## v0.25.0-alpha.8 [(2019-02-27)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.8) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.7...v0.25.0-alpha.8) + +#### Summary of changes +- Fixed segfault in NodeGit.Merge.analysis and NodeGit.Merge.analysisForRef + +#### Merged PRs into NodeGit +- [Add missing `shouldAlloc` declarations for git_merge_analysis* functions #1641](https://github.com/nodegit/nodegit/pull/1641) + + +## v0.25.0-alpha.7 [(2019-02-20)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.7) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.6...v0.25.0-alpha.7) + +#### Summary of changes +- Fixed bug where repeated uses of extractSignature would fail because of the use of regex.prototype.match +- Added support for building on IBM i (PASE) machines +- Fixed bug where signingCb in rebases would not return error codes to LibGit2 if the signingCb threw or rejected +- Exposed AnnotatedCommit methods: + - AnnotatedCommit.prototype.ref +- Exposed Apply methods: + - Apply.apply applies a diff to the repository + - Apply.toTree applies a diff to a tree +- Exposed Config methods: + - Config.prototype.deleteEntry + - Config.prototype.deleteMultivar + - Config.prototype.getBool + - Config.prototype.getInt32 + - Config.prototype.getInt64 + - Config.prototype.setMultivar + - Config.prototype.snapshot +- Exposed ConfigIterator with methods: + - ConfigIterator.create + - ConfigIterator.createGlob + - ConfigIterator.createMultivar + - ConfigIterator.prototype.next +- Exposed Merge methods: + - Merge.analysis + - Merge.analysisForRef +- Expose Remote methods: + - Remote.createWithOpts + +#### Merged PRs into NodeGit +- [Fix regex state causing subsequent runs of Tag.extractSignature to fail #1630](https://github.com/nodegit/nodegit/pull/1630) +- [Update LibGit2 docs to v0.28.0 #1631](https://github.com/nodegit/nodegit/pull/1631) +- [Add support for building on IBM i (PASE) #1634](https://github.com/nodegit/nodegit/pull/1634) +- [Expose more config methods #1635](https://github.com/nodegit/nodegit/pull/1635) +- [Catch errors and pass them to libgit2 as error codes in rebase signingcb #1636](https://github.com/nodegit/nodegit/pull/1636) +- [Simplify check for IBM i operating system #1637](https://github.com/nodegit/nodegit/pull/1637) +- [Bump LibGit2 to fork of v0.28.1 #1638](https://github.com/nodegit/nodegit/pull/1638) + + +## v0.25.0-alpha.6 [(2019-02-14)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.6) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.5...v0.25.0-alpha.6) + +#### Summary of changes +- Bumped LibGit2 to v0.28.0. +- Fixed problem with continue rebase preventing users from skipping commits +- Fixed leak where struct/option types were leaking libgit2 pointers + +#### Merged PRs into NodeGit +- [We should clear the persistent cell in structs when they are destroyed #1629](https://github.com/nodegit/nodegit/pull/1629) +- [Fix "errorno" typo #1628](https://github.com/nodegit/nodegit/pull/1628) +- [Bump Libgit2 fork to v0.28.0 #1627](https://github.com/nodegit/nodegit/pull/1627) + + +## v0.25.0-alpha.5 [(2019-02-11)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.5) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.4...v0.25.0-alpha.5) + +#### Summary of changes +- Fixed builds for Electron 4 for real this time + +#### Merged PRs into NodeGit +- [Fix macOS and Windows Electron 4 builds #1626](https://github.com/nodegit/nodegit/pull/1626) + + +## v0.25.0-alpha.4 [(2019-02-08)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.4) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.3...v0.25.0-alpha.4) + +#### Summary of changes +- Fixed bug where signing the init commit failed due to being unable to update the `HEAD` ref. +- Changed `NodeGit.Signature.default` to async, because it actually ends up reading the config. +- Fixed bug where templates were not reporting errors for synchronous methods. It's a bit of a wide net, but in general, + it is now possible certain sync methods in NodeGit will begin failin that did not fail before. This is the correct + behavior. +- Switched `NodeGit.Oid.fromString`'s internal implementation from `git_oid_fromstr` to `git_oid_fromstrp` +- Fixed builds for Electron 4 +- Added `NodeGit.Reference.updateTerminal` + +#### Merged PRs into NodeGit +- [Fix non-existent / dangling refs cause Repository.prototype.createCommitWithSignature to fail #1624](https://github.com/nodegit/nodegit/pull/1624) +- [Handle new gyp information for electron builds #1623](https://github.com/nodegit/nodegit/pull/1623) + + +## v0.25.0-alpha.3 [(2019-02-05)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.3) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.2...v0.25.0-alpha.3) + +#### Summary of changes +- Enforced consistent use of signing callbacks within the application. Any object that implements the signingCallback + pattern for signing commits or tags should use the exact same callback type and with the same meaning. + `type SigningCallback = (content: string) => {| code: number, field?: string, signedData?: string |};` + If the code is `NodeGit.Error.CODE.OK` or 0, the operation will succeed and _at least_ signedData is expected to be filled out. + If the code is a negative number, except for `NodeGit.Error.CODE.PASSTHROUGH`, the signing operation will fail. + If the code is `NodeGit.Error.CODE.PASSTHROUGH`, the operation will continue without signing the object. + +#### Merged PRs into NodeGit +- [Use same API for signingCb in all places that can be crypto signed #1621](https://github.com/nodegit/nodegit/pull/1621) + + +## v0.25.0-alpha.2 [(2019-02-01)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.2) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.25.0-alpha.1...v0.25.0-alpha.2) + +#### Summary of changes +- Added RebaseOptions to repository.prototype.rebaseContinue + +#### Merged PRs into NodeGit +- [Breaking: Repository.prototype.continueRebase enhancements #1619](https://github.com/nodegit/nodegit/pull/1619) + + +## v0.25.0-alpha.1 [(2019-01-30)](https://github.com/nodegit/nodegit/releases/tag/v0.25.0-alpha.1) + +[Full Changelog](https://github.com/nodegit/nodegit/compare/v0.24.0...v0.25.0-alpha.1) + +#### Summary of changes +- Bump Libgit2 to preview of v0.28.0 +- Add signing support for commits and annotated tags +- Updated Signature.prototype.toString to optionally include timestamps +- [BREAKING] Converted Buf.prototype.set and Buf.prototype.grow from async to sync +- Added complete support for libgit2 types: + - git_index_name_entry + - git_index_reuc_entry + - git_mailmap +- Exposed git_path_is_gitfile +- Exposed git_tag_create_frombuffer + +#### Merged PRs into NodeGit +- [adds support for gpg commit signing (fixes #1018) #1448](https://github.com/nodegit/nodegit/pull/1448) +- [Add `updateRef` parameter to Repository#createCommitWithSignature #1610](https://github.com/nodegit/nodegit/pull/1610) +- [Documentation fixes. #1611](https://github.com/nodegit/nodegit/pull/1611) +- [Add Commit#amendWithSignature #1616](https://github.com/nodegit/nodegit/pull/1616) +- [Bump libgit2 to a preview of v0.28 #1615](https://github.com/nodegit/nodegit/pull/1615) +- [Fix issues with Commit#amendWithSignature #1617](https://github.com/nodegit/nodegit/pull/1617) +- [Marked Repository.createBlobFromBuffer as async #1614](https://github.com/nodegit/nodegit/pull/1614) +- [Add functionality for creating Tags with signatures and extracting signatures from Tags #1618](https://github.com/nodegit/nodegit/pull/1618) + + ## v0.24.0 [(2019-01-16)](https://github.com/nodegit/nodegit/releases/tag/v0.24.0) [Full Changelog](https://github.com/nodegit/nodegit/compare/v0.23.0...v0.24.0) diff --git a/README.md b/README.md index ddd922d4c..c547e32e7 100644 --- a/README.md +++ b/README.md @@ -76,10 +76,17 @@ In Ubuntu: sudo apt-get install libssl-dev ``` -Additionally, you need `curl-config` on your system. You need one of these packages: - * libcurl4-gnutls-dev - * libcurl4-nss-dev - * libcurl4-openssl-dev +You will need the following libraries installed on your linux machine: + - libpcre + - libpcreposix + - libkrb5 + - libk5crypto + - libcom_err + +When building locally, you will also need development packages for kerberos and pcre, so both of these utilities must be present on your machine: + - pcre-config + - krb5-config + If you are still encountering problems while installing, you should try the [Building from source](http://www.nodegit.org/guides/install/from-source/) diff --git a/appveyor.yml b/appveyor.yml index 34f73e23d..891225fd7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -26,9 +26,9 @@ environment: GYP_MSVS_VERSION: 2015 matrix: # Node.js + - nodejs_version: "12" - nodejs_version: "10" - nodejs_version: "8" - - nodejs_version: "6" matrix: fast_finish: true @@ -58,5 +58,6 @@ build: off branches: only: + - /backport\/.*/ - master - v0.3 diff --git a/examples/clone.js b/examples/clone.js index 2b9937949..459713d94 100644 --- a/examples/clone.js +++ b/examples/clone.js @@ -14,7 +14,7 @@ fse.remove(path).then(function() { certificateCheck: function() { // github will fail cert check on some OSX machines // this overrides that check - return 1; + return 0; } } } diff --git a/examples/cloneFromGithubWith2Factor.js b/examples/cloneFromGithubWith2Factor.js index 35b08432e..62e0df807 100644 --- a/examples/cloneFromGithubWith2Factor.js +++ b/examples/cloneFromGithubWith2Factor.js @@ -20,7 +20,7 @@ var opts = { return nodegit.Cred.userpassPlaintextNew(token, "x-oauth-basic"); }, certificateCheck: function() { - return 1; + return 0; } } } diff --git a/examples/pull.js b/examples/pull.js index 7f5fc9af0..fe2d83411 100644 --- a/examples/pull.js +++ b/examples/pull.js @@ -16,7 +16,7 @@ nodegit.Repository.open(path.resolve(__dirname, repoDir)) return nodegit.Cred.sshKeyFromAgent(userName); }, certificateCheck: function() { - return 1; + return 0; } } }); diff --git a/generate/input/callbacks.json b/generate/input/callbacks.json index a94faa030..0d8720b79 100644 --- a/generate/input/callbacks.json +++ b/generate/input/callbacks.json @@ -1,13 +1,27 @@ { - "git_attr_foreach_cb": { + "git_apply_delta_cb": { "args": [ { - "name": "name", - "cType": "const char *" + "name": "delta", + "cType": "const git_diff_delta *" }, { - "name": "value", - "cType": "const char *" + "name": "payload", + "cType": "void *" + } + ], + "return": { + "type": "int", + "noResults": 1, + "success": 0, + "error": -1 + } + }, + "git_apply_hunk_cb": { + "args": [ + { + "name": "hunk", + "cType": "const git_diff_hunk *" }, { "name": "payload", @@ -21,11 +35,15 @@ "error": -1 } }, - "git_blob_chunk_cb": { + "git_attr_foreach_cb": { "args": [ { - "name": "entry", - "cType": "const git_config_entry *" + "name": "name", + "cType": "const char *" + }, + { + "name": "value", + "cType": "const char *" }, { "name": "payload", @@ -118,6 +136,32 @@ "error": -1 } }, + "git_commit_signing_cb": { + "args": [ + { + "name": "signature", + "cType": "git_buf *" + }, + { + "name": "signature_field", + "cType": "git_buf *" + }, + { + "name": "commit_content", + "cType": "const char *" + }, + { + "name": "payload", + "cType": "void *" + } + ], + "return": { + "type": "int", + "noResults": -30, + "success": 0, + "error": -1 + } + }, "git_config_foreach_cb": { "args": [ { @@ -264,7 +308,8 @@ "args": [ { "name": "diff_so_far", - "cType": "const git_diff *" + "cType": "const git_diff *", + "ignore": true }, { "name": "delta_to_add", @@ -285,11 +330,13 @@ "success": 0, "error": -1 } - },"git_diff_progress_cb": { + }, + "git_diff_progress_cb": { "args": [ { "name": "diff_so_far", - "cType": "const git_diff *" + "cType": "const git_diff *", + "ignore": true }, { "name": "old_path", @@ -311,101 +358,101 @@ "error": -1 } }, - "git_filter_apply_fn": { - "args": [ - { - "name": "self", - "cType": "git_filter *" - }, - { - "name": "payload", - "cType": "void **" - }, - { - "name": "to", - "cType": "git_buf *" - }, - { - "name": "from", - "cType": "const git_buf *" - }, - { - "name": "src", - "cType": "const git_filter_source *" - } - ], - "return": { - "type": "int", - "noResults": -30, - "success": 0, - "error": -1 - } - }, - "git_filter_check_fn": { - "args": [ - { - "name": "self", - "cType": "git_filter *" - }, - { + "git_filter_apply_fn": { + "args": [ + { + "name": "self", + "cType": "git_filter *" + }, + { "name": "payload", "cType": "void **" - }, - { + }, + { + "name": "to", + "cType": "git_buf *" + }, + { + "name": "from", + "cType": "const git_buf *" + }, + { "name": "src", "cType": "const git_filter_source *" - }, - { - "name": "attr_values", - "cType": "const char **" - } - ], - "return": { - "type": "int", - "noResults": -30, - "success": 0, - "error": -1 - } - }, - "git_filter_cleanup_fn": { - "args": [ - { - "name": "self", - "cType": "git_filter *" - }, - { - "name": "payload", - "cType": "void *" - } - ], - "return": { - "type": "void" - } - }, - "git_filter_init_fn": { - "args": [ - { - "name": "self", - "cType": "git_filter *" - } - ], - "return": { - "type": "int", + } + ], + "return": { + "type": "int", + "noResults": -30, + "success": 0, + "error": -1 + } + }, + "git_filter_check_fn": { + "args": [ + { + "name": "self", + "cType": "git_filter *" + }, + { + "name": "payload", + "cType": "void **" + }, + { + "name": "src", + "cType": "const git_filter_source *" + }, + { + "name": "attr_values", + "cType": "const char **" + } + ], + "return": { + "type": "int", + "noResults": -30, + "success": 0, + "error": -1 + } + }, + "git_filter_cleanup_fn": { + "args": [ + { + "name": "self", + "cType": "git_filter *" + }, + { + "name": "payload", + "cType": "void *" + } + ], + "return": { + "type": "void" + } + }, + "git_filter_init_fn": { + "args": [ + { + "name": "self", + "cType": "git_filter *" + } + ], + "return": { + "type": "int", "noResults": 0, - "success": 0, - "error": -1 - } - }, - "git_filter_shutdown_fn": { - "args": [ - { - "name": "self", - "cType": "git_filter *" - } - ], - "return": { - "type": "void" - } + "success": 0, + "error": -1 + } + }, + "git_filter_shutdown_fn": { + "args": [ + { + "name": "self", + "cType": "git_filter *" + } + ], + "return": { + "type": "void" + } }, "git_index_matched_path_cb": { "args": [ @@ -429,6 +476,25 @@ "error": -1 } }, + "git_indexer_progress_cb": { + "args": [ + { + "name": "stats", + "cType": "const git_indexer_progress *" + }, + { + "name": "payload", + "cType": "void *" + } + ], + "return": { + "type": "int", + "noResults": 0, + "success": 0, + "error": -1, + "throttle": 100 + } + }, "git_note_foreach_cb": { "args": [ { @@ -485,11 +551,33 @@ "error": -1 } }, + "git_push_update_reference_cb": { + "args": [ + { + "name": "refname", + "cType": "const char *" + }, + { + "name": "status", + "cType": "const char *" + }, + { + "name": "data", + "cType": "void *" + } + ], + "return": { + "type": "int", + "noResults": 1, + "success": 0, + "error": -1 + } + }, "git_remote_create_cb": { "args": [ { "name": "out", - "cType": "git_repository **", + "cType": "git_remote **", "isReturn": true }, { @@ -645,29 +733,6 @@ "error": -1 } }, - "git_smart_subtransport_cb": { - "args": [ - { - "name": "out", - "cType": "git_smart_subtransport **", - "isReturn": true - }, - { - "name": "owner", - "cType": "git_transport*" - }, - { - "name": "param", - "cType": "void *" - } - ], - "return": { - "type": "int", - "noResults": 0, - "success": 0, - "error": -1 - } - }, "git_stash_apply_progress_cb": { "args": [ { @@ -779,26 +844,7 @@ "error": -1 } }, - "git_transfer_progress_cb": { - "args": [ - { - "name": "stats", - "cType": "const git_transfer_progress *" - }, - { - "name": "payload", - "cType": "void *" - } - ], - "return": { - "type": "int", - "noResults": 0, - "success": 0, - "error": -1, - "throttle": 100 - } - }, - "git_push_transfer_progress": { + "git_push_transfer_progress_cb": { "args": [ { "name": "current", @@ -936,24 +982,28 @@ "error": -1 } }, - "git_push_update_reference_cb": { + "git_url_resolve_cb": { "args": [ { - "name": "refname", - "cType": "const char *" + "name": "url_resolved", + "cType": "git_buf *" }, { - "name": "status", + "name": "url", "cType": "const char *" }, { - "name": "data", + "name": "direction", + "cType": "int" + }, + { + "name": "payload", "cType": "void *" } ], "return": { "type": "int", - "noResults": 1, + "noResults": -30, "success": 0, "error": -1 } diff --git a/generate/input/descriptor.json b/generate/input/descriptor.json index 096d4df9b..b61702214 100644 --- a/generate/input/descriptor.json +++ b/generate/input/descriptor.json @@ -48,7 +48,7 @@ "repository_init_flag": { "removeString": "INIT_" }, - "otype": { + "object": { "JsName": "TYPE", "owner": "Object", "removeString": "OBJ_" @@ -57,7 +57,7 @@ "JsName": "PROXY", "isMask": false }, - "ref": { + "reference": { "owner": "Reference", "JsName": "TYPE" }, @@ -71,10 +71,16 @@ "status": { "JsName": "STATUS", "isMask": false + }, + "stream": { + "ignore": true } }, "types": { + "allocator": { + "ignore": true + }, "annotated_commit": { "selfFreeing": true, "functions": { @@ -108,6 +114,9 @@ } } }, + "apply_options": { + "hasConstructor": true + }, "attr": { "functions": { "git_attr_foreach": { @@ -174,6 +183,9 @@ }, "git_blame_init_options": { "ignore": true + }, + "git_blame_options_init": { + "ignore": true } } }, @@ -191,7 +203,7 @@ "singletonCppClassName": "GitRepository" }, "functions": { - "git_blob_create_frombuffer": { + "git_blob_create_from_buffer": { "isAsync": true, "args": { "id": { @@ -206,7 +218,7 @@ "isErrorCode": true } }, - "git_blob_create_fromworkdir": { + "git_blob_create_from_workdir": { "isAsync": true, "args": { "id": { @@ -217,7 +229,10 @@ "isErrorCode": true } }, - "git_blob_create_fromdisk": { + "git_blob_create_fromworkdir": { + "ignore": true + }, + "git_blob_create_from_disk": { "isAsync": true, "args": { "id": { @@ -228,10 +243,10 @@ "isErrorCode": true } }, - "git_blob_create_fromstream": { + "git_blob_create_from_stream": { "ignore": true }, - "git_blob_create_fromstream_commit": { + "git_blob_create_from_stream_commit": { "ignore": true }, "git_blob_filtered_content": { @@ -378,6 +393,7 @@ ] }, "buf": { + "freeFunctionName": "git_buf_dispose", "functions": { "git_buf_free": { "ignore": true @@ -397,7 +413,7 @@ "jsClassName": "Number", "isErrorCode": true }, - "isAsync": true + "isAsync": false }, "git_buf_set": { "cppFunctionName": "Set", @@ -418,7 +434,7 @@ "jsClassName": "Number", "isErrorCode": true }, - "isAsync": true + "isAsync": false } }, "dependencies": [ @@ -476,6 +492,9 @@ "git_checkout_init_options": { "ignore": true }, + "git_checkout_options_init": { + "ignore": true + }, "git_checkout_tree": { "args": { "treeish": { @@ -502,6 +521,9 @@ }, "git_cherrypick_init_options": { "ignore": true + }, + "git_cherrypick_options_init": { + "ignore": true } } }, @@ -516,6 +538,9 @@ }, "git_clone_init_options": { "ignore": true + }, + "git_clone_options_init": { + "ignore": true } } }, @@ -685,10 +710,14 @@ "ignore": true }, "git_config_delete_entry": { - "ignore": true + "return": { + "isErrorCode": true + } }, "git_config_delete_multivar": { - "ignore": true + "return": { + "isErrorCode": true + } }, "git_config_entry_free": { "ignore": true @@ -752,7 +781,14 @@ "ignore": true }, "git_config_get_bool": { - "ignore": true + "args": { + "out": { + "shouldAlloc": true + } + }, + "return": { + "isErrorCode": true + } }, "git_config_get_entry": { "args": { @@ -763,10 +799,26 @@ } }, "git_config_get_int32": { - "ignore": true + "args": { + "out": { + "cType": "int32_t *", + "shouldAlloc": true + } + }, + "return": { + "isErrorCode": true + } }, "git_config_get_int64": { - "ignore": true + "args": { + "out": { + "cType": "int64_t *", + "shouldAlloc": true + } + }, + "return": { + "isErrorCode": true + } }, "git_config_get_mapped": { "ignore": true @@ -804,15 +856,6 @@ "git_config_init_backend": { "ignore": true }, - "git_config_iterator_free": { - "ignore": true - }, - "git_config_iterator_glob_new": { - "ignore": true - }, - "git_config_iterator_new": { - "ignore": true - }, "git_config_lock": { "isAsync": true, "args": { @@ -820,20 +863,17 @@ "isReturn": true, "ownedByThis": true } + }, + "return": { + "isErrorCode": true } }, "git_config_lookup_map_value": { "ignore": true }, - "git_config_multivar_iterator_new": { - "ignore": true - }, "git_config_new": { "ignore": true }, - "git_config_next": { - "ignore": true - }, "git_config_open_default": { "isAsync": true, "return": { @@ -887,6 +927,12 @@ "isErrorCode": true } }, + "git_config_set_multivar": { + "isAsync": true, + "return": { + "isErrorCode": true + } + }, "git_config_set_string": { "isAsync": true, "return": { @@ -894,7 +940,14 @@ } }, "git_config_snapshot": { - "ignore": true + "args": { + "out": { + "ownedByThis": true + } + }, + "return": { + "isErrorCode": true + } } }, "dependencies": [ @@ -908,11 +961,79 @@ "selfFreeing": true }, "config_iterator": { - "ignore": true + "selfFreeing": true, + "fields": { + "backend": { + "ignore": true + }, + "flags": { + "ignore": true + }, + "free": { + "ignore": true + }, + "next": { + "ignore": true + } + }, + "functions": { + "git_config_iterator_free": { + "ignore": true + }, + "git_config_iterator_new": { + "args": { + "out": { + "ownedBy": ["cfg"] + } + }, + "return": { + "isErrorCode": true + } + }, + "git_config_iterator_glob_new": { + "jsFunctionName": "createGlob", + "args": { + "out": { + "ownedBy": ["cfg"] + } + }, + "return": { + "isErrorCode": true + } + }, + "git_config_multivar_iterator_new": { + "jsFunctionName": "createMultivar", + "args": { + "out": { + "ownedBy": ["cfg"] + } + }, + "return": { + "isErrorCode": true + } + }, + "git_config_next": { + "jsFunctionName": "next", + "args": { + "entry": { + "ownedByThis": true + } + }, + "return": { + "isErrorCode": true + } + } + } }, "cred": { + "needsForwardDeclaration": false, "selfFreeing": true, "cType": "git_cred", + "fields": { + "free": { + "ignore": true + } + }, "functions": { "git_cred_default_new": { "isAsync": false @@ -1023,6 +1144,9 @@ "git_diff_find_init_options": { "ignore": true }, + "git_diff_find_options_init": { + "ignore": true + }, "git_diff_find_similar": { "args": { "diff": { @@ -1048,6 +1172,9 @@ "git_diff_format_email_init_options": { "ignore": true }, + "git_diff_format_email_options_init": { + "ignore": true + }, "git_diff_free": { "ignore": true }, @@ -1121,9 +1248,15 @@ "git_diff_num_deltas_of_type": { "ignore": true }, + "git_diff_options_init": { + "ignore": true + }, "git_diff_patchid_init_options": { "ignore": true }, + "git_diff_patchid_options_init": { + "ignore": true + }, "git_diff_print": { "ignore": true }, @@ -1278,9 +1411,17 @@ "functions": { "git_fetch_init_options": { "ignore": true + }, + "git_fetch_options_init": { + "ignore": true } } }, + "fetch_options": { + "dependencies": [ + "../include/str_array_converter.h" + ] + }, "filter": { "selfFreeing": false, "hasConstructor": true, @@ -1398,9 +1539,13 @@ } }, "dependencies": [ + "../include/git_buf_converter.h", "../include/filter_registry.h" ] }, + "giterr": { + "ignore": true + }, "graph": { "functions": { "git_graph_ahead_behind": { @@ -1429,7 +1574,20 @@ }, "hashsig": { "selfFreeing": true, + "freeFunctionName": "git_hashsig_free", "functions": { + "git_hashsig_create": { + "isAsync": true, + "return": { + "isErrorCode": true + } + }, + "git_hashsig_create_fromfile": { + "isAsync": true, + "return": { + "isErrorCode": true + } + }, "git_hashsig_free": { "ignore": true } @@ -1454,6 +1612,12 @@ } } }, + "imaxdiv": { + "ignore": true + }, + "imaxdiv_t": { + "ignore": true + }, "index": { "selfFreeing": true, "ownerFn": { @@ -1493,6 +1657,9 @@ "git_index_add_frombuffer": { "ignore": true }, + "git_index_add_from_buffer": { + "ignore": true + }, "git_index_checksum": { "return": { "ownedByThis": true @@ -1667,12 +1834,6 @@ "isErrorCode": true } }, - "git_index_reuc_get_byindex": { - "ignore": true - }, - "git_index_reuc_get_bypath": { - "ignore": true - }, "git_index_update_all": { "args": { "pathspec": { @@ -1707,23 +1868,244 @@ "isErrorCode": true } }, - "git_index_write_tree_to": { - "isAsync": true, + "git_index_write_tree_to": { + "isAsync": true, + "return": { + "isErrorCode": true + } + } + }, + "dependencies": [ + "../include/str_array_converter.h" + ] + }, + "index_conflict_iterator": { + "selfFreeing": true, + "freeFunctionName": "git_index_conflict_iterator_free", + "functions": { + "git_index_conflict_iterator_free": { + "ignore": true + }, + "git_index_conflict_iterator_new": { + "args": { + "iterator_out": { + "ownedBy": ["index"] + } + } + }, + "git_index_conflict_next": { + "isAsync": false, + "jsFunctionName": "next", + "cppFunctionName": "Next", + "args": { + "ancestor_out": { + "isReturn": true, + "ownedByThis": true + }, + "our_out": { + "isReturn": true, + "ownedByThis": true + }, + "their_out": { + "isReturn": true, + "ownedByThis": true + } + } + } + } + }, + "index_entry": { + "hasConstructor": true, + "ignoreInit": true + }, + "index_iterator": { + "selfFreeing": true, + "freeFunctionName": "git_index_iterator_free", + "functions": { + "git_index_iterator_free": { + "ignore": true + }, + "git_index_iterator_new": { + "args": { + "iterator_out": { + "ownedBy": ["index"] + } + } + }, + "git_index_iterator_next": { + "isAsync": false, + "args": { + "out": { + "ownedByThis": true + } + } + } + } + }, + "index_name_entry": { + "functions": { + "git_index_name_add": { + "cppFunctionName": "Add", + "jsFunctionName": "add", + "isAsync": true, + "return": { + "isErrorCode": true + } + }, + "git_index_name_clear": { + "cppFunctionName": "Clear", + "jsFunctionName": "clear", + "isAsync": true + }, + "git_index_name_entrycount": { + "cppFunctionName": "Entrycount", + "jsFunctionName": "entryCount" + }, + "git_index_name_get_byindex": { + "cppFunctionName": "GetByIndex", + "jsFunctionName": "getByIndex", + "isPrototypeMethod": false + } + }, + "cDependencies": [ + "git2/sys/index.h" + ] + }, + "index_reuc_entry": { + "fields": { + "mode": { + "cType": "uint32_t [3]" + } + }, + "functions": { + "git_index_reuc_add": { + "cppFunctionName": "Add", + "jsFunctionName": "add", + "isAsync": true, + "return": { + "isErrorCode": true + } + }, + "git_index_reuc_clear": { + "cppFunctionName": "Clear", + "jsFunctionName": "clear", + "isAsync": true, + "isPrototypeMethod": false + }, + "git_index_reuc_entrycount": { + "cppFunctionName": "Entrycount", + "jsFunctionName": "entryCount" + }, + "git_index_reuc_find": { + "args": { + "at_pos": { + "isReturn": true, + "shouldAlloc": true + } + }, + "cppFunctionName": "Find", + "jsFunctionName": "find", + "isAsync": true, + "return": { + "isErrorCode": true + } + }, + "git_index_reuc_get_byindex": { + "cppFunctionName": "GetByIndex", + "jsFunctionName": "getByIndex", + "isPrototypeMethod": false + }, + "git_index_reuc_get_bypath": { + "cppFunctionName": "GetByPath", + "jsFunctionName": "getByPath", + "isPrototypeMethod": false + }, + "git_index_reuc_remove": { + "cppFunctionName": "Remove", + "jsFunctionName": "remove", + "isAsync": true, + "isPrototypeMethod": false, + "return": { + "isErrorCode": true + } + } + }, + "cDependencies": [ + "git2/sys/index.h" + ] + }, + "indexer": { + "ignore": true + }, + "indexer_options": { + "ignore": true + }, + "LIBSSH2_SESSION": { + "ignore": true + }, + "LIBSSH2_USERAUTH_KBDINT_PROMPT": { + "ignore": true + }, + "LIBSSH2_USERAUTH_KBDINT_RESPONSE": { + "ignore": true + }, + "_LIBSSH2_SESSION": { + "ignore": true + }, + "_LIBSSH2_USERAUTH_KBDINT_PROMPT": { + "ignore": true + }, + "_LIBSSH2_USERAUTH_KBDINT_RESPONSE": { + "ignore": true + }, + "mailmap": { + "selfFreeing": true, + "freeFunctionName": "git_mailmap_free", + "functions": { + "git_mailmap_add_entry": { + "isAsync": true, + "return": { + "isErrorCode": true + } + }, + "git_mailmap_free": { + "ignore": true + }, + "git_mailmap_from_buffer": { + "return": { + "isErrorCode": true + } + }, + "git_mailmap_from_repository": { + "args": { + "out": { + "ownedBy": ["repo"] + } + }, + "return": { + "isErrorCode": true + } + }, + "git_mailmap_resolve": { + "args": { + "real_name": { + "isReturn": true + }, + "real_email": { + "isReturn": true + } + }, + "isAsync": true, + "return": { + "isErrorCode": true + } + }, + "git_mailmap_resolve_signature": { "return": { "isErrorCode": true } } - }, - "dependencies": [ - "../include/str_array_converter.h" - ] - }, - "index_entry": { - "hasConstructor": true, - "ignoreInit": true - }, - "indexer": { - "ignore": true + } }, "mempack": { "ignore": true @@ -1763,7 +2145,55 @@ } }, "git_merge_analysis": { - "ignore": true + "isAsync": true, + "args": { + "analysis_out": { + "isReturn": true, + "shouldAlloc": true + }, + "preference_out": { + "isReturn": true, + "shouldAlloc": true + }, + "their_heads": { + "cType": "const git_annotated_commit **", + "cppClassName": "Array", + "jsClassName": "Array", + "arrayElementCppClassName": "GitAnnotatedCommit" + }, + "their_heads_len": { + "cType": "size_t", + "cppClassName": "Number", + "jsClassName": "Number" + } + } + }, + "git_merge_analysis_for_ref": { + "isAsync": true, + "args": { + "analysis_out": { + "isReturn": true, + "shouldAlloc": true + }, + "preference_out": { + "isReturn": true, + "shouldAlloc": true + }, + "their_heads": { + "cType": "const git_annotated_commit **", + "cppClassName": "Array", + "jsClassName": "Array", + "arrayElementCppClassName": "GitAnnotatedCommit" + }, + "their_heads_len": { + "cType": "size_t", + "cppClassName": "Number", + "jsClassName": "Number" + } + }, + "return": { + "isErrorCode": true + } }, "git_merge_base_many": { "ignore": true @@ -1787,12 +2217,24 @@ "git_merge_file_from_index": { "ignore": true }, + "git_merge_file_input_init": { + "ignore": true + }, + "git_merge_file_init_input": { + "ignore": true + }, "git_merge_file_init_options": { "ignore": true }, + "git_merge_file_options_init": { + "ignore": true + }, "git_merge_init_options": { "ignore": true }, + "git_merge_options_init": { + "ignore": true + }, "git_merge_trees": { "args": { "ancestor_tree": { @@ -1931,16 +2373,10 @@ "ignore": true }, "git_odb_add_disk_alternate": { - "ignore": true - }, - "git_odb_backend_loose": { - "ignore": true - }, - "git_odb_backend_one_pack": { - "ignore": true - }, - "git_odb_backend_pack": { - "ignore": true + "isAsync": true, + "return": { + "isErrorCode": true + } }, "git_odb_exists": { "ignore": true, @@ -2107,13 +2543,14 @@ "ignore": true }, "git_oid_fromstr": { - "isAsync": false + "ignore": true }, "git_oid_fromstrn": { "ignore": true }, "git_oid_fromstrp": { - "ignore": true + "isAsync": false, + "jsFunctionName": "fromString" }, "git_oid_nfmt": { "ignore": true @@ -2158,9 +2595,7 @@ } }, "openssl": { - "cDependencies": [ - "git2/sys/openssl.h" - ] + "ignore": true }, "packbuilder": { "selfFreeing": true, @@ -2292,6 +2727,11 @@ } } }, + "path": { + "cDependencies": [ + "git2/sys/path.h" + ] + }, "pathspec": { "selfFreeing": true, "dependencies": [ @@ -2359,13 +2799,22 @@ "functions": { "git_proxy_init_options": { "ignore": true + }, + "git_proxy_options_init": { + "ignore": true } } }, "push": { "ignore": true }, + "push_options": { + "dependencies": [ + "../include/str_array_converter.h" + ] + }, "rebase": { + "hasConstructor": false, "selfFreeing": true, "functions": { "git_rebase_abort": { @@ -2448,11 +2897,15 @@ } }, "git_rebase_next": { + "isAsync": true, "args": { "operation": { "isReturn": true, "ownedByThis": true } + }, + "return": { + "isErrorCode": true } }, "git_rebase_open": { @@ -2472,6 +2925,9 @@ "return": { "ownedByThis": true } + }, + "git_rebase_options_init": { + "ignore": true } } }, @@ -2686,6 +3142,19 @@ } } }, + "git_remote_create_init_options": { + "ignore": true + }, + "git_remote_create_options_init": { + "ignore": true + }, + "git_remote_create_with_opts": { + "args": { + "opts": { + "isOptional": true + } + } + }, "git_remote_connect": { "isAsync": true, "return": { @@ -2779,6 +3248,7 @@ }, "git_remote_get_refspec": { "return": { + "selfFreeing": false, "ownedByThis": true } }, @@ -2857,12 +3327,18 @@ "selfFreeing": true }, "repository": { + "hasConstructor": false, "selfFreeing": true, "isSingleton": true, "dependencies": [ - "git2/sys/repository.h" + "git2/sys/repository.h", + "../include/submodule.h", + "../include/remote.h" ], "functions": { + "git_repository__cleanup": { + "isAsync": true + }, "git_repository_config": { "args": { "out": { @@ -2879,6 +3355,9 @@ "isErrorCode": true }, "args": { + "ceiling_dirs": { + "isOptional": true + }, "out": { "isReturn": true, "isSelf": false, @@ -2899,11 +3378,22 @@ "ignore": true }, "git_repository_ident": { - "ignore": true + "args": { + "name": { + "isReturn": true + }, + "email": { + "isReturn": true + } + }, + "isAsync": false }, "git_repository_init_init_options": { "ignore": true }, + "git_repository_init_options_init": { + "ignore": true + }, "git_repository_mergehead_foreach": { "isAsync": true, "return": { @@ -2971,6 +3461,16 @@ }, "git_repository_set_refdb": { "ignore": true + }, + "git_repository_submodule_cache_all": { + "return": { + "isErrorCode": true + } + }, + "git_repository_submodule_cache_clear": { + "return": { + "isErrorCode": true + } } } }, @@ -2997,6 +3497,9 @@ }, "git_revert_init_options": { "ignore": true + }, + "git_revert_options_init": { + "ignore": true } } }, @@ -3013,6 +3516,7 @@ ], "functions": { "git_reset": { + "isCollectionRoot": true, "args": { "checkout_opts": { "isOptional": true @@ -3083,7 +3587,10 @@ "dupFunction": "git_signature_dup", "functions": { "git_signature_default": { - "isAsync": false + "isAsync": true, + "return": { + "isErrorCode": true + } }, "git_signature_dup": { "ignore": true @@ -3095,7 +3602,15 @@ "isAsync": false }, "git_signature_now": { - "isAsync": false + "isAsync": false, + "args": { + "sig_out": { + "isReturn": true + } + }, + "return": { + "isErrorCode": true + } } } }, @@ -3112,9 +3627,15 @@ } } }, + "smart_subtransport": { + "ignore": true + }, "smart_subtransport_definition": { "ignore": true }, + "smart_subtransport_stream": { + "ignore": true + }, "stash": { "functions": { "git_stash_apply": { @@ -3123,6 +3644,12 @@ "isErrorCode": true } }, + "git_stash_apply_init_options": { + "ignore": true + }, + "git_stash_apply_options_init": { + "ignore": true + }, "git_stash_drop": { "isAsync": true, "return": { @@ -3135,9 +3662,6 @@ "isErrorCode": true } }, - "git_stash_apply_init_options": { - "ignore": true - }, "git_stash_pop": { "isAsync": true, "return": { @@ -3157,6 +3681,9 @@ } } }, + "stdalloc": { + "ignore": true + }, "status": { "cDependencies": [ "git2/sys/diff.h" @@ -3194,6 +3721,9 @@ }, "git_status_init_options": { "ignore": true + }, + "git_status_options_init": { + "ignore": true } } }, @@ -3203,6 +3733,21 @@ "git_status_list_free": { "ignore": true }, + "git_status_list_get_perfdata": { + "isAsync": false, + "args": { + "out": { + "isReturn": true, + "shouldAlloc": true + }, + "status": { + "isSelf": true + } + }, + "return": { + "isErrorCode": true + } + }, "git_status_list_new": { "isAsync": true, "args": { @@ -3236,7 +3781,11 @@ "git2/sys/stream.h" ] }, + "stream_registration": { + "ignore": true + }, "submodule": { + "hasConstructor": false, "selfFreeing": true, "ownerFn": { "name": "git_submodule_owner", @@ -3384,6 +3933,9 @@ }, "git_submodule_update_init_options": { "ignore": true + }, + "git_submodule_update_options_init": { + "ignore": true } } }, @@ -3419,8 +3971,16 @@ }, "isAsync": true }, - "git_tag_create_frombuffer": { - "ignore": true + "git_tag_create_from_buffer": { + "args": { + "oid": { + "isReturn": true + } + }, + "return": { + "isErrorCode": true + }, + "isAsync": true }, "git_tag_create_lightweight": { "args": { @@ -3518,14 +4078,6 @@ }, "time": { "dupFunction": "git_time_dup", - "dependencies": [ - "git2/sys/time.h" - ], - "fields": { - "sign": { - "ignore": true - } - }, "functions": { "git_time_sign": { "ignore": true @@ -3560,6 +4112,47 @@ "transport": { "cType": "git_transport", "needsForwardDeclaration": false, + "fields": { + "cancel": { + "ignore": true + }, + "close": { + "ignore": true + }, + "connect": { + "ignore": true + }, + "download_pack": { + "ignore": true + }, + "free": { + "ignore": true + }, + "is_connected": { + "ignore": true + }, + "ls": { + "ignore": true + }, + "negotiate_fetch": { + "ignore": true + }, + "push": { + "ignore": true + }, + "read_flags": { + "ignore": true + }, + "set_callbacks": { + "ignore": true + }, + "set_custom_headers": { + "ignore": true + }, + "version": { + "ignore": true + } + }, "functions": { "git_transport_dummy": { "ignore": true @@ -3597,6 +4190,16 @@ "singletonCppClassName": "GitRepository" }, "functions": { + "git_tree_create_updated": { + "args": { + "updates": { + "cType": "git_tree_update *", + "cppClassName": "Array", + "jsClassName": "Array", + "arrayElementCppClassName": "GitTreeUpdate" + } + } + }, "git_tree_entry_byid": { "return": { "ownedByThis": true @@ -3722,6 +4325,9 @@ } } }, + "win32": { + "ignore": true + }, "worktree": { "selfFreeing": true, "cType": "git_worktree", @@ -3737,6 +4343,9 @@ "git_worktree_add_init_options": { "ignore": true }, + "git_worktree_add_options_init": { + "ignore": true + }, "git_worktree_free": { "ignore": true }, @@ -3756,12 +4365,33 @@ }, "git_worktree_prune_init_options": { "ignore": true + }, + "git_worktree_prune_options_init": { + "ignore": true } - } + }, + "dependencies": [ + "../include/git_buf_converter.h" + ] + }, + "tree_update": { + "hasConstructor": true, + "ignoreInit": true }, "writestream": { "cType": "git_writestream", - "needsForwardDeclaration": false + "needsForwardDeclaration": false, + "fields": { + "close": { + "ignore": true + }, + "free": { + "ignore": true + }, + "write": { + "ignore": true + } + } } } } diff --git a/generate/input/libgit2-docs.json b/generate/input/libgit2-docs.json index 75f9a46af..6f40724ce 100644 --- a/generate/input/libgit2-docs.json +++ b/generate/input/libgit2-docs.json @@ -1,35 +1,48 @@ { "files": [ { - "file": "annotated_commit.h", + "file": "git2/annotated_commit.h", "functions": [ "git_annotated_commit_from_ref", "git_annotated_commit_from_fetchhead", "git_annotated_commit_lookup", "git_annotated_commit_from_revspec", "git_annotated_commit_id", + "git_annotated_commit_ref", "git_annotated_commit_free" ], "meta": {}, - "lines": 112 + "lines": 121 }, { - "file": "attr.h", + "file": "git2/apply.h", + "functions": [ + "git_apply_delta_cb", + "git_apply_hunk_cb", + "git_apply_to_tree", + "git_apply" + ], + "meta": {}, + "lines": 133 + }, + { + "file": "git2/attr.h", "functions": [ "git_attr_value", "git_attr_get", "git_attr_get_many", + "git_attr_foreach_cb", "git_attr_foreach", "git_attr_cache_flush", "git_attr_add_macro" ], "meta": {}, - "lines": 240 + "lines": 251 }, { - "file": "blame.h", + "file": "git2/blame.h", "functions": [ - "git_blame_init_options", + "git_blame_options_init", "git_blame_get_hunk_count", "git_blame_get_hunk_byindex", "git_blame_get_hunk_byline", @@ -38,10 +51,10 @@ "git_blame_free" ], "meta": {}, - "lines": 207 + "lines": 224 }, { - "file": "blob.h", + "file": "git2/blob.h", "functions": [ "git_blob_lookup", "git_blob_lookup_prefix", @@ -51,11 +64,11 @@ "git_blob_rawcontent", "git_blob_rawsize", "git_blob_filtered_content", - "git_blob_create_fromworkdir", - "git_blob_create_fromdisk", - "git_blob_create_fromstream", - "git_blob_create_fromstream_commit", - "git_blob_create_frombuffer", + "git_blob_create_from_workdir", + "git_blob_create_from_disk", + "git_blob_create_from_stream", + "git_blob_create_from_stream_commit", + "git_blob_create_from_buffer", "git_blob_is_binary", "git_blob_dup" ], @@ -63,7 +76,7 @@ "lines": 228 }, { - "file": "branch.h", + "file": "git2/branch.h", "functions": [ "git_branch_create", "git_branch_create_from_annotated", @@ -76,61 +89,64 @@ "git_branch_name", "git_branch_upstream", "git_branch_set_upstream", + "git_branch_upstream_name", "git_branch_is_head", - "git_branch_is_checked_out" + "git_branch_is_checked_out", + "git_branch_remote_name", + "git_branch_upstream_remote" ], "meta": {}, - "lines": 258 + "lines": 288 }, { - "file": "buffer.h", + "file": "git2/buffer.h", "functions": [ - "git_buf_free", + "git_buf_dispose", "git_buf_grow", "git_buf_set", "git_buf_is_binary", "git_buf_contains_nul" ], "meta": {}, - "lines": 122 + "lines": 128 }, { - "file": "checkout.h", + "file": "git2/checkout.h", "functions": [ "git_checkout_notify_cb", "git_checkout_progress_cb", "git_checkout_perfdata_cb", - "git_checkout_init_options", + "git_checkout_options_init", "git_checkout_head", "git_checkout_index", "git_checkout_tree" ], "meta": {}, - "lines": 361 + "lines": 394 }, { - "file": "cherrypick.h", + "file": "git2/cherrypick.h", "functions": [ - "git_cherrypick_init_options", + "git_cherrypick_options_init", "git_cherrypick_commit", "git_cherrypick" ], "meta": {}, - "lines": 84 + "lines": 86 }, { - "file": "clone.h", + "file": "git2/clone.h", "functions": [ "git_remote_create_cb", "git_repository_create_cb", - "git_clone_init_options", + "git_clone_options_init", "git_clone" ], "meta": {}, - "lines": 203 + "lines": 205 }, { - "file": "commit.h", + "file": "git2/commit.h", "functions": [ "git_commit_lookup", "git_commit_lookup_prefix", @@ -146,6 +162,8 @@ "git_commit_time_offset", "git_commit_committer", "git_commit_author", + "git_commit_committer_with_mailmap", + "git_commit_author_with_mailmap", "git_commit_raw_header", "git_commit_tree", "git_commit_tree_id", @@ -163,22 +181,23 @@ "git_commit_dup" ], "meta": {}, - "lines": 474 + "lines": 502 }, { - "file": "common.h", + "file": "git2/common.h", "functions": [ "git_libgit2_version", "git_libgit2_features", "git_libgit2_opts" ], "meta": {}, - "lines": 352 + "lines": 404 }, { - "file": "config.h", + "file": "git2/config.h", "functions": [ "git_config_entry_free", + "git_config_foreach_cb", "git_config_find_global", "git_config_find_xdg", "git_config_find_system", @@ -223,10 +242,10 @@ "git_config_lock" ], "meta": {}, - "lines": 751 + "lines": 762 }, { - "file": "cred_helpers.h", + "file": "git2/cred_helpers.h", "functions": [ "git_cred_userpass" ], @@ -234,27 +253,45 @@ "lines": 48 }, { - "file": "describe.h", + "file": "git2/deprecated.h", "functions": [ + "git_blob_create_fromworkdir", + "git_buf_free", + "giterr_last", + "giterr_clear", + "giterr_set_str", + "giterr_set_oom", + "git_oid_iszero", + "git_headlist_cb", + "git_blame_init_options" + ], + "meta": {}, + "lines": 437 + }, + { + "file": "git2/describe.h", + "functions": [ + "git_describe_options_init", + "git_describe_format_options_init", "git_describe_commit", "git_describe_workdir", "git_describe_format", "git_describe_result_free" ], "meta": {}, - "lines": 161 + "lines": 184 }, { - "file": "diff.h", + "file": "git2/diff.h", "functions": [ "git_diff_notify_cb", "git_diff_progress_cb", - "git_diff_init_options", + "git_diff_options_init", "git_diff_file_cb", "git_diff_binary_cb", "git_diff_hunk_cb", "git_diff_line_cb", - "git_diff_find_init_options", + "git_diff_find_options_init", "git_diff_free", "git_diff_tree_to_tree", "git_diff_tree_to_index", @@ -284,26 +321,26 @@ "git_diff_stats_free", "git_diff_format_email", "git_diff_commit_as_email", - "git_diff_format_email_init_options", - "git_diff_patchid_init_options", + "git_diff_format_email_options_init", + "git_diff_patchid_options_init", "git_diff_patchid" ], "meta": {}, - "lines": 1452 + "lines": 1502 }, { - "file": "errors.h", + "file": "git2/errors.h", "functions": [ - "giterr_last", - "giterr_clear", - "giterr_set_str", - "giterr_set_oom" + "git_error_last", + "git_error_clear", + "git_error_set_str", + "git_error_set_oom" ], "meta": {}, - "lines": 149 + "lines": 157 }, { - "file": "filter.h", + "file": "git2/filter.h", "functions": [ "git_filter_list_load", "git_filter_list_contains", @@ -319,7 +356,7 @@ "lines": 210 }, { - "file": "global.h", + "file": "git2/global.h", "functions": [ "git_libgit2_init", "git_libgit2_shutdown" @@ -328,7 +365,7 @@ "lines": 39 }, { - "file": "graph.h", + "file": "git2/graph.h", "functions": [ "git_graph_ahead_behind", "git_graph_descendant_of" @@ -337,7 +374,7 @@ "lines": 54 }, { - "file": "ignore.h", + "file": "git2/ignore.h", "functions": [ "git_ignore_add_rule", "git_ignore_clear_internal_rules", @@ -347,7 +384,7 @@ "lines": 74 }, { - "file": "index.h", + "file": "git2/index.h", "functions": [ "git_index_matched_path_cb", "git_index_open", @@ -374,8 +411,11 @@ "git_index_add", "git_index_entry_stage", "git_index_entry_is_conflict", + "git_index_iterator_new", + "git_index_iterator_next", + "git_index_iterator_free", "git_index_add_bypath", - "git_index_add_frombuffer", + "git_index_add_from_buffer", "git_index_remove_bypath", "git_index_add_all", "git_index_remove_all", @@ -392,11 +432,13 @@ "git_index_conflict_iterator_free" ], "meta": {}, - "lines": 806 + "lines": 830 }, { - "file": "indexer.h", + "file": "git2/indexer.h", "functions": [ + "git_indexer_progress_cb", + "git_indexer_options_init", "git_indexer_new", "git_indexer_append", "git_indexer_commit", @@ -404,15 +446,30 @@ "git_indexer_free" ], "meta": {}, - "lines": 72 + "lines": 142 + }, + { + "file": "git2/mailmap.h", + "functions": [ + "git_mailmap_new", + "git_mailmap_free", + "git_mailmap_add_entry", + "git_mailmap_from_buffer", + "git_mailmap_from_repository", + "git_mailmap_resolve", + "git_mailmap_resolve_signature" + ], + "meta": {}, + "lines": 111 }, { - "file": "merge.h", + "file": "git2/merge.h", "functions": [ - "git_merge_file_init_input", - "git_merge_file_init_options", - "git_merge_init_options", + "git_merge_file_input_init", + "git_merge_file_options_init", + "git_merge_options_init", "git_merge_analysis", + "git_merge_analysis_for_ref", "git_merge_base", "git_merge_bases", "git_merge_base_many", @@ -426,10 +483,10 @@ "git_merge" ], "meta": {}, - "lines": 585 + "lines": 602 }, { - "file": "message.h", + "file": "git2/message.h", "functions": [ "git_message_prettify", "git_message_trailers", @@ -439,15 +496,13 @@ "lines": 79 }, { - "file": "net.h", - "functions": [ - "git_headlist_cb" - ], + "file": "git2/net.h", + "functions": [], "meta": {}, - "lines": 55 + "lines": 50 }, { - "file": "notes.h", + "file": "git2/notes.h", "functions": [ "git_note_foreach_cb", "git_note_iterator_new", @@ -465,13 +520,14 @@ "git_note_remove", "git_note_commit_remove", "git_note_free", + "git_note_default_ref", "git_note_foreach" ], "meta": {}, "lines": 302 }, { - "file": "object.h", + "file": "git2/object.h", "functions": [ "git_object_lookup", "git_object_lookup_prefix", @@ -484,7 +540,7 @@ "git_object_type2string", "git_object_string2type", "git_object_typeisloose", - "git_object__size", + "git_object_size", "git_object_peel", "git_object_dup" ], @@ -492,7 +548,7 @@ "lines": 237 }, { - "file": "odb.h", + "file": "git2/odb.h", "functions": [ "git_odb_foreach_cb", "git_odb_new", @@ -529,20 +585,20 @@ "git_odb_get_backend" ], "meta": {}, - "lines": 544 + "lines": 545 }, { - "file": "odb_backend.h", + "file": "git2/odb_backend.h", "functions": [ "git_odb_backend_pack", "git_odb_backend_loose", "git_odb_backend_one_pack" ], "meta": {}, - "lines": 130 + "lines": 131 }, { - "file": "oid.h", + "file": "git2/oid.h", "functions": [ "git_oid_fromstr", "git_oid_fromstrp", @@ -559,7 +615,7 @@ "git_oid_ncmp", "git_oid_streq", "git_oid_strcmp", - "git_oid_iszero", + "git_oid_is_zero", "git_oid_shorten_new", "git_oid_shorten_add", "git_oid_shorten_free" @@ -568,7 +624,7 @@ "lines": 264 }, { - "file": "oidarray.h", + "file": "git2/oidarray.h", "functions": [ "git_oidarray_free" ], @@ -576,7 +632,7 @@ "lines": 34 }, { - "file": "pack.h", + "file": "git2/pack.h", "functions": [ "git_packbuilder_new", "git_packbuilder_set_threads", @@ -585,8 +641,10 @@ "git_packbuilder_insert_commit", "git_packbuilder_insert_walk", "git_packbuilder_insert_recur", + "git_packbuilder_write_buf", "git_packbuilder_write", "git_packbuilder_hash", + "git_packbuilder_foreach_cb", "git_packbuilder_foreach", "git_packbuilder_object_count", "git_packbuilder_written", @@ -595,10 +653,10 @@ "git_packbuilder_free" ], "meta": {}, - "lines": 236 + "lines": 247 }, { - "file": "patch.h", + "file": "git2/patch.h", "functions": [ "git_patch_from_diff", "git_patch_from_blobs", @@ -619,7 +677,7 @@ "lines": 268 }, { - "file": "pathspec.h", + "file": "git2/pathspec.h", "functions": [ "git_pathspec_new", "git_pathspec_free", @@ -639,19 +697,23 @@ "lines": 277 }, { - "file": "proxy.h", + "file": "git2/proxy.h", "functions": [ - "git_proxy_init_options" + "git_proxy_options_init" ], "meta": {}, - "lines": 88 + "lines": 92 }, { - "file": "rebase.h", + "file": "git2/rebase.h", "functions": [ - "git_rebase_init_options", + "git_rebase_options_init", "git_rebase_init", "git_rebase_open", + "git_rebase_orig_head_name", + "git_rebase_orig_head_id", + "git_rebase_onto_name", + "git_rebase_onto_id", "git_rebase_operation_entrycount", "git_rebase_operation_current", "git_rebase_operation_byindex", @@ -663,10 +725,10 @@ "git_rebase_free" ], "meta": {}, - "lines": 316 + "lines": 347 }, { - "file": "refdb.h", + "file": "git2/refdb.h", "functions": [ "git_refdb_new", "git_refdb_open", @@ -677,7 +739,7 @@ "lines": 63 }, { - "file": "reflog.h", + "file": "git2/reflog.h", "functions": [ "git_reflog_read", "git_reflog_write", @@ -697,7 +759,7 @@ "lines": 166 }, { - "file": "refs.h", + "file": "git2/refs.h", "functions": [ "git_reference_lookup", "git_reference_name_to_id", @@ -719,6 +781,8 @@ "git_reference_delete", "git_reference_remove", "git_reference_list", + "git_reference_foreach_cb", + "git_reference_foreach_name_cb", "git_reference_foreach", "git_reference_foreach_name", "git_reference_dup", @@ -742,11 +806,13 @@ "git_reference_shorthand" ], "meta": {}, - "lines": 744 + "lines": 763 }, { - "file": "refspec.h", + "file": "git2/refspec.h", "functions": [ + "git_refspec_parse", + "git_refspec_free", "git_refspec_src", "git_refspec_dst", "git_refspec_string", @@ -758,12 +824,14 @@ "git_refspec_rtransform" ], "meta": {}, - "lines": 100 + "lines": 117 }, { - "file": "remote.h", + "file": "git2/remote.h", "functions": [ "git_remote_create", + "git_remote_create_options_init", + "git_remote_create_with_opts", "git_remote_create_with_fetchspec", "git_remote_create_anonymous", "git_remote_create_detached", @@ -788,12 +856,13 @@ "git_remote_disconnect", "git_remote_free", "git_remote_list", - "git_push_transfer_progress", + "git_push_transfer_progress_cb", "git_push_negotiation", "git_push_update_reference_cb", + "git_url_resolve_cb", "git_remote_init_callbacks", - "git_fetch_init_options", - "git_push_init_options", + "git_fetch_options_init", + "git_push_options_init", "git_remote_download", "git_remote_upload", "git_remote_update_tips", @@ -810,10 +879,10 @@ "git_remote_default_branch" ], "meta": {}, - "lines": 850 + "lines": 949 }, { - "file": "repository.h", + "file": "git2/repository.h", "functions": [ "git_repository_open", "git_repository_open_from_worktree", @@ -823,11 +892,12 @@ "git_repository_open_bare", "git_repository_free", "git_repository_init", - "git_repository_init_init_options", + "git_repository_init_options_init", "git_repository_init_ext", "git_repository_head", "git_repository_head_for_worktree", "git_repository_head_detached", + "git_repository_head_detached_for_worktree", "git_repository_head_unborn", "git_repository_is_empty", "git_repository_item_path", @@ -845,7 +915,9 @@ "git_repository_message", "git_repository_message_remove", "git_repository_state_cleanup", + "git_repository_fetchhead_foreach_cb", "git_repository_fetchhead_foreach", + "git_repository_mergehead_foreach_cb", "git_repository_mergehead_foreach", "git_repository_hashfile", "git_repository_set_head", @@ -860,10 +932,10 @@ "git_repository_set_ident" ], "meta": {}, - "lines": 862 + "lines": 899 }, { - "file": "reset.h", + "file": "git2/reset.h", "functions": [ "git_reset", "git_reset_from_annotated", @@ -873,17 +945,17 @@ "lines": 107 }, { - "file": "revert.h", + "file": "git2/revert.h", "functions": [ - "git_revert_init_options", + "git_revert_options_init", "git_revert_commit", "git_revert" ], "meta": {}, - "lines": 84 + "lines": 86 }, { - "file": "revparse.h", + "file": "git2/revparse.h", "functions": [ "git_revparse_single", "git_revparse_ext", @@ -893,7 +965,7 @@ "lines": 108 }, { - "file": "revwalk.h", + "file": "git2/revwalk.h", "functions": [ "git_revwalk_new", "git_revwalk_reset", @@ -918,7 +990,7 @@ "lines": 291 }, { - "file": "signature.h", + "file": "git2/signature.h", "functions": [ "git_signature_new", "git_signature_now", @@ -931,10 +1003,11 @@ "lines": 99 }, { - "file": "stash.h", + "file": "git2/stash.h", "functions": [ + "git_stash_save", "git_stash_apply_progress_cb", - "git_stash_apply_init_options", + "git_stash_apply_options_init", "git_stash_apply", "git_stash_cb", "git_stash_foreach", @@ -942,13 +1015,13 @@ "git_stash_pop" ], "meta": {}, - "lines": 253 + "lines": 256 }, { - "file": "status.h", + "file": "git2/status.h", "functions": [ "git_status_cb", - "git_status_init_options", + "git_status_options_init", "git_status_foreach", "git_status_foreach_ext", "git_status_file", @@ -959,10 +1032,10 @@ "git_status_should_ignore" ], "meta": {}, - "lines": 370 + "lines": 383 }, { - "file": "strarray.h", + "file": "git2/strarray.h", "functions": [ "git_strarray_free", "git_strarray_copy" @@ -971,10 +1044,10 @@ "lines": 53 }, { - "file": "submodule.h", + "file": "git2/submodule.h", "functions": [ "git_submodule_cb", - "git_submodule_update_init_options", + "git_submodule_update_options_init", "git_submodule_update", "git_submodule_lookup", "git_submodule_free", @@ -1008,184 +1081,46 @@ "git_submodule_location" ], "meta": {}, - "lines": 632 - }, - { - "file": "sys/commit.h", - "functions": [ - "git_commit_create_from_ids", - "git_commit_create_from_callback" - ], - "meta": {}, - "lines": 76 - }, - { - "file": "sys/config.h", - "functions": [ - "git_config_init_backend", - "git_config_add_backend" - ], - "meta": {}, - "lines": 126 - }, - { - "file": "sys/diff.h", - "functions": [ - "git_diff_print_callback__to_buf", - "git_diff_print_callback__to_file_handle", - "git_diff_get_perfdata", - "git_status_list_get_perfdata" - ], - "meta": {}, - "lines": 90 - }, - { - "file": "sys/filter.h", - "functions": [ - "git_filter_lookup", - "git_filter_list_new", - "git_filter_list_push", - "git_filter_list_length", - "git_filter_source_repo", - "git_filter_source_path", - "git_filter_source_filemode", - "git_filter_source_id", - "git_filter_source_mode", - "git_filter_source_flags", - "git_filter_init_fn", - "git_filter_shutdown_fn", - "git_filter_check_fn", - "git_filter_apply_fn", - "git_filter_cleanup_fn", - "git_filter_init", - "git_filter_register", - "git_filter_unregister" - ], - "meta": {}, - "lines": 328 + "lines": 633 }, { - "file": "sys/hashsig.h", - "functions": [ - "git_hashsig_create", - "git_hashsig_create_fromfile", - "git_hashsig_free", - "git_hashsig_compare" - ], + "file": "git2/sys/filter.h", + "functions": [], "meta": {}, - "lines": 102 + "lines": 95 }, { - "file": "sys/mempack.h", - "functions": [ - "git_mempack_new", - "git_mempack_dump", - "git_mempack_reset" - ], - "meta": {}, - "lines": 82 - }, - { - "file": "sys/merge.h", - "functions": [ - "git_merge_driver_init_fn", - "git_merge_driver_shutdown_fn", - "git_merge_driver_apply_fn" - ], - "meta": {}, - "lines": 135 - }, - { - "file": "sys/odb_backend.h", - "functions": [ - "git_odb_init_backend" - ], - "meta": {}, - "lines": 118 - }, - { - "file": "sys/openssl.h", - "functions": [ - "git_openssl_set_locking" - ], - "meta": {}, - "lines": 34 - }, - { - "file": "sys/refdb_backend.h", - "functions": [ - "git_refdb_init_backend", - "git_refdb_backend_fs", - "git_refdb_set_backend" - ], - "meta": {}, - "lines": 214 - }, - { - "file": "sys/refs.h", - "functions": [ - "git_reference__alloc", - "git_reference__alloc_symbolic" - ], + "file": "git2/sys/hashsig.h", + "functions": [], "meta": {}, "lines": 45 }, { - "file": "sys/repository.h", - "functions": [ - "git_repository_new", - "git_repository__cleanup", - "git_repository_reinit_filesystem", - "git_repository_set_config", - "git_repository_set_odb", - "git_repository_set_refdb", - "git_repository_set_index", - "git_repository_set_bare", - "git_repository_submodule_cache_all", - "git_repository_submodule_cache_clear" - ], + "file": "git2/sys/merge.h", + "functions": [], "meta": {}, - "lines": 165 + "lines": 41 }, { - "file": "sys/stream.h", - "functions": [ - "git_stream_register_tls" - ], + "file": "git2/sys/path.h", + "functions": [], "meta": {}, - "lines": 54 + "lines": 41 }, { - "file": "sys/time.h", - "functions": [ - "git_time_monotonic" - ], + "file": "git2/sys/stream.h", + "functions": [], "meta": {}, - "lines": 27 + "lines": 83 }, { - "file": "sys/transport.h", - "functions": [ - "git_transport_init", - "git_transport_new", - "git_transport_ssh_with_paths", - "git_transport_register", - "git_transport_unregister", - "git_transport_dummy", - "git_transport_local", - "git_transport_smart", - "git_transport_smart_certificate_check", - "git_transport_smart_credentials", - "git_transport_smart_proxy_options", - "git_smart_subtransport_http", - "git_smart_subtransport_git", - "git_smart_subtransport_ssh" - ], + "file": "git2/sys/transport.h", + "functions": [], "meta": {}, - "lines": 389 + "lines": 292 }, { - "file": "tag.h", + "file": "git2/tag.h", "functions": [ "git_tag_lookup", "git_tag_lookup_prefix", @@ -1200,29 +1135,45 @@ "git_tag_message", "git_tag_create", "git_tag_annotation_create", - "git_tag_create_frombuffer", + "git_tag_create_from_buffer", "git_tag_create_lightweight", "git_tag_delete", "git_tag_list", "git_tag_list_match", + "git_tag_foreach_cb", "git_tag_foreach", "git_tag_peel", "git_tag_dup" ], "meta": {}, - "lines": 357 + "lines": 366 }, { - "file": "trace.h", + "file": "git2/trace.h", "functions": [ - "git_trace_callback", + "git_trace_cb", "git_trace_set" ], "meta": {}, "lines": 63 }, { - "file": "transport.h", + "file": "git2/transaction.h", + "functions": [ + "git_transaction_new", + "git_transaction_lock_ref", + "git_transaction_set_target", + "git_transaction_set_symbolic_target", + "git_transaction_set_reflog", + "git_transaction_remove", + "git_transaction_commit", + "git_transaction_free" + ], + "meta": {}, + "lines": 117 + }, + { + "file": "git2/transport.h", "functions": [ "git_transport_cb", "git_cred_has_username", @@ -1238,10 +1189,10 @@ "git_cred_acquire_cb" ], "meta": {}, - "lines": 338 + "lines": 381 }, { - "file": "tree.h", + "file": "git2/tree.h", "functions": [ "git_tree_lookup", "git_tree_lookup_prefix", @@ -1282,40 +1233,41 @@ "lines": 479 }, { - "file": "types.h", + "file": "git2/types.h", "functions": [ - "git_transfer_progress_cb", "git_transport_message_cb", "git_transport_certificate_check_cb" ], "meta": {}, - "lines": 429 + "lines": 412 }, { - "file": "worktree.h", + "file": "git2/worktree.h", "functions": [ "git_worktree_list", "git_worktree_lookup", "git_worktree_open_from_repository", "git_worktree_free", "git_worktree_validate", - "git_worktree_add_init_options", + "git_worktree_add_options_init", "git_worktree_add", "git_worktree_lock", "git_worktree_unlock", "git_worktree_is_locked", - "git_worktree_prune_init_options", + "git_worktree_name", + "git_worktree_path", + "git_worktree_prune_options_init", "git_worktree_is_prunable", "git_worktree_prune" ], "meta": {}, - "lines": 216 + "lines": 251 } ], "functions": { "git_annotated_commit_from_ref": { "type": "function", - "file": "annotated_commit.h", + "file": "git2/annotated_commit.h", "line": 33, "lineto": 36, "args": [ @@ -1343,16 +1295,11 @@ }, "description": "
Creates a git_annotated_commit from the given reference.\n The resulting git_annotated_commit must be freed with\n git_annotated_commit_free.
Creates a git_annotated_commit from the given commit id.\n The resulting git_annotated_commit must be freed with\n 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.
Get the refname that the given git_annotated_commit refers to.
Frees a git_annotated_commit.
Apply a git_diff to a git_tree, and return the resulting image\n as an index.
Apply a git_diff to the given repository, making changes directly\n in the working directory, the index, or both.
Return the value type for a given attribute.
\n", @@ -1536,7 +1593,7 @@ }, "git_attr_get": { "type": "function", - "file": "attr.h", + "file": "git2/attr.h", "line": 145, "lineto": 150, "args": [ @@ -1578,7 +1635,7 @@ }, "git_attr_get_many": { "type": "function", - "file": "attr.h", + "file": "git2/attr.h", "line": 181, "lineto": 187, "args": [ @@ -1625,9 +1682,9 @@ }, "git_attr_foreach": { "type": "function", - "file": "attr.h", - "line": 209, - "lineto": 214, + "file": "git2/attr.h", + "line": 220, + "lineto": 225, "args": [ { "name": "repo", @@ -1647,7 +1704,7 @@ { "name": "callback", "type": "git_attr_foreach_cb", - "comment": "Function to invoke on each attribute name and value. The\n value may be NULL is the attribute is explicitly set to\n UNSPECIFIED using the '!' sign. Callback will be invoked\n only once per attribute name, even if there are multiple\n rules for a given file. The highest priority rule will be\n used. Return a non-zero value from this to stop looping.\n The value will be returned from `git_attr_foreach`." + "comment": "Function to invoke on each attribute name and value.\n See git_attr_foreach_cb." }, { "name": "payload", @@ -1667,9 +1724,9 @@ }, "git_attr_cache_flush": { "type": "function", - "file": "attr.h", - "line": 224, - "lineto": 225, + "file": "git2/attr.h", + "line": 235, + "lineto": 236, "args": [ { "name": "repo", @@ -1689,9 +1746,9 @@ }, "git_attr_add_macro": { "type": "function", - "file": "attr.h", - "line": 237, - "lineto": 240, + "file": "git2/attr.h", + "line": 248, + "lineto": 251, "args": [ { "name": "repo", @@ -1719,21 +1776,21 @@ "comments": "Macros will automatically be loaded from the top level .gitattributes file of the repository (plus the build-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");\n\n",
"group": "attr"
},
- "git_blame_init_options": {
+ "git_blame_options_init": {
"type": "function",
- "file": "blame.h",
- "line": 92,
- "lineto": 94,
+ "file": "git2/blame.h",
+ "line": 103,
+ "lineto": 105,
"args": [
{
"name": "opts",
"type": "git_blame_options *",
- "comment": "The `git_blame_options` struct to initialize"
+ "comment": "The `git_blame_options` struct to initialize."
},
{
"name": "version",
"type": "unsigned int",
- "comment": "Version of struct; pass `GIT_BLAME_OPTIONS_VERSION`"
+ "comment": "The struct version; pass `GIT_BLAME_OPTIONS_VERSION`."
}
],
"argline": "git_blame_options *opts, unsigned int version",
@@ -1742,15 +1799,15 @@
"type": "int",
"comment": " Zero on success; -1 on failure."
},
- "description": "Initializes a git_blame_options with default values. Equivalent to\n creating an instance with GIT_BLAME_OPTIONS_INIT.
Initialize git_blame_options structure
\n", + "comments": "Initializes a git_blame_options with default values. Equivalent to creating an instance with GIT_BLAME_OPTIONS_INIT.
Get the blame for a single file.
\n", "comments": "", @@ -1871,9 +1928,9 @@ }, "git_blame_buffer": { "type": "function", - "file": "blame.h", - "line": 196, - "lineto": 200, + "file": "git2/blame.h", + "line": 213, + "lineto": 217, "args": [ { "name": "out", @@ -1900,7 +1957,7 @@ "sig": "git_blame **::git_blame *::const char *::size_t", "return": { "type": "int", - "comment": " 0 on success, or an error code. (use giterr_last for information\n about the error)" + "comment": " 0 on success, or an error code. (use git_error_last for information\n about the error)" }, "description": "Get blame data for a file that has been modified in memory. The reference\n parameter is a pre-calculated blame for the in-odb history of the file. This\n means that once a file blame is completed (which can be expensive), updating\n the buffer blame is very fast.
Lines that differ between the buffer and the committed version are marked as having a zero OID for their final_commit_id.
\n", @@ -1908,9 +1965,9 @@ }, "git_blame_free": { "type": "function", - "file": "blame.h", - "line": 207, - "lineto": 207, + "file": "git2/blame.h", + "line": 224, + "lineto": 224, "args": [ { "name": "blame", @@ -1935,7 +1992,7 @@ }, "git_blob_lookup": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 33, "lineto": 33, "args": [ @@ -1975,7 +2032,7 @@ }, "git_blob_lookup_prefix": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 47, "lineto": 47, "args": [ @@ -2012,7 +2069,7 @@ }, "git_blob_free": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 60, "lineto": 60, "args": [ @@ -2042,7 +2099,7 @@ }, "git_blob_id": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 68, "lineto": 68, "args": [ @@ -2064,7 +2121,7 @@ }, "git_blob_owner": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 76, "lineto": 76, "args": [ @@ -2086,7 +2143,7 @@ }, "git_blob_rawcontent": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 89, "lineto": 89, "args": [ @@ -2119,7 +2176,7 @@ }, "git_blob_rawsize": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 97, "lineto": 97, "args": [ @@ -2153,7 +2210,7 @@ }, "git_blob_filtered_content": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 122, "lineto": 126, "args": [ @@ -2185,12 +2242,12 @@ "comment": " 0 on success or an error code" }, "description": "Get a buffer with the filtered content of a blob.
\n", - "comments": "This applies filters as if the blob was being checked out to the working directory under the specified filename. This may apply CRLF filtering or other types of changes depending on the file attributes set for the blob and the content detected in it.
\n\nThe output is written into a git_buf which the caller must free when done (via git_buf_free).
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.
This applies filters as if the blob was being checked out to the working directory under the specified filename. This may apply CRLF filtering or other types of changes depending on the file attributes set for the blob and the content detected in it.
\n\nThe output is written into a git_buf which the caller must free 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.
Create a stream to write a new blob into the object db
\n", - "comments": "This function may need to buffer the data on disk and will in general not be the right choice if you know the size of the data to write. If you have data in memory, use git_blob_create_frombuffer(). 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_fromstream_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.
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.
The stream will be closed and freed.
\n", "group": "blob" }, - "git_blob_create_frombuffer": { + "git_blob_create_from_buffer": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 205, "lineto": 206, "args": [ @@ -2350,7 +2407,7 @@ }, "git_blob_is_binary": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 219, "lineto": 219, "args": [ @@ -2372,7 +2429,7 @@ }, "git_blob_dup": { "type": "function", - "file": "blob.h", + "file": "git2/blob.h", "line": 228, "lineto": 228, "args": [ @@ -2399,7 +2456,7 @@ }, "git_branch_create": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 50, "lineto": 55, "args": [ @@ -2441,7 +2498,7 @@ }, "git_branch_create_from_annotated": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 68, "lineto": 73, "args": [ @@ -2483,7 +2540,7 @@ }, "git_branch_delete": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 85, "lineto": 85, "args": [ @@ -2505,7 +2562,7 @@ }, "git_branch_iterator_new": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 101, "lineto": 104, "args": [ @@ -2537,7 +2594,7 @@ }, "git_branch_next": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 114, "lineto": 114, "args": [ @@ -2569,7 +2626,7 @@ }, "git_branch_iterator_free": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 121, "lineto": 121, "args": [ @@ -2591,7 +2648,7 @@ }, "git_branch_move": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 138, "lineto": 142, "args": [ @@ -2628,7 +2685,7 @@ }, "git_branch_lookup": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 165, "lineto": 169, "args": [ @@ -2665,7 +2722,7 @@ }, "git_branch_name": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 186, "lineto": 188, "args": [ @@ -2691,13 +2748,13 @@ "group": "branch", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_branch_name-6" + "ex/HEAD/merge.html#git_branch_name-4" ] } }, "git_branch_upstream": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 202, "lineto": 204, "args": [ @@ -2724,7 +2781,7 @@ }, "git_branch_set_upstream": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 216, "lineto": 216, "args": [ @@ -2749,9 +2806,41 @@ "comments": "", "group": "branch" }, + "git_branch_upstream_name": { + "type": "function", + "file": "git2/branch.h", + "line": 232, + "lineto": 235, + "args": [ + { + "name": "out", + "type": "git_buf *", + "comment": "Pointer to the user-allocated git_buf which will be\n filled with the name of the reference." + }, + { + "name": "repo", + "type": "git_repository *", + "comment": "the repository where the branches live" + }, + { + "name": "refname", + "type": "const char *", + "comment": "reference name of the local branch." + } + ], + "argline": "git_buf *out, git_repository *repo, const char *refname", + "sig": "git_buf *::git_repository *::const char *", + "return": { + "type": "int", + "comment": " 0, GIT_ENOTFOUND when no remote tracking reference exists,\n otherwise an error code." + }, + "description": "Return the name of the reference supporting the remote tracking branch,\n given the name of a local branch reference.
\n", + "comments": "", + "group": "branch" + }, "git_branch_is_head": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 245, "lineto": 246, "args": [ @@ -2773,7 +2862,7 @@ }, "git_branch_is_checked_out": { "type": "function", - "file": "branch.h", + "file": "git2/branch.h", "line": 257, "lineto": 258, "args": [ @@ -2793,11 +2882,75 @@ "comments": "", "group": "branch" }, - "git_buf_free": { + "git_branch_remote_name": { "type": "function", - "file": "buffer.h", - "line": 72, - "lineto": 72, + "file": "git2/branch.h", + "line": 274, + "lineto": 277, + "args": [ + { + "name": "out", + "type": "git_buf *", + "comment": "Pointer to the user-allocated git_buf which will be filled with the name of the remote." + }, + { + "name": "repo", + "type": "git_repository *", + "comment": "The repository where the branch lives." + }, + { + "name": "canonical_branch_name", + "type": "const char *", + "comment": "name of the remote tracking branch." + } + ], + "argline": "git_buf *out, git_repository *repo, const char *canonical_branch_name", + "sig": "git_buf *::git_repository *::const char *", + "return": { + "type": "int", + "comment": " 0, GIT_ENOTFOUND\n when no remote matching remote was found,\n GIT_EAMBIGUOUS when the branch maps to several remotes,\n otherwise an error code." + }, + "description": "Return the name of remote that the remote tracking branch belongs to.
\n", + "comments": "", + "group": "branch" + }, + "git_branch_upstream_remote": { + "type": "function", + "file": "git2/branch.h", + "line": 288, + "lineto": 288, + "args": [ + { + "name": "buf", + "type": "git_buf *", + "comment": "the buffer into which to write the name" + }, + { + "name": "repo", + "type": "git_repository *", + "comment": "the repository in which to look" + }, + { + "name": "refname", + "type": "const char *", + "comment": "the full name of the branch" + } + ], + "argline": "git_buf *buf, git_repository *repo, const char *refname", + "sig": "git_buf *::git_repository *::const char *", + "return": { + "type": "int", + "comment": " 0 or an error code" + }, + "description": "Retrieve the name of the upstream remote of a local branch
\n", + "comments": "", + "group": "branch" + }, + "git_buf_dispose": { + "type": "function", + "file": "git2/buffer.h", + "line": 78, + "lineto": 78, "args": [ { "name": "buffer", @@ -2816,21 +2969,18 @@ "group": "buf", "examples": { "diff.c": [ - "ex/HEAD/diff.html#git_buf_free-1" - ], - "remote.c": [ - "ex/HEAD/remote.html#git_buf_free-1" + "ex/HEAD/diff.html#git_buf_dispose-1" ], "tag.c": [ - "ex/HEAD/tag.html#git_buf_free-1" + "ex/HEAD/tag.html#git_buf_dispose-1" ] } }, "git_buf_grow": { "type": "function", - "file": "buffer.h", - "line": 95, - "lineto": 95, + "file": "git2/buffer.h", + "line": 101, + "lineto": 101, "args": [ { "name": "buffer", @@ -2855,9 +3005,9 @@ }, "git_buf_set": { "type": "function", - "file": "buffer.h", - "line": 105, - "lineto": 106, + "file": "git2/buffer.h", + "line": 111, + "lineto": 112, "args": [ { "name": "buffer", @@ -2887,9 +3037,9 @@ }, "git_buf_is_binary": { "type": "function", - "file": "buffer.h", - "line": 114, - "lineto": 114, + "file": "git2/buffer.h", + "line": 120, + "lineto": 120, "args": [ { "name": "buf", @@ -2909,9 +3059,9 @@ }, "git_buf_contains_nul": { "type": "function", - "file": "buffer.h", - "line": 122, - "lineto": 122, + "file": "git2/buffer.h", + "line": 128, + "lineto": 128, "args": [ { "name": "buf", @@ -2929,21 +3079,21 @@ "comments": "", "group": "buf" }, - "git_checkout_init_options": { + "git_checkout_options_init": { "type": "function", - "file": "checkout.h", - "line": 308, - "lineto": 310, + "file": "git2/checkout.h", + "line": 341, + "lineto": 343, "args": [ { "name": "opts", "type": "git_checkout_options *", - "comment": "the `git_checkout_options` struct to initialize." + "comment": "The `git_checkout_options` struct to initialize." }, { "name": "version", "type": "unsigned int", - "comment": "Version of struct; pass `GIT_CHECKOUT_OPTIONS_VERSION`" + "comment": "The struct version; pass `GIT_CHECKOUT_OPTIONS_VERSION`." } ], "argline": "git_checkout_options *opts, unsigned int version", @@ -2952,15 +3102,15 @@ "type": "int", "comment": " Zero on success; -1 on failure." }, - "description": "Initializes a git_checkout_options with default values. Equivalent to\n creating an instance with GIT_CHECKOUT_OPTIONS_INIT.
Initialize git_checkout_options structure
\n", + "comments": "Initializes a git_checkout_options with default values. Equivalent to creating an instance with GIT_CHECKOUT_OPTIONS_INIT.
Updates files in the index and the working tree to match the content of\n the commit pointed at by HEAD.
\n", "comments": "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.
Updates files in the working tree to match the content of the index.
\n", "comments": "", @@ -3017,9 +3167,9 @@ }, "git_checkout_tree": { "type": "function", - "file": "checkout.h", - "line": 358, - "lineto": 361, + "file": "git2/checkout.h", + "line": 391, + "lineto": 394, "args": [ { "name": "repo", @@ -3041,32 +3191,35 @@ "sig": "git_repository *::const git_object *::const git_checkout_options *", "return": { "type": "int", - "comment": " 0 on success, non-zero return value from `notify_cb`, or error\n code \n<\n 0 (use giterr_last for error details)" + "comment": " 0 on success, non-zero return value from `notify_cb`, or error\n code \n<\n 0 (use git_error_last for error details)" }, "description": "Updates files in the index and working tree to match the content of the\n tree pointed at by the treeish.
\n", "comments": "", "group": "checkout", "examples": { + "checkout.c": [ + "ex/HEAD/checkout.html#git_checkout_tree-5" + ], "merge.c": [ - "ex/HEAD/merge.html#git_checkout_tree-7" + "ex/HEAD/merge.html#git_checkout_tree-5" ] } }, - "git_cherrypick_init_options": { + "git_cherrypick_options_init": { "type": "function", - "file": "cherrypick.h", - "line": 47, - "lineto": 49, + "file": "git2/cherrypick.h", + "line": 49, + "lineto": 51, "args": [ { "name": "opts", "type": "git_cherrypick_options *", - "comment": "the `git_cherrypick_options` struct to initialize" + "comment": "The `git_cherrypick_options` struct to initialize." }, { "name": "version", "type": "unsigned int", - "comment": "Version of struct; pass `GIT_CHERRYPICK_OPTIONS_VERSION`" + "comment": "The struct version; pass `GIT_CHERRYPICK_OPTIONS_VERSION`." } ], "argline": "git_cherrypick_options *opts, unsigned int version", @@ -3075,15 +3228,15 @@ "type": "int", "comment": " Zero on success; -1 on failure." }, - "description": "Initializes a git_cherrypick_options with default values. Equivalent to\n creating an instance with GIT_CHERRYPICK_OPTIONS_INIT.
Initialize git_cherrypick_options structure
\n", + "comments": "Initializes a git_cherrypick_options with default values. Equivalent to creating an instance with GIT_CHERRYPICK_OPTIONS_INIT.
Initializes a git_clone_options with default values. Equivalent to\n creating an instance with GIT_CLONE_OPTIONS_INIT.
Initialize git_clone_options structure
\n", + "comments": "Initializes a git_clone_options with default values. Equivalent to creating an instance with GIT_CLONE_OPTIONS_INIT.
Clone a remote repository.
\n", "comments": "By default this creates its repository and initial remote to match git's defaults. You can use the options in the callback to customize how these are created.
\n", - "group": "clone", - "examples": { - "network/clone.c": [ - "ex/HEAD/network/clone.html#git_clone-1" - ] - } + "group": "clone" }, "git_commit_lookup": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 36, "lineto": 37, "args": [ @@ -3259,6 +3407,9 @@ "comments": "The returned object should be released with git_commit_free when no longer needed.
This is a wrapper around git_object_free()
\n\nIMPORTANT: It is necessary to call this method when you stop using a commit. Failure to do so will cause a memory leak.
\n", "group": "commit", "examples": { + "checkout.c": [ + "ex/HEAD/checkout.html#git_commit_free-7" + ], "general.c": [ "ex/HEAD/general.html#git_commit_free-9", "ex/HEAD/general.html#git_commit_free-10", @@ -3348,7 +3502,7 @@ }, "git_commit_id": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 78, "lineto": 78, "args": [ @@ -3378,7 +3532,7 @@ }, "git_commit_owner": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 86, "lineto": 86, "args": [ @@ -3406,7 +3560,7 @@ }, "git_commit_message_encoding": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 98, "lineto": 98, "args": [ @@ -3428,7 +3582,7 @@ }, "git_commit_message": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 109, "lineto": 109, "args": [ @@ -3469,7 +3623,7 @@ }, "git_commit_message_raw": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 117, "lineto": 117, "args": [ @@ -3491,7 +3645,7 @@ }, "git_commit_summary": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 128, "lineto": 128, "args": [ @@ -3513,7 +3667,7 @@ }, "git_commit_body": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 141, "lineto": 141, "args": [ @@ -3535,7 +3689,7 @@ }, "git_commit_time": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 149, "lineto": 149, "args": [ @@ -3563,7 +3717,7 @@ }, "git_commit_time_offset": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 157, "lineto": 157, "args": [ @@ -3585,7 +3739,7 @@ }, "git_commit_committer": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 165, "lineto": 165, "args": [ @@ -3618,7 +3772,7 @@ }, "git_commit_author": { "type": "function", - "file": "commit.h", + "file": "git2/commit.h", "line": 173, "lineto": 173, "args": [ @@ -3651,11 +3805,75 @@ ] } }, + "git_commit_committer_with_mailmap": { + "type": "function", + "file": "git2/commit.h", + "line": 186, + "lineto": 187, + "args": [ + { + "name": "out", + "type": "git_signature **", + "comment": "a pointer to store the resolved signature." + }, + { + "name": "commit", + "type": "const git_commit *", + "comment": "a previously loaded commit." + }, + { + "name": "mailmap", + "type": "const git_mailmap *", + "comment": "the mailmap to resolve with. (may be NULL)" + } + ], + "argline": "git_signature **out, const git_commit *commit, const git_mailmap *mailmap", + "sig": "git_signature **::const git_commit *::const git_mailmap *", + "return": { + "type": "int", + "comment": " 0 or an error code" + }, + "description": "Get the committer of a commit, using the mailmap to map names and email\n addresses to canonical real names and email addresses.
\n", + "comments": "Call git_signature_free to free the signature.
Get the author of a commit, using the mailmap to map names and email\n addresses to canonical real names and email addresses.
\n", + "comments": "Call git_signature_free to free the signature.
Extract the signature from a commit
\n", - "comments": "If the id is not for a commit, the error class will be GITERR_INVALID. If the commit does not have a signature, the error class will be GITERR_OBJECT.
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.
Set or query a library global option
\n", - "comments": "Available options:
\n\n* opts(GIT_OPT_GET_MWINDOW_SIZE, size_t *):\n\n > Get the maximum mmap window size\n\n* opts(GIT_OPT_SET_MWINDOW_SIZE, size_t):\n\n > Set the maximum mmap window size\n\n* opts(GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, size_t *):\n\n > Get the maximum memory that will be mapped in total by the library\n\n* opts(GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, size_t):\n\n >Set the maximum amount of memory that can be mapped at any time by the library\n\n* opts(GIT_OPT_GET_SEARCH_PATH, int level, git_buf *buf)\n\n > Get the search path for a given level of config data. "level" must > be one of `GIT_CONFIG_LEVEL_SYSTEM`, `GIT_CONFIG_LEVEL_GLOBAL`, > `GIT_CONFIG_LEVEL_XDG`, or `GIT_CONFIG_LEVEL_PROGRAMDATA`. > The search path is written to the `out` buffer.\n\n* opts(GIT_OPT_SET_SEARCH_PATH, int level, const char *path)\n\n > Set the search path for a level of config data. The search path > applied to shared attributes and ignore files, too. > > - `path` lists directories delimited by GIT_PATH_LIST_SEPARATOR. > Pass NULL to reset to the default (generally based on environment > variables). Use magic path `$PATH` to include the old value > of the path (if you want to prepend or append, for instance). > > - `level` must be `GIT_CONFIG_LEVEL_SYSTEM`, > `GIT_CONFIG_LEVEL_GLOBAL`, `GIT_CONFIG_LEVEL_XDG`, or > `GIT_CONFIG_LEVEL_PROGRAMDATA`.\n\n* opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_otype type, size_t size)\n\n > Set the maximum data size for the given type of object to be > considered eligible for caching in memory. Setting to value to > zero means that that type of object will not be cached. > Defaults to 0 for GIT_OBJ_BLOB (i.e. won't cache blobs) and 4k > for GIT_OBJ_COMMIT, GIT_OBJ_TREE, and GIT_OBJ_TAG.\n\n* opts(GIT_OPT_SET_CACHE_MAX_SIZE, ssize_t max_storage_bytes)\n\n > Set the maximum total data size that will be cached in memory > across all repositories before libgit2 starts evicting objects > from the cache. This is a soft limit, in that the library might > briefly exceed it, but will start aggressively evicting objects > from cache when that happens. The default cache size is 256MB.\n\n* opts(GIT_OPT_ENABLE_CACHING, int enabled)\n\n > Enable or disable caching completely. > > Because caches are repository-specific, disabling the cache > cannot immediately clear all cached objects, but each cache will > be cleared on the next attempt to update anything in it.\n\n* opts(GIT_OPT_GET_CACHED_MEMORY, ssize_t *current, ssize_t *allowed)\n\n > Get the current bytes in cache and the maximum that would be > allowed in the cache.\n\n* opts(GIT_OPT_GET_TEMPLATE_PATH, git_buf *out)\n\n > Get the default template path. > The path is written to the `out` buffer.\n\n* opts(GIT_OPT_SET_TEMPLATE_PATH, const char *path)\n\n > Set the default template path. > > - `path` directory of template.\n\n* opts(GIT_OPT_SET_SSL_CERT_LOCATIONS, const char *file, const char *path)\n\n > Set the SSL certificate-authority locations. > > - `file` is the location of a file containing several > certificates concatenated together. > - `path` is the location of a directory holding several > certificates, one per file. > > Either parameter may be `NULL`, but not both.\n\n* opts(GIT_OPT_SET_USER_AGENT, const char *user_agent)\n\n > Set the value of the User-Agent header. This value will be > appended to "git/1.0", for compatibility with other git clients. > > - `user_agent` is the value that will be delivered as the > User-Agent header on HTTP requests.\n\n* opts(GIT_OPT_SET_WINDOWS_SHAREMODE, unsigned long value)\n\n > Set the share mode used when opening files on Windows. > For more information, see the documentation for CreateFile. > The default is: FILE_SHARE_READ | FILE_SHARE_WRITE. This is > ignored and unused on non-Windows platforms.\n\n* opts(GIT_OPT_GET_WINDOWS_SHAREMODE, unsigned long *value)\n\n > Get the share mode used when opening files on Windows.\n\n* opts(GIT_OPT_ENABLE_STRICT_OBJECT_CREATION, int enabled)\n\n > Enable strict input validation when creating new objects > to ensure that all inputs to the new objects are valid. For > example, when this is enabled, the parent(s) and tree inputs > will be validated when creating a new commit. This defaults > to enabled.\n\n* opts(GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION, int enabled)\n\n > Validate the target of a symbolic ref when creating it. For > example, `foobar` is not a valid ref, therefore `foobar` is > not a valid target for a symbolic ref by default, whereas > `refs/heads/foobar` is. Disabling this bypasses validation > so that an arbitrary strings such as `foobar` can be used > for a symbolic ref target. This defaults to enabled.\n\n* opts(GIT_OPT_SET_SSL_CIPHERS, const char *ciphers)\n\n > Set the SSL ciphers use for HTTPS connections. > > - `ciphers` is the list of ciphers that are eanbled.\n\n* opts(GIT_OPT_ENABLE_OFS_DELTA, int enabled)\n\n > Enable or disable the use of "offset deltas" when creating packfiles, > and the negotiation of them when talking to a remote server. > Offset deltas store a delta base location as an offset into the > packfile from the current location, which provides a shorter encoding > and thus smaller resultant packfiles. > Packfiles containing offset deltas can still be read. > This defaults to enabled.\n\n* opts(GIT_OPT_ENABLE_FSYNC_GITDIR, int enabled)\n\n > Enable synchronized writes of files in the gitdir using `fsync` > (or the platform equivalent) to ensure that new object data > is written to permanent storage, not simply cached. This > defaults to disabled.\n\n opts(GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, int enabled)\n\n > Enable strict verification of object hashsums when reading > objects from disk. This may impact performance due to an > additional checksum calculation on each object. This defaults > to enabled.\n\n",
+ "comments": "Available options:
\n\n* opts(GIT_OPT_GET_MWINDOW_SIZE, size_t *):\n\n > Get the maximum mmap window size\n\n* opts(GIT_OPT_SET_MWINDOW_SIZE, size_t):\n\n > Set the maximum mmap window size\n\n* opts(GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, size_t *):\n\n > Get the maximum memory that will be mapped in total by the library\n\n* opts(GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, size_t):\n\n >Set the maximum amount of memory that can be mapped at any time by the library\n\n* opts(GIT_OPT_GET_SEARCH_PATH, int level, git_buf *buf)\n\n > Get the search path for a given level of config data. "level" must > be one of `GIT_CONFIG_LEVEL_SYSTEM`, `GIT_CONFIG_LEVEL_GLOBAL`, > `GIT_CONFIG_LEVEL_XDG`, or `GIT_CONFIG_LEVEL_PROGRAMDATA`. > The search path is written to the `out` buffer.\n\n* opts(GIT_OPT_SET_SEARCH_PATH, int level, const char *path)\n\n > Set the search path for a level of config data. The search path > applied to shared attributes and ignore files, too. > > - `path` lists directories delimited by GIT_PATH_LIST_SEPARATOR. > Pass NULL to reset to the default (generally based on environment > variables). Use magic path `$PATH` to include the old value > of the path (if you want to prepend or append, for instance). > > - `level` must be `GIT_CONFIG_LEVEL_SYSTEM`, > `GIT_CONFIG_LEVEL_GLOBAL`, `GIT_CONFIG_LEVEL_XDG`, or > `GIT_CONFIG_LEVEL_PROGRAMDATA`.\n\n* opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_object_t type, size_t size)\n\n > Set the maximum data size for the given type of object to be > considered eligible for caching in memory. Setting to value to > zero means that that type of object will not be cached. > Defaults to 0 for GIT_OBJECT_BLOB (i.e. won't cache blobs) and 4k > for GIT_OBJECT_COMMIT, GIT_OBJECT_TREE, and GIT_OBJECT_TAG.\n\n* opts(GIT_OPT_SET_CACHE_MAX_SIZE, ssize_t max_storage_bytes)\n\n > Set the maximum total data size that will be cached in memory > across all repositories before libgit2 starts evicting objects > from the cache. This is a soft limit, in that the library might > briefly exceed it, but will start aggressively evicting objects > from cache when that happens. The default cache size is 256MB.\n\n* opts(GIT_OPT_ENABLE_CACHING, int enabled)\n\n > Enable or disable caching completely. > > Because caches are repository-specific, disabling the cache > cannot immediately clear all cached objects, but each cache will > be cleared on the next attempt to update anything in it.\n\n* opts(GIT_OPT_GET_CACHED_MEMORY, ssize_t *current, ssize_t *allowed)\n\n > Get the current bytes in cache and the maximum that would be > allowed in the cache.\n\n* opts(GIT_OPT_GET_TEMPLATE_PATH, git_buf *out)\n\n > Get the default template path. > The path is written to the `out` buffer.\n\n* opts(GIT_OPT_SET_TEMPLATE_PATH, const char *path)\n\n > Set the default template path. > > - `path` directory of template.\n\n* opts(GIT_OPT_SET_SSL_CERT_LOCATIONS, const char *file, const char *path)\n\n > Set the SSL certificate-authority locations. > > - `file` is the location of a file containing several > certificates concatenated together. > - `path` is the location of a directory holding several > certificates, one per file. > > Either parameter may be `NULL`, but not both.\n\n* opts(GIT_OPT_SET_USER_AGENT, const char *user_agent)\n\n > Set the value of the User-Agent header. This value will be > appended to "git/1.0", for compatibility with other git clients. > > - `user_agent` is the value that will be delivered as the > User-Agent header on HTTP requests.\n\n* opts(GIT_OPT_SET_WINDOWS_SHAREMODE, unsigned long value)\n\n > Set the share mode used when opening files on Windows. > For more information, see the documentation for CreateFile. > The default is: FILE_SHARE_READ | FILE_SHARE_WRITE. This is > ignored and unused on non-Windows platforms.\n\n* opts(GIT_OPT_GET_WINDOWS_SHAREMODE, unsigned long *value)\n\n > Get the share mode used when opening files on Windows.\n\n* opts(GIT_OPT_ENABLE_STRICT_OBJECT_CREATION, int enabled)\n\n > Enable strict input validation when creating new objects > to ensure that all inputs to the new objects are valid. For > example, when this is enabled, the parent(s) and tree inputs > will be validated when creating a new commit. This defaults > to enabled.\n\n* opts(GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION, int enabled)\n\n > Validate the target of a symbolic ref when creating it. For > example, `foobar` is not a valid ref, therefore `foobar` is > not a valid target for a symbolic ref by default, whereas > `refs/heads/foobar` is. Disabling this bypasses validation > so that an arbitrary strings such as `foobar` can be used > for a symbolic ref target. This defaults to enabled.\n\n* opts(GIT_OPT_SET_SSL_CIPHERS, const char *ciphers)\n\n > Set the SSL ciphers use for HTTPS connections. > > - `ciphers` is the list of ciphers that are eanbled.\n\n* opts(GIT_OPT_ENABLE_OFS_DELTA, int enabled)\n\n > Enable or disable the use of "offset deltas" when creating packfiles, > and the negotiation of them when talking to a remote server. > Offset deltas store a delta base location as an offset into the > packfile from the current location, which provides a shorter encoding > and thus smaller resultant packfiles. > Packfiles containing offset deltas can still be read. > This defaults to enabled.\n\n* opts(GIT_OPT_ENABLE_FSYNC_GITDIR, int enabled)\n\n > Enable synchronized writes of files in the gitdir using `fsync` > (or the platform equivalent) to ensure that new object data > is written to permanent storage, not simply cached. This > defaults to disabled.\n\n opts(GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, int enabled)\n\n > Enable strict verification of object hashsums when reading > objects from disk. This may impact performance due to an > additional checksum calculation on each object. This defaults > to enabled.\n\n opts(GIT_OPT_SET_ALLOCATOR, git_allocator *allocator)\n\n > Set the memory allocator to a different memory allocator. This > allocator will then be used to make all memory allocations for > libgit2 operations. If the given `allocator` is NULL, then the > system default will be restored.\n\n opts(GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, int enabled)\n\n > Ensure that there are no unsaved changes in the index before > beginning any operation that reloads the index from disk (eg, > checkout). If there are unsaved changes, the instruction will > fail. (Using the FORCE flag to checkout will still overwrite > these changes.)\n\n opts(GIT_OPT_GET_PACK_MAX_OBJECTS, size_t *out)\n\n > Get the maximum number of objects libgit2 will allow in a pack > file when downloading a pack file from a remote. This can be > used to limit maximum memory usage when fetching from an untrusted > remote.\n\n opts(GIT_OPT_SET_PACK_MAX_OBJECTS, size_t objects)\n\n > Set the maximum number of objects libgit2 will allow in a pack > file when downloading a pack file from a remote.\n\n opts(GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS, int enabled) > This will cause .keep file existence checks to be skipped when > accessing packfiles, which can help performance with remote filesystems.\n\n",
"group": "libgit2"
},
"git_config_entry_free": {
"type": "function",
- "file": "config.h",
- "line": 75,
- "lineto": 75,
+ "file": "git2/config.h",
+ "line": 76,
+ "lineto": 76,
"args": [
{
"name": "",
@@ -4376,9 +4594,9 @@
},
"git_config_find_global": {
"type": "function",
- "file": "config.h",
- "line": 116,
- "lineto": 116,
+ "file": "git2/config.h",
+ "line": 127,
+ "lineto": 127,
"args": [
{
"name": "out",
@@ -4398,9 +4616,9 @@
},
"git_config_find_xdg": {
"type": "function",
- "file": "config.h",
- "line": 133,
- "lineto": 133,
+ "file": "git2/config.h",
+ "line": 144,
+ "lineto": 144,
"args": [
{
"name": "out",
@@ -4420,9 +4638,9 @@
},
"git_config_find_system": {
"type": "function",
- "file": "config.h",
- "line": 145,
- "lineto": 145,
+ "file": "git2/config.h",
+ "line": 156,
+ "lineto": 156,
"args": [
{
"name": "out",
@@ -4442,9 +4660,9 @@
},
"git_config_find_programdata": {
"type": "function",
- "file": "config.h",
- "line": 156,
- "lineto": 156,
+ "file": "git2/config.h",
+ "line": 167,
+ "lineto": 167,
"args": [
{
"name": "out",
@@ -4464,9 +4682,9 @@
},
"git_config_open_default": {
"type": "function",
- "file": "config.h",
- "line": 168,
- "lineto": 168,
+ "file": "git2/config.h",
+ "line": 179,
+ "lineto": 179,
"args": [
{
"name": "out",
@@ -4486,9 +4704,9 @@
},
"git_config_new": {
"type": "function",
- "file": "config.h",
- "line": 179,
- "lineto": 179,
+ "file": "git2/config.h",
+ "line": 190,
+ "lineto": 190,
"args": [
{
"name": "out",
@@ -4508,9 +4726,9 @@
},
"git_config_add_file_ondisk": {
"type": "function",
- "file": "config.h",
- "line": 208,
- "lineto": 213,
+ "file": "git2/config.h",
+ "line": 219,
+ "lineto": 224,
"args": [
{
"name": "cfg",
@@ -4550,9 +4768,9 @@
},
"git_config_open_ondisk": {
"type": "function",
- "file": "config.h",
- "line": 227,
- "lineto": 227,
+ "file": "git2/config.h",
+ "line": 238,
+ "lineto": 238,
"args": [
{
"name": "out",
@@ -4582,9 +4800,9 @@
},
"git_config_open_level": {
"type": "function",
- "file": "config.h",
- "line": 245,
- "lineto": 248,
+ "file": "git2/config.h",
+ "line": 256,
+ "lineto": 259,
"args": [
{
"name": "out",
@@ -4614,9 +4832,9 @@
},
"git_config_open_global": {
"type": "function",
- "file": "config.h",
- "line": 262,
- "lineto": 262,
+ "file": "git2/config.h",
+ "line": 273,
+ "lineto": 273,
"args": [
{
"name": "out",
@@ -4636,14 +4854,14 @@
"comment": null
},
"description": "Open the global/XDG configuration file according to git's rules
\n", - "comments": "Git allows you to store your global configuration at $HOME/.config or $XDG_CONFIG_HOME/git/config. For backwards compatability, 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.
Git allows you to store your global configuration at $HOME/.gitconfig or $XDG_CONFIG_HOME/git/config. For backwards compatability, 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.
Perform an operation on each config variable matching a regular expression.
\n", - "comments": "This behaviors 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.
\n\nThe regular expression is applied case-sensitively on the normalized form of the variable name: the case-insensitive parts are lower-case.
\n", + "comments": "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.
\n\nThe regular expression is applied case-sensitively on the normalized form of the variable name: the case-insensitive parts are lower-case.
\n", "group": "config" }, "git_config_get_mapped": { "type": "function", - "file": "config.h", - "line": 640, - "lineto": 645, + "file": "git2/config.h", + "line": 651, + "lineto": 656, "args": [ { "name": "out", @@ -5433,8 +5651,8 @@ }, { "name": "maps", - "type": "const git_cvar_map *", - "comment": "array of `git_cvar_map` objects specifying the possible mappings" + "type": "const git_configmap *", + "comment": "array of `git_configmap` objects specifying the possible mappings" }, { "name": "map_n", @@ -5442,21 +5660,21 @@ "comment": "number of mapping objects in `maps`" } ], - "argline": "int *out, const git_config *cfg, const char *name, const git_cvar_map *maps, size_t map_n", - "sig": "int *::const git_config *::const char *::const git_cvar_map *::size_t", + "argline": "int *out, const git_config *cfg, const char *name, const git_configmap *maps, size_t map_n", + "sig": "int *::const git_config *::const char *::const git_configmap *::size_t", "return": { "type": "int", "comment": " 0 on success, error code otherwise" }, "description": "Query the value of a config variable and return it mapped to\n an integer constant.
\n", - "comments": "This is a helper method to easily map different possible values to a variable to integer constants that easily identify them.
\n\nA mapping array looks as follows:
\n\ngit_cvar_map 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}};\n\n\nOn 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.
This is a helper method to easily map different possible values to a variable to integer constants that easily identify them.
\n\nA mapping array looks as follows:
\n\ngit_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}};\n\n\nOn 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.
Perform an operation on each config variable in given config backend\n matching a regular expression.
\n", - "comments": "This behaviors like git_config_foreach_match except instead of all config entries it just enumerates through the given backend entry.
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.
\n", + "description": "Perform an operation on each config variable in a given config backend,\n matching a regular expression.
\n", + "comments": "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.
\n", "group": "config" }, "git_config_lock": { "type": "function", - "file": "config.h", - "line": 751, - "lineto": 751, + "file": "git2/config.h", + "line": 762, + "lineto": 762, "args": [ { "name": "tx", @@ -5663,7 +5881,7 @@ }, "git_cred_userpass": { "type": "function", - "file": "cred_helpers.h", + "file": "git2/cred_helpers.h", "line": 43, "lineto": 48, "args": [ @@ -5703,11 +5921,253 @@ "comments": "", "group": "cred" }, + "git_blob_create_fromworkdir": { + "type": "function", + "file": "git2/deprecated.h", + "line": 81, + "lineto": 81, + "args": [ + { + "name": "id", + "type": "git_oid *", + "comment": null + }, + { + "name": "repo", + "type": "git_repository *", + "comment": null + }, + { + "name": "relative_path", + "type": "const char *", + "comment": null + } + ], + "argline": "git_oid *id, git_repository *repo, const char *relative_path", + "sig": "git_oid *::git_repository *::const char *", + "return": { + "type": "int", + "comment": null + }, + "description": "", + "comments": "These functions are retained for backward compatibility. The newer versions of these functions should be preferred in all new code.
\n\nThere is no plan to remove these backward compatibility values at this time.
\n\n@{
\n", + "group": "blob" + }, + "git_buf_free": { + "type": "function", + "file": "git2/deprecated.h", + "line": 116, + "lineto": 116, + "args": [ + { + "name": "buffer", + "type": "git_buf *", + "comment": null + } + ], + "argline": "git_buf *buffer", + "sig": "git_buf *", + "return": { + "type": "void", + "comment": null + }, + "description": "Free the memory referred to by the git_buf. This is an alias of\n 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.
\n", + "group": "buf" + }, + "giterr_last": { + "type": "function", + "file": "git2/deprecated.h", + "line": 190, + "lineto": 190, + "args": [], + "argline": "", + "sig": "", + "return": { + "type": "const git_error *", + "comment": null + }, + "description": "Return the last git_error object that was generated for the\n current thread. This is an alias of git_error_last and is\n preserved for backward compatibility.
This function is deprecated, but there is no plan to remove this function at this time.
\n", + "group": "giterr" + }, + "giterr_clear": { + "type": "function", + "file": "git2/deprecated.h", + "line": 202, + "lineto": 202, + "args": [], + "argline": "", + "sig": "", + "return": { + "type": "void", + "comment": null + }, + "description": "Clear the last error. This is an alias of git_error_last and is\n preserved for backward compatibility.
This function is deprecated, but there is no plan to remove this function at this time.
\n", + "group": "giterr" + }, + "giterr_set_str": { + "type": "function", + "file": "git2/deprecated.h", + "line": 214, + "lineto": 214, + "args": [ + { + "name": "error_class", + "type": "int", + "comment": null + }, + { + "name": "string", + "type": "const char *", + "comment": null + } + ], + "argline": "int error_class, const char *string", + "sig": "int::const char *", + "return": { + "type": "void", + "comment": null + }, + "description": "Sets the error message to the given string. This is an alias of\n 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.
\n", + "group": "giterr" + }, + "giterr_set_oom": { + "type": "function", + "file": "git2/deprecated.h", + "line": 226, + "lineto": 226, + "args": [], + "argline": "", + "sig": "", + "return": { + "type": "void", + "comment": null + }, + "description": "Indicates that an out-of-memory situation occured. This is an alias\n 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.
\n", + "group": "giterr" + }, + "git_oid_iszero": { + "type": "function", + "file": "git2/deprecated.h", + "line": 378, + "lineto": 378, + "args": [ + { + "name": "id", + "type": "const git_oid *", + "comment": null + } + ], + "argline": "const git_oid *id", + "sig": "const git_oid *", + "return": { + "type": "int", + "comment": null + }, + "description": "", + "comments": "These types are retained for backward compatibility. The newer versions of these values should be preferred in all new code.
\n\nThere is no plan to remove these backward compatibility values at this time.
\n\n@{
\n", + "group": "oid" + }, + "git_blame_init_options": { + "type": "function", + "file": "git2/deprecated.h", + "line": 437, + "lineto": 437, + "args": [ + { + "name": "opts", + "type": "git_blame_options *", + "comment": null + }, + { + "name": "version", + "type": "unsigned int", + "comment": null + } + ], + "argline": "git_blame_options *opts, unsigned int version", + "sig": "git_blame_options *::unsigned int", + "return": { + "type": "int", + "comment": null + }, + "description": "", + "comments": "These functions are retained for backward compatibility. The newer versions of these functions should be preferred in all new code.
\n\nThere is no plan to remove these backward compatibility functions at this time.
\n\n@{
\n", + "group": "blame" + }, + "git_describe_options_init": { + "type": "function", + "file": "git2/describe.h", + "line": 82, + "lineto": 82, + "args": [ + { + "name": "opts", + "type": "git_describe_options *", + "comment": "The `git_describe_options` struct to initialize." + }, + { + "name": "version", + "type": "unsigned int", + "comment": "The struct version; pass `GIT_DESCRIBE_OPTIONS_VERSION`." + } + ], + "argline": "git_describe_options *opts, unsigned int version", + "sig": "git_describe_options *::unsigned int", + "return": { + "type": "int", + "comment": " Zero on success; -1 on failure." + }, + "description": "Initialize git_describe_options structure
\n", + "comments": "Initializes a git_describe_options with default values. Equivalent to creating an instance with GIT_DESCRIBE_OPTIONS_INIT.
Initialize git_describe_format_options structure
\n", + "comments": "Initializes a git_describe_format_options with default values. Equivalent to creating an instance with GIT_DESCRIBE_FORMAT_OPTIONS_INIT.
Initializes a git_diff_options with default values. Equivalent to\n creating an instance with GIT_DIFF_OPTIONS_INIT.
Initialize git_diff_options structure
\n", + "comments": "Initializes a git_diff_options with default values. Equivalent to creating an instance with GIT_DIFF_OPTIONS_INIT.
Initializes a git_diff_find_options with default values. Equivalent to\n creating an instance with GIT_DIFF_FIND_OPTIONS_INIT.
Initialize git_diff_find_options structure
\n", + "comments": "Initializes a git_diff_find_options with default values. Equivalent to creating an instance with GIT_DIFF_FIND_OPTIONS_INIT.
Does not support creating patches for merge commits (yet).
\n", "group": "diff" }, - "git_diff_format_email_init_options": { + "git_diff_format_email_options_init": { "type": "function", - "file": "diff.h", - "line": 1405, - "lineto": 1407, + "file": "git2/diff.h", + "line": 1451, + "lineto": 1453, "args": [ { "name": "opts", "type": "git_diff_format_email_options *", - "comment": "The `git_diff_format_email_options` struct to initialize" + "comment": "The `git_blame_options` struct to initialize." }, { "name": "version", "type": "unsigned int", - "comment": "Version of struct; pass `GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION`" + "comment": "The struct version; pass `GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION`." } ], "argline": "git_diff_format_email_options *opts, unsigned int version", @@ -7017,47 +7477,47 @@ "type": "int", "comment": " Zero on success; -1 on failure." }, - "description": "Initializes a git_diff_format_email_options with default values.
Equivalent to creating an instance with GIT_DIFF_FORMAT_EMAIL_OPTIONS_INIT.
\n", + "description": "Initialize git_diff_format_email_options structure
\n", + "comments": "Initializes a git_diff_format_email_options with default values. Equivalent to creating an instance with GIT_DIFF_FORMAT_EMAIL_OPTIONS_INIT.
Initialize git_diff_patchid_options structure.
Initializes the structure with default values. Equivalent to creating an instance with GIT_DIFF_PATCHID_OPTIONS_INIT.
Initialize git_diff_patchid_options structure
\n", + "comments": "Initializes a git_diff_patchid_options with default values. Equivalent to creating an instance with GIT_DIFF_PATCHID_OPTIONS_INIT.
Calculate a stable patch ID for the given patch by summing the hash of the file diffs, ignoring whitespace and line numbers. This can be used to derive whether two diffs are the same with a high probability.
\n\nCurrently, this function only calculates stable patch IDs, as defined in git-patch-id(1), and should in fact generate the same IDs as the upstream git project does.
\n", "group": "diff" }, - "giterr_last": { + "git_error_last": { "type": "function", - "file": "errors.h", - "line": 115, - "lineto": 115, + "file": "git2/errors.h", + "line": 123, + "lineto": 123, "args": [], "argline": "", "sig": "", @@ -7092,27 +7552,30 @@ "type": "const git_error *", "comment": " A git_error object." }, - "description": "Return the last git_error object that was generated for the\n current thread or NULL if no error has occurred.
Return the last git_error object that was generated for the\n current thread.
The default behaviour of this function is to return NULL if no previous error has occurred. However, libgit2's error strings are not cleared aggressively, so a prior (unrelated) error may be returned. This can be avoided by only calling this function if the prior call to a libgit2 API returned an error.
\n", + "group": "error", "examples": { + "checkout.c": [ + "ex/HEAD/checkout.html#git_error_last-8", + "ex/HEAD/checkout.html#git_error_last-9", + "ex/HEAD/checkout.html#git_error_last-10", + "ex/HEAD/checkout.html#git_error_last-11" + ], "general.c": [ - "ex/HEAD/general.html#giterr_last-33" + "ex/HEAD/general.html#git_error_last-33" ], "merge.c": [ - "ex/HEAD/merge.html#giterr_last-10", - "ex/HEAD/merge.html#giterr_last-11" - ], - "network/clone.c": [ - "ex/HEAD/network/clone.html#giterr_last-2" + "ex/HEAD/merge.html#git_error_last-8", + "ex/HEAD/merge.html#git_error_last-9" ] } }, - "giterr_clear": { + "git_error_clear": { "type": "function", - "file": "errors.h", - "line": 120, - "lineto": 120, + "file": "git2/errors.h", + "line": 128, + "lineto": 128, "args": [], "argline": "", "sig": "", @@ -7122,13 +7585,13 @@ }, "description": "Clear the last library error that occurred for this thread.
\n", "comments": "", - "group": "giterr" + "group": "error" }, - "giterr_set_str": { + "git_error_set_str": { "type": "function", - "file": "errors.h", - "line": 138, - "lineto": 138, + "file": "git2/errors.h", + "line": 146, + "lineto": 146, "args": [ { "name": "error_class", @@ -7149,13 +7612,13 @@ }, "description": "Set the error message string for this thread.
\n", "comments": "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.
\n\nThis error message is stored in thread-local storage and only applies to the particular thread that this libgit2 call is made from.
\n", - "group": "giterr" + "group": "error" }, - "giterr_set_oom": { + "git_error_set_oom": { "type": "function", - "file": "errors.h", - "line": 149, - "lineto": 149, + "file": "git2/errors.h", + "line": 157, + "lineto": 157, "args": [], "argline": "", "sig": "", @@ -7164,12 +7627,12 @@ "comment": null }, "description": "Set the error message to a special value for memory allocation failure.
\n", - "comments": "The normal giterr_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.
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.
This function must be called before any other libgit2 function in order to set up global state and threading.
\n\nThis function may be called multiple times - it will return the number of times the initialization has been called (including this one) that have not subsequently been shutdown.
\n", "group": "libgit2", "examples": { - "blame.c": [ - "ex/HEAD/blame.html#git_libgit2_init-8" - ], - "cat-file.c": [ - "ex/HEAD/cat-file.html#git_libgit2_init-10" - ], - "describe.c": [ - "ex/HEAD/describe.html#git_libgit2_init-4" - ], - "diff.c": [ - "ex/HEAD/diff.html#git_libgit2_init-13" - ], "general.c": [ "ex/HEAD/general.html#git_libgit2_init-34" - ], - "init.c": [ - "ex/HEAD/init.html#git_libgit2_init-2" - ], - "log.c": [ - "ex/HEAD/log.html#git_libgit2_init-31" - ], - "merge.c": [ - "ex/HEAD/merge.html#git_libgit2_init-12" - ], - "remote.c": [ - "ex/HEAD/remote.html#git_libgit2_init-2" - ], - "rev-parse.c": [ - "ex/HEAD/rev-parse.html#git_libgit2_init-1" - ], - "status.c": [ - "ex/HEAD/status.html#git_libgit2_init-1" - ], - "tag.c": [ - "ex/HEAD/tag.html#git_libgit2_init-3" ] } }, "git_libgit2_shutdown": { "type": "function", - "file": "global.h", + "file": "git2/global.h", "line": 39, "lineto": 39, "args": [], @@ -7533,46 +7963,11 @@ }, "description": "Shutdown the global state
\n", "comments": "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).
Test if the ignore rules apply to a given path.
\n", - "comments": "This function checks the ignore rules to see if they would apply to the given file. This indicates if the file would be ignored regardless of whether the file is already in the index or committed to the repository.
\n\nOne 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?
\n", + "comments": "This function checks the ignore rules to see if they would apply to the given file. This indicates if the file would be ignored regardless of whether the file is already in the index or committed to the repository.
\n\nOne way to think of this is if you were to do "git check-ignore --no-index" on the given file, would it be shown or not?
\n", "group": "ignore" }, "git_index_open": { "type": "function", - "file": "index.h", - "line": 203, - "lineto": 203, + "file": "git2/index.h", + "line": 187, + "lineto": 187, "args": [ { "name": "out", @@ -7754,9 +8149,9 @@ }, "git_index_new": { "type": "function", - "file": "index.h", - "line": 216, - "lineto": 216, + "file": "git2/index.h", + "line": 200, + "lineto": 200, "args": [ { "name": "out", @@ -7776,9 +8171,9 @@ }, "git_index_free": { "type": "function", - "file": "index.h", - "line": 223, - "lineto": 223, + "file": "git2/index.h", + "line": 207, + "lineto": 207, "args": [ { "name": "index", @@ -7796,19 +8191,25 @@ "comments": "", "group": "index", "examples": { + "add.c": [ + "ex/HEAD/add.html#git_index_free-1" + ], "general.c": [ "ex/HEAD/general.html#git_index_free-35" ], "init.c": [ - "ex/HEAD/init.html#git_index_free-4" + "ex/HEAD/init.html#git_index_free-2" + ], + "ls-files.c": [ + "ex/HEAD/ls-files.html#git_index_free-1" ] } }, "git_index_owner": { "type": "function", - "file": "index.h", - "line": 231, - "lineto": 231, + "file": "git2/index.h", + "line": 215, + "lineto": 215, "args": [ { "name": "index", @@ -7828,9 +8229,9 @@ }, "git_index_caps": { "type": "function", - "file": "index.h", - "line": 239, - "lineto": 239, + "file": "git2/index.h", + "line": 223, + "lineto": 223, "args": [ { "name": "index", @@ -7842,7 +8243,7 @@ "sig": "const git_index *", "return": { "type": "int", - "comment": " A combination of GIT_INDEXCAP values" + "comment": " A combination of GIT_INDEX_CAPABILITY values" }, "description": "Read index capabilities flags.
\n", "comments": "", @@ -7850,9 +8251,9 @@ }, "git_index_set_caps": { "type": "function", - "file": "index.h", - "line": 252, - "lineto": 252, + "file": "git2/index.h", + "line": 236, + "lineto": 236, "args": [ { "name": "index", @@ -7862,7 +8263,7 @@ { "name": "caps", "type": "int", - "comment": "A combination of GIT_INDEXCAP values" + "comment": "A combination of GIT_INDEX_CAPABILITY values" } ], "argline": "git_index *index, int caps", @@ -7872,14 +8273,14 @@ "comment": " 0 on success, -1 on failure" }, "description": "Set index capabilities flags.
\n", - "comments": "If you pass GIT_INDEXCAP_FROM_OWNER for the caps, then the capabilities will be read from the config of the owner object, looking at core.ignorecase, core.filemode, core.symlinks.
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.
Write an existing index object from memory back to disk\n using an atomic file lock.
\n", "comments": "", - "group": "index" + "group": "index", + "examples": { + "add.c": [ + "ex/HEAD/add.html#git_index_write-2" + ] + } }, "git_index_path": { "type": "function", - "file": "index.h", - "line": 313, - "lineto": 313, + "file": "git2/index.h", + "line": 297, + "lineto": 297, "args": [ { "name": "index", @@ -7997,9 +8403,9 @@ }, "git_index_checksum": { "type": "function", - "file": "index.h", - "line": 325, - "lineto": 325, + "file": "git2/index.h", + "line": 309, + "lineto": 309, "args": [ { "name": "index", @@ -8019,9 +8425,9 @@ }, "git_index_read_tree": { "type": "function", - "file": "index.h", - "line": 336, - "lineto": 336, + "file": "git2/index.h", + "line": 320, + "lineto": 320, "args": [ { "name": "index", @@ -8046,9 +8452,9 @@ }, "git_index_write_tree": { "type": "function", - "file": "index.h", - "line": 357, - "lineto": 357, + "file": "git2/index.h", + "line": 341, + "lineto": 341, "args": [ { "name": "out", @@ -8072,18 +8478,18 @@ "group": "index", "examples": { "init.c": [ - "ex/HEAD/init.html#git_index_write_tree-5" + "ex/HEAD/init.html#git_index_write_tree-3" ], "merge.c": [ - "ex/HEAD/merge.html#git_index_write_tree-14" + "ex/HEAD/merge.html#git_index_write_tree-10" ] } }, "git_index_write_tree_to": { "type": "function", - "file": "index.h", - "line": 374, - "lineto": 374, + "file": "git2/index.h", + "line": 358, + "lineto": 358, "args": [ { "name": "out", @@ -8113,9 +8519,9 @@ }, "git_index_entrycount": { "type": "function", - "file": "index.h", - "line": 393, - "lineto": 393, + "file": "git2/index.h", + "line": 377, + "lineto": 377, "args": [ { "name": "index", @@ -8135,14 +8541,17 @@ "examples": { "general.c": [ "ex/HEAD/general.html#git_index_entrycount-36" + ], + "ls-files.c": [ + "ex/HEAD/ls-files.html#git_index_entrycount-2" ] } }, "git_index_clear": { "type": "function", - "file": "index.h", - "line": 404, - "lineto": 404, + "file": "git2/index.h", + "line": 388, + "lineto": 388, "args": [ { "name": "index", @@ -8162,9 +8571,9 @@ }, "git_index_get_byindex": { "type": "function", - "file": "index.h", - "line": 417, - "lineto": 418, + "file": "git2/index.h", + "line": 401, + "lineto": 402, "args": [ { "name": "index", @@ -8189,14 +8598,17 @@ "examples": { "general.c": [ "ex/HEAD/general.html#git_index_get_byindex-37" + ], + "ls-files.c": [ + "ex/HEAD/ls-files.html#git_index_get_byindex-3" ] } }, "git_index_get_bypath": { "type": "function", - "file": "index.h", - "line": 432, - "lineto": 433, + "file": "git2/index.h", + "line": 416, + "lineto": 417, "args": [ { "name": "index", @@ -8222,13 +8634,18 @@ }, "description": "Get a pointer to one of the entries in the index
\n", "comments": "The entry is not modifiable and should not be freed. Because the git_index_entry struct is a publicly defined struct, you should be able to make your own permanent copy of the data if necessary.
Return the stage number from a git index entry
\n", - "comments": "This entry is calculated from the entry's flag attribute like this:
\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n\n",
+ "comments": "This entry is calculated from the entry's flag attribute like this:
\n\n(entry->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT\n\n",
"group": "index"
},
"git_index_entry_is_conflict": {
"type": "function",
- "file": "index.h",
- "line": 491,
- "lineto": 491,
+ "file": "git2/index.h",
+ "line": 475,
+ "lineto": 475,
"args": [
{
"name": "entry",
@@ -8359,11 +8776,87 @@
"comments": "",
"group": "index"
},
+ "git_index_iterator_new": {
+ "type": "function",
+ "file": "git2/index.h",
+ "line": 495,
+ "lineto": 497,
+ "args": [
+ {
+ "name": "iterator_out",
+ "type": "git_index_iterator **",
+ "comment": "The newly created iterator"
+ },
+ {
+ "name": "index",
+ "type": "git_index *",
+ "comment": "The index to iterate"
+ }
+ ],
+ "argline": "git_index_iterator **iterator_out, git_index *index",
+ "sig": "git_index_iterator **::git_index *",
+ "return": {
+ "type": "int",
+ "comment": null
+ },
+ "description": "Create an iterator that will return every entry contained in the\n index at the time of creation. Entries are returned in order,\n sorted by path. This iterator is backed by a snapshot that allows\n callers to modify the index while iterating without affecting the\n iterator.
\n", + "comments": "", + "group": "index" + }, + "git_index_iterator_next": { + "type": "function", + "file": "git2/index.h", + "line": 506, + "lineto": 508, + "args": [ + { + "name": "out", + "type": "const git_index_entry **", + "comment": "Pointer to store the index entry in" + }, + { + "name": "iterator", + "type": "git_index_iterator *", + "comment": "The iterator" + } + ], + "argline": "const git_index_entry **out, git_index_iterator *iterator", + "sig": "const git_index_entry **::git_index_iterator *", + "return": { + "type": "int", + "comment": " 0, GIT_ITEROVER on iteration completion or an error code" + }, + "description": "Return the next index entry in-order from the iterator.
\n", + "comments": "", + "group": "index" + }, + "git_index_iterator_free": { + "type": "function", + "file": "git2/index.h", + "line": 515, + "lineto": 515, + "args": [ + { + "name": "iterator", + "type": "git_index_iterator *", + "comment": "The iterator to free" + } + ], + "argline": "git_index_iterator *iterator", + "sig": "git_index_iterator *", + "return": { + "type": "void", + "comment": null + }, + "description": "Free the index iterator
\n", + "comments": "", + "group": "index" + }, "git_index_add_bypath": { "type": "function", - "file": "index.h", - "line": 522, - "lineto": 522, + "file": "git2/index.h", + "line": 546, + "lineto": 546, "args": [ { "name": "index", @@ -8386,11 +8879,11 @@ "comments": "The file path must be relative to the repository's working folder and must be readable.
This method will fail in bare index instances.
\n\nThis 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.
\n\nIf 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.
\n", "group": "index" }, - "git_index_add_frombuffer": { + "git_index_add_from_buffer": { "type": "function", - "file": "index.h", - "line": 551, - "lineto": 554, + "file": "git2/index.h", + "line": 575, + "lineto": 578, "args": [ { "name": "index", @@ -8425,9 +8918,9 @@ }, "git_index_remove_bypath": { "type": "function", - "file": "index.h", - "line": 570, - "lineto": 570, + "file": "git2/index.h", + "line": 594, + "lineto": 594, "args": [ { "name": "index", @@ -8452,9 +8945,9 @@ }, "git_index_add_all": { "type": "function", - "file": "index.h", - "line": 618, - "lineto": 623, + "file": "git2/index.h", + "line": 642, + "lineto": 647, "args": [ { "name": "index", @@ -8490,13 +8983,18 @@ }, "description": "Add or update index entries matching files in the working directory.
\n", "comments": "This method will fail in bare index instances.
\n\nThe 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.
\n\nIf you provide a callback function, it will be invoked on each matching item in the working directory immediately before it is added to / updated in the index. Returning zero will add the item to the index, greater than zero will skip the item, and less than zero will abort the scan and return that value to the caller.
\n", - "group": "index" + "group": "index", + "examples": { + "add.c": [ + "ex/HEAD/add.html#git_index_add_all-3" + ] + } }, "git_index_remove_all": { "type": "function", - "file": "index.h", - "line": 640, - "lineto": 644, + "file": "git2/index.h", + "line": 664, + "lineto": 668, "args": [ { "name": "index", @@ -8531,9 +9029,9 @@ }, "git_index_update_all": { "type": "function", - "file": "index.h", - "line": 669, - "lineto": 673, + "file": "git2/index.h", + "line": 693, + "lineto": 697, "args": [ { "name": "index", @@ -8564,13 +9062,18 @@ }, "description": "Update all index entries to match the working directory
\n", "comments": "This method will fail in bare index instances.
\n\nThis scans the existing index entries and synchronizes them with the working directory, deleting them if the corresponding working directory file no longer exists otherwise updating the information (including adding the latest version of file to the ODB if needed).
\n\nIf you provide a callback function, it will be invoked on each matching item in the index immediately before it is updated (either refreshed or removed depending on working directory state). Return 0 to proceed with updating the item, > 0 to skip the item, and < 0 to abort the scan.
\n", - "group": "index" + "group": "index", + "examples": { + "add.c": [ + "ex/HEAD/add.html#git_index_update_all-4" + ] + } }, "git_index_find": { "type": "function", - "file": "index.h", - "line": 684, - "lineto": 684, + "file": "git2/index.h", + "line": 708, + "lineto": 708, "args": [ { "name": "at_pos", @@ -8600,9 +9103,9 @@ }, "git_index_find_prefix": { "type": "function", - "file": "index.h", - "line": 695, - "lineto": 695, + "file": "git2/index.h", + "line": 719, + "lineto": 719, "args": [ { "name": "at_pos", @@ -8632,9 +9135,9 @@ }, "git_index_conflict_add": { "type": "function", - "file": "index.h", - "line": 720, - "lineto": 724, + "file": "git2/index.h", + "line": 744, + "lineto": 748, "args": [ { "name": "index", @@ -8669,9 +9172,9 @@ }, "git_index_conflict_get": { "type": "function", - "file": "index.h", - "line": 740, - "lineto": 745, + "file": "git2/index.h", + "line": 764, + "lineto": 769, "args": [ { "name": "ancestor_out", @@ -8711,9 +9214,9 @@ }, "git_index_conflict_remove": { "type": "function", - "file": "index.h", - "line": 754, - "lineto": 754, + "file": "git2/index.h", + "line": 778, + "lineto": 778, "args": [ { "name": "index", @@ -8738,9 +9241,9 @@ }, "git_index_conflict_cleanup": { "type": "function", - "file": "index.h", - "line": 762, - "lineto": 762, + "file": "git2/index.h", + "line": 786, + "lineto": 786, "args": [ { "name": "index", @@ -8760,9 +9263,9 @@ }, "git_index_has_conflicts": { "type": "function", - "file": "index.h", - "line": 769, - "lineto": 769, + "file": "git2/index.h", + "line": 793, + "lineto": 793, "args": [ { "name": "index", @@ -8781,15 +9284,15 @@ "group": "index", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_index_has_conflicts-15" + "ex/HEAD/merge.html#git_index_has_conflicts-11" ] } }, "git_index_conflict_iterator_new": { "type": "function", - "file": "index.h", - "line": 780, - "lineto": 782, + "file": "git2/index.h", + "line": 804, + "lineto": 806, "args": [ { "name": "iterator_out", @@ -8813,15 +9316,15 @@ "group": "index", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_index_conflict_iterator_new-16" + "ex/HEAD/merge.html#git_index_conflict_iterator_new-12" ] } }, "git_index_conflict_next": { "type": "function", - "file": "index.h", - "line": 794, - "lineto": 798, + "file": "git2/index.h", + "line": 818, + "lineto": 822, "args": [ { "name": "ancestor_out", @@ -8855,15 +9358,15 @@ "group": "index", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_index_conflict_next-17" + "ex/HEAD/merge.html#git_index_conflict_next-13" ] } }, "git_index_conflict_iterator_free": { "type": "function", - "file": "index.h", - "line": 805, - "lineto": 806, + "file": "git2/index.h", + "line": 829, + "lineto": 830, "args": [ { "name": "iterator", @@ -8882,15 +9385,42 @@ "group": "index", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_index_conflict_iterator_free-18" + "ex/HEAD/merge.html#git_index_conflict_iterator_free-14" ] } }, + "git_indexer_options_init": { + "type": "function", + "file": "git2/indexer.h", + "line": 85, + "lineto": 87, + "args": [ + { + "name": "opts", + "type": "git_indexer_options *", + "comment": "the `git_indexer_options` struct to initialize." + }, + { + "name": "version", + "type": "unsigned int", + "comment": "Version of struct; pass `GIT_INDEXER_OPTIONS_VERSION`" + } + ], + "argline": "git_indexer_options *opts, unsigned int version", + "sig": "git_indexer_options *::unsigned int", + "return": { + "type": "int", + "comment": " Zero on success; -1 on failure." + }, + "description": "Initializes a git_indexer_options with default values. Equivalent to\n creating an instance with GIT_INDEXER_OPTIONS_INIT.
Create a new indexer instance
\n", "comments": "", - "group": "indexer", - "examples": { - "network/index-pack.c": [ - "ex/HEAD/network/index-pack.html#git_indexer_new-1" - ] - } + "group": "indexer" }, "git_indexer_append": { "type": "function", - "file": "indexer.h", - "line": 46, - "lineto": 46, + "file": "git2/indexer.h", + "line": 116, + "lineto": 116, "args": [ { "name": "idx", @@ -8961,30 +9481,25 @@ }, { "name": "stats", - "type": "git_transfer_progress *", + "type": "git_indexer_progress *", "comment": "stat storage" } ], - "argline": "git_indexer *idx, const void *data, size_t size, git_transfer_progress *stats", - "sig": "git_indexer *::const void *::size_t::git_transfer_progress *", + "argline": "git_indexer *idx, const void *data, size_t size, git_indexer_progress *stats", + "sig": "git_indexer *::const void *::size_t::git_indexer_progress *", "return": { "type": "int", "comment": null }, "description": "Add data to the indexer
\n", "comments": "", - "group": "indexer", - "examples": { - "network/index-pack.c": [ - "ex/HEAD/network/index-pack.html#git_indexer_append-2" - ] - } + "group": "indexer" }, "git_indexer_commit": { "type": "function", - "file": "indexer.h", - "line": 55, - "lineto": 55, + "file": "git2/indexer.h", + "line": 125, + "lineto": 125, "args": [ { "name": "idx", @@ -8993,30 +9508,25 @@ }, { "name": "stats", - "type": "git_transfer_progress *", + "type": "git_indexer_progress *", "comment": null } ], - "argline": "git_indexer *idx, git_transfer_progress *stats", - "sig": "git_indexer *::git_transfer_progress *", + "argline": "git_indexer *idx, git_indexer_progress *stats", + "sig": "git_indexer *::git_indexer_progress *", "return": { "type": "int", "comment": null }, "description": "Finalize the pack and index
\n", "comments": "Resolve any pending deltas and write out the index file
\n", - "group": "indexer", - "examples": { - "network/index-pack.c": [ - "ex/HEAD/network/index-pack.html#git_indexer_commit-3" - ] - } + "group": "indexer" }, "git_indexer_hash": { "type": "function", - "file": "indexer.h", - "line": 65, - "lineto": 65, + "file": "git2/indexer.h", + "line": 135, + "lineto": 135, "args": [ { "name": "idx", @@ -9032,18 +9542,13 @@ }, "description": "Get the packfile's hash
\n", "comments": "A packfile's name is derived from the sorted hashing of all object names. This is only correct after the index has been finalized.
\n", - "group": "indexer", - "examples": { - "network/index-pack.c": [ - "ex/HEAD/network/index-pack.html#git_indexer_hash-4" - ] - } + "group": "indexer" }, "git_indexer_free": { "type": "function", - "file": "indexer.h", - "line": 72, - "lineto": 72, + "file": "git2/indexer.h", + "line": 142, + "lineto": 142, "args": [ { "name": "idx", @@ -9059,16 +9564,230 @@ }, "description": "Free the indexer and its resources
\n", "comments": "", - "group": "indexer", - "examples": { - "network/index-pack.c": [ - "ex/HEAD/network/index-pack.html#git_indexer_free-5" - ] - } + "group": "indexer" + }, + "git_mailmap_new": { + "type": "function", + "file": "git2/mailmap.h", + "line": 32, + "lineto": 32, + "args": [ + { + "name": "out", + "type": "git_mailmap **", + "comment": "pointer to store the new mailmap" + } + ], + "argline": "git_mailmap **out", + "sig": "git_mailmap **", + "return": { + "type": "int", + "comment": " 0 on success, or an error code" + }, + "description": "Allocate a new mailmap object.
\n", + "comments": "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'.
\n", + "group": "mailmap" + }, + "git_mailmap_free": { + "type": "function", + "file": "git2/mailmap.h", + "line": 39, + "lineto": 39, + "args": [ + { + "name": "mm", + "type": "git_mailmap *", + "comment": "the mailmap to free" + } + ], + "argline": "git_mailmap *mm", + "sig": "git_mailmap *", + "return": { + "type": "void", + "comment": null + }, + "description": "Free the mailmap and its associated memory.
\n", + "comments": "", + "group": "mailmap" }, - "git_merge_file_init_input": { + "git_mailmap_add_entry": { "type": "function", - "file": "merge.h", + "file": "git2/mailmap.h", + "line": 52, + "lineto": 54, + "args": [ + { + "name": "mm", + "type": "git_mailmap *", + "comment": "mailmap to add the entry to" + }, + { + "name": "real_name", + "type": "const char *", + "comment": "the real name to use, or NULL" + }, + { + "name": "real_email", + "type": "const char *", + "comment": "the real email to use, or NULL" + }, + { + "name": "replace_name", + "type": "const char *", + "comment": "the name to replace, or NULL" + }, + { + "name": "replace_email", + "type": "const char *", + "comment": "the email to replace" + } + ], + "argline": "git_mailmap *mm, const char *real_name, const char *real_email, const char *replace_name, const char *replace_email", + "sig": "git_mailmap *::const char *::const char *::const char *::const char *", + "return": { + "type": "int", + "comment": " 0 on success, or an error code" + }, + "description": "Add a single entry to the given mailmap object. If the entry already exists,\n it will be replaced with the new entry.
\n", + "comments": "", + "group": "mailmap" + }, + "git_mailmap_from_buffer": { + "type": "function", + "file": "git2/mailmap.h", + "line": 64, + "lineto": 65, + "args": [ + { + "name": "out", + "type": "git_mailmap **", + "comment": "pointer to store the new mailmap" + }, + { + "name": "buf", + "type": "const char *", + "comment": "buffer to parse the mailmap from" + }, + { + "name": "len", + "type": "size_t", + "comment": "the length of the input buffer" + } + ], + "argline": "git_mailmap **out, const char *buf, size_t len", + "sig": "git_mailmap **::const char *::size_t", + "return": { + "type": "int", + "comment": " 0 on success, or an error code" + }, + "description": "Create a new mailmap instance containing a single mailmap file
\n", + "comments": "", + "group": "mailmap" + }, + "git_mailmap_from_repository": { + "type": "function", + "file": "git2/mailmap.h", + "line": 81, + "lineto": 82, + "args": [ + { + "name": "out", + "type": "git_mailmap **", + "comment": "pointer to store the new mailmap" + }, + { + "name": "repo", + "type": "git_repository *", + "comment": "repository to load mailmap information from" + } + ], + "argline": "git_mailmap **out, git_repository *repo", + "sig": "git_mailmap **::git_repository *", + "return": { + "type": "int", + "comment": " 0 on success, or an error code" + }, + "description": "Create a new mailmap instance from a repository, loading mailmap files based\n on the repository's configuration.
\n", + "comments": "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.
\n", + "group": "mailmap" + }, + "git_mailmap_resolve": { + "type": "function", + "file": "git2/mailmap.h", + "line": 96, + "lineto": 98, + "args": [ + { + "name": "real_name", + "type": "const char **", + "comment": "pointer to store the real name" + }, + { + "name": "real_email", + "type": "const char **", + "comment": "pointer to store the real email" + }, + { + "name": "mm", + "type": "const git_mailmap *", + "comment": "the mailmap to perform a lookup with (may be NULL)" + }, + { + "name": "name", + "type": "const char *", + "comment": "the name to look up" + }, + { + "name": "email", + "type": "const char *", + "comment": "the email to look up" + } + ], + "argline": "const char **real_name, const char **real_email, const git_mailmap *mm, const char *name, const char *email", + "sig": "const char **::const char **::const git_mailmap *::const char *::const char *", + "return": { + "type": "int", + "comment": " 0 on success, or an error code" + }, + "description": "Resolve a name and email to the corresponding real name and email.
\n", + "comments": "The lifetime of the strings are tied to mm, name, and email parameters.
Resolve a signature to use real names and emails with a mailmap.
\n", + "comments": "Call git_signature_free() to free the data.
Initializes a git_merge_file_options with default values. Equivalent to\n creating an instance with GIT_MERGE_FILE_OPTIONS_INIT.
Initialize git_merge_file_options structure
\n", + "comments": "Initializes a git_merge_file_options with default values. Equivalent to creating an instance with GIT_MERGE_FILE_OPTIONS_INIT.
Initializes a git_merge_options with default values. Equivalent to\n creating an instance with GIT_MERGE_OPTIONS_INIT.
Initialize git_merge_options structure
\n", + "comments": "Initializes a git_merge_options with default values. Equivalent to creating an instance with GIT_MERGE_OPTIONS_INIT.
Analyzes the given branch(es) and determines the opportunities for\n merging them into a reference.
\n", + "comments": "", + "group": "merge" + }, + "git_merge_base": { + "type": "function", + "file": "git2/merge.h", + "line": 415, + "lineto": 419, "args": [ { "name": "out", @@ -9232,18 +9998,18 @@ "group": "merge", "examples": { "log.c": [ - "ex/HEAD/log.html#git_merge_base-33" + "ex/HEAD/log.html#git_merge_base-31" ], "rev-parse.c": [ - "ex/HEAD/rev-parse.html#git_merge_base-3" + "ex/HEAD/rev-parse.html#git_merge_base-1" ] } }, "git_merge_bases": { "type": "function", - "file": "merge.h", - "line": 413, - "lineto": 417, + "file": "git2/merge.h", + "line": 430, + "lineto": 434, "args": [ { "name": "out", @@ -9278,9 +10044,9 @@ }, "git_merge_base_many": { "type": "function", - "file": "merge.h", - "line": 428, - "lineto": 432, + "file": "git2/merge.h", + "line": 445, + "lineto": 449, "args": [ { "name": "out", @@ -9315,9 +10081,9 @@ }, "git_merge_bases_many": { "type": "function", - "file": "merge.h", - "line": 443, - "lineto": 447, + "file": "git2/merge.h", + "line": 460, + "lineto": 464, "args": [ { "name": "out", @@ -9352,9 +10118,9 @@ }, "git_merge_base_octopus": { "type": "function", - "file": "merge.h", - "line": 458, - "lineto": 462, + "file": "git2/merge.h", + "line": 475, + "lineto": 479, "args": [ { "name": "out", @@ -9389,9 +10155,9 @@ }, "git_merge_file": { "type": "function", - "file": "merge.h", - "line": 480, - "lineto": 485, + "file": "git2/merge.h", + "line": 497, + "lineto": 502, "args": [ { "name": "out", @@ -9431,9 +10197,9 @@ }, "git_merge_file_from_index": { "type": "function", - "file": "merge.h", - "line": 501, - "lineto": 507, + "file": "git2/merge.h", + "line": 518, + "lineto": 524, "args": [ { "name": "out", @@ -9478,9 +10244,9 @@ }, "git_merge_file_result_free": { "type": "function", - "file": "merge.h", - "line": 514, - "lineto": 514, + "file": "git2/merge.h", + "line": 531, + "lineto": 531, "args": [ { "name": "result", @@ -9500,9 +10266,9 @@ }, "git_merge_trees": { "type": "function", - "file": "merge.h", - "line": 532, - "lineto": 538, + "file": "git2/merge.h", + "line": 549, + "lineto": 555, "args": [ { "name": "out", @@ -9547,9 +10313,9 @@ }, "git_merge_commits": { "type": "function", - "file": "merge.h", - "line": 555, - "lineto": 560, + "file": "git2/merge.h", + "line": 572, + "lineto": 577, "args": [ { "name": "out", @@ -9589,9 +10355,9 @@ }, "git_merge": { "type": "function", - "file": "merge.h", - "line": 580, - "lineto": 585, + "file": "git2/merge.h", + "line": 597, + "lineto": 602, "args": [ { "name": "repo", @@ -9630,13 +10396,13 @@ "group": "merge", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_merge-20" + "ex/HEAD/merge.html#git_merge-16" ] } }, "git_message_prettify": { "type": "function", - "file": "message.h", + "file": "git2/message.h", "line": 38, "lineto": 38, "args": [ @@ -9673,7 +10439,7 @@ }, "git_message_trailers": { "type": "function", - "file": "message.h", + "file": "git2/message.h", "line": 73, "lineto": 73, "args": [ @@ -9700,7 +10466,7 @@ }, "git_message_trailer_array_free": { "type": "function", - "file": "message.h", + "file": "git2/message.h", "line": 79, "lineto": 79, "args": [ @@ -9722,7 +10488,7 @@ }, "git_note_iterator_new": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 49, "lineto": 52, "args": [ @@ -9754,7 +10520,7 @@ }, "git_note_commit_iterator_new": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 64, "lineto": 66, "args": [ @@ -9781,7 +10547,7 @@ }, "git_note_iterator_free": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 73, "lineto": 73, "args": [ @@ -9803,7 +10569,7 @@ }, "git_note_next": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 86, "lineto": 89, "args": [ @@ -9835,7 +10601,7 @@ }, "git_note_read": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 105, "lineto": 109, "args": [ @@ -9872,7 +10638,7 @@ }, "git_note_commit_read": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 124, "lineto": 128, "args": [ @@ -9909,7 +10675,7 @@ }, "git_note_author": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 136, "lineto": 136, "args": [ @@ -9931,7 +10697,7 @@ }, "git_note_committer": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 144, "lineto": 144, "args": [ @@ -9953,7 +10719,7 @@ }, "git_note_message": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 153, "lineto": 153, "args": [ @@ -9975,7 +10741,7 @@ }, "git_note_id": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 162, "lineto": 162, "args": [ @@ -9997,7 +10763,7 @@ }, "git_note_create": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 179, "lineto": 187, "args": [ @@ -10054,7 +10820,7 @@ }, "git_note_commit_create": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 209, "lineto": 218, "args": [ @@ -10116,7 +10882,7 @@ }, "git_note_remove": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 232, "lineto": 237, "args": [ @@ -10158,7 +10924,7 @@ }, "git_note_commit_remove": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 257, "lineto": 263, "args": [ @@ -10205,7 +10971,7 @@ }, "git_note_free": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 270, "lineto": 270, "args": [ @@ -10225,9 +10991,36 @@ "comments": "", "group": "note" }, + "git_note_default_ref": { + "type": "function", + "file": "git2/notes.h", + "line": 280, + "lineto": 280, + "args": [ + { + "name": "out", + "type": "git_buf *", + "comment": "buffer in which to store the name of the default notes reference" + }, + { + "name": "repo", + "type": "git_repository *", + "comment": "The Git repository" + } + ], + "argline": "git_buf *out, git_repository *repo", + "sig": "git_buf *::git_repository *", + "return": { + "type": "int", + "comment": " 0 or an error code" + }, + "description": "Get the default notes reference for a repository
\n", + "comments": "", + "group": "note" + }, "git_note_foreach": { "type": "function", - "file": "notes.h", + "file": "git2/notes.h", "line": 298, "lineto": 302, "args": [ @@ -10264,7 +11057,7 @@ }, "git_object_lookup": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 42, "lineto": 46, "args": [ @@ -10285,31 +11078,31 @@ }, { "name": "type", - "type": "git_otype", + "type": "git_object_t", "comment": "the type of the object" } ], - "argline": "git_object **object, git_repository *repo, const git_oid *id, git_otype type", - "sig": "git_object **::git_repository *::const git_oid *::git_otype", + "argline": "git_object **object, git_repository *repo, const git_oid *id, git_object_t type", + "sig": "git_object **::git_repository *::const git_oid *::git_object_t", "return": { "type": "int", "comment": " 0 or an error code" }, "description": "Lookup a reference to one of the objects in a repository.
\n", - "comments": "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_OBJ_ANY' may be passed to let the method guess the object's type.
\n", + "comments": "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.
\n", "group": "object", "examples": { "log.c": [ - "ex/HEAD/log.html#git_object_lookup-34" + "ex/HEAD/log.html#git_object_lookup-32" ], "merge.c": [ - "ex/HEAD/merge.html#git_object_lookup-21" + "ex/HEAD/merge.html#git_object_lookup-17" ] } }, "git_object_lookup_prefix": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 75, "lineto": 80, "args": [ @@ -10335,23 +11128,23 @@ }, { "name": "type", - "type": "git_otype", + "type": "git_object_t", "comment": "the type of the object" } ], - "argline": "git_object **object_out, git_repository *repo, const git_oid *id, size_t len, git_otype type", - "sig": "git_object **::git_repository *::const git_oid *::size_t::git_otype", + "argline": "git_object **object_out, git_repository *repo, const git_oid *id, size_t len, git_object_t type", + "sig": "git_object **::git_repository *::const git_oid *::size_t::git_object_t", "return": { "type": "int", "comment": " 0 or an error code" }, "description": "Lookup a reference to one of the objects in a repository,\n given a prefix of its identifier (short id).
\n", - "comments": "The object obtained will be so that its identifier matches the first 'len' hexadecimal characters (packets of 4 bits) of the given 'id'. 'len' must be at least GIT_OID_MINPREFIXLEN, and long enough to identify a unique object matching the prefix; otherwise the method will fail.
\n\nThe 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_OBJ_ANY' may be passed to let the method guess the object's type.
\n", + "comments": "The object obtained will be so that its identifier matches the first 'len' hexadecimal characters (packets of 4 bits) of the given 'id'. 'len' must be at least GIT_OID_MINPREFIXLEN, and long enough to identify a unique object matching the prefix; otherwise the method will fail.
\n\nThe 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.
\n", "group": "object" }, "git_object_lookup_bypath": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 93, "lineto": 97, "args": [ @@ -10372,12 +11165,12 @@ }, { "name": "type", - "type": "git_otype", + "type": "git_object_t", "comment": "type of object desired" } ], - "argline": "git_object **out, const git_object *treeish, const char *path, git_otype type", - "sig": "git_object **::const git_object *::const char *::git_otype", + "argline": "git_object **out, const git_object *treeish, const char *path, git_object_t type", + "sig": "git_object **::const git_object *::const char *::git_object_t", "return": { "type": "int", "comment": " 0 on success, or an error code" @@ -10388,7 +11181,7 @@ }, "git_object_id": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 105, "lineto": 105, "args": [ @@ -10409,33 +11202,33 @@ "group": "object", "examples": { "blame.c": [ + "ex/HEAD/blame.html#git_object_id-8", + "ex/HEAD/blame.html#git_object_id-9", "ex/HEAD/blame.html#git_object_id-10", - "ex/HEAD/blame.html#git_object_id-11", - "ex/HEAD/blame.html#git_object_id-12", - "ex/HEAD/blame.html#git_object_id-13" + "ex/HEAD/blame.html#git_object_id-11" ], "cat-file.c": [ - "ex/HEAD/cat-file.html#git_object_id-12", - "ex/HEAD/cat-file.html#git_object_id-13" + "ex/HEAD/cat-file.html#git_object_id-10", + "ex/HEAD/cat-file.html#git_object_id-11" ], "log.c": [ + "ex/HEAD/log.html#git_object_id-33", + "ex/HEAD/log.html#git_object_id-34", "ex/HEAD/log.html#git_object_id-35", - "ex/HEAD/log.html#git_object_id-36", - "ex/HEAD/log.html#git_object_id-37", - "ex/HEAD/log.html#git_object_id-38" + "ex/HEAD/log.html#git_object_id-36" ], "rev-parse.c": [ + "ex/HEAD/rev-parse.html#git_object_id-2", + "ex/HEAD/rev-parse.html#git_object_id-3", "ex/HEAD/rev-parse.html#git_object_id-4", "ex/HEAD/rev-parse.html#git_object_id-5", - "ex/HEAD/rev-parse.html#git_object_id-6", - "ex/HEAD/rev-parse.html#git_object_id-7", - "ex/HEAD/rev-parse.html#git_object_id-8" + "ex/HEAD/rev-parse.html#git_object_id-6" ] } }, "git_object_short_id": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 119, "lineto": 119, "args": [ @@ -10461,13 +11254,13 @@ "group": "object", "examples": { "tag.c": [ - "ex/HEAD/tag.html#git_object_short_id-5" + "ex/HEAD/tag.html#git_object_short_id-3" ] } }, "git_object_type": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 127, "lineto": 127, "args": [ @@ -10480,7 +11273,7 @@ "argline": "const git_object *obj", "sig": "const git_object *", "return": { - "type": "git_otype", + "type": "git_object_t", "comment": " the object's type" }, "description": "Get the object type of an object
\n", @@ -10488,18 +11281,18 @@ "group": "object", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_object_type-14", - "ex/HEAD/cat-file.html#git_object_type-15", - "ex/HEAD/cat-file.html#git_object_type-16" + "ex/HEAD/cat-file.html#git_object_type-12", + "ex/HEAD/cat-file.html#git_object_type-13", + "ex/HEAD/cat-file.html#git_object_type-14" ], "tag.c": [ - "ex/HEAD/tag.html#git_object_type-6" + "ex/HEAD/tag.html#git_object_type-4" ] } }, "git_object_owner": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 141, "lineto": 141, "args": [ @@ -10521,7 +11314,7 @@ }, "git_object_free": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 158, "lineto": 158, "args": [ @@ -10542,50 +11335,50 @@ "group": "object", "examples": { "blame.c": [ + "ex/HEAD/blame.html#git_object_free-12", + "ex/HEAD/blame.html#git_object_free-13", "ex/HEAD/blame.html#git_object_free-14", - "ex/HEAD/blame.html#git_object_free-15", - "ex/HEAD/blame.html#git_object_free-16", - "ex/HEAD/blame.html#git_object_free-17" + "ex/HEAD/blame.html#git_object_free-15" ], "cat-file.c": [ - "ex/HEAD/cat-file.html#git_object_free-17" + "ex/HEAD/cat-file.html#git_object_free-15" ], "general.c": [ "ex/HEAD/general.html#git_object_free-38" ], "log.c": [ - "ex/HEAD/log.html#git_object_free-39" + "ex/HEAD/log.html#git_object_free-37" ], "merge.c": [ - "ex/HEAD/merge.html#git_object_free-22" + "ex/HEAD/merge.html#git_object_free-18" ], "rev-parse.c": [ - "ex/HEAD/rev-parse.html#git_object_free-9", - "ex/HEAD/rev-parse.html#git_object_free-10", - "ex/HEAD/rev-parse.html#git_object_free-11" + "ex/HEAD/rev-parse.html#git_object_free-7", + "ex/HEAD/rev-parse.html#git_object_free-8", + "ex/HEAD/rev-parse.html#git_object_free-9" ], "tag.c": [ + "ex/HEAD/tag.html#git_object_free-5", + "ex/HEAD/tag.html#git_object_free-6", "ex/HEAD/tag.html#git_object_free-7", - "ex/HEAD/tag.html#git_object_free-8", - "ex/HEAD/tag.html#git_object_free-9", - "ex/HEAD/tag.html#git_object_free-10" + "ex/HEAD/tag.html#git_object_free-8" ] } }, "git_object_type2string": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 169, "lineto": 169, "args": [ { "name": "type", - "type": "git_otype", + "type": "git_object_t", "comment": "object type to convert." } ], - "argline": "git_otype type", - "sig": "git_otype", + "argline": "git_object_t type", + "sig": "git_object_t", "return": { "type": "const char *", "comment": " the corresponding string representation." @@ -10595,10 +11388,10 @@ "group": "object", "examples": { "cat-file.c": [ + "ex/HEAD/cat-file.html#git_object_type2string-16", + "ex/HEAD/cat-file.html#git_object_type2string-17", "ex/HEAD/cat-file.html#git_object_type2string-18", - "ex/HEAD/cat-file.html#git_object_type2string-19", - "ex/HEAD/cat-file.html#git_object_type2string-20", - "ex/HEAD/cat-file.html#git_object_type2string-21" + "ex/HEAD/cat-file.html#git_object_type2string-19" ], "general.c": [ "ex/HEAD/general.html#git_object_type2string-39", @@ -10608,7 +11401,7 @@ }, "git_object_string2type": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 177, "lineto": 177, "args": [ @@ -10621,49 +11414,49 @@ "argline": "const char *str", "sig": "const char *", "return": { - "type": "git_otype", - "comment": " the corresponding git_otype." + "type": "git_object_t", + "comment": " the corresponding git_object_t." }, - "description": "Convert a string object type representation to it's git_otype.
\n", + "description": "Convert a string object type representation to it's git_object_t.
\n", "comments": "", "group": "object" }, "git_object_typeisloose": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 186, "lineto": 186, "args": [ { "name": "type", - "type": "git_otype", + "type": "git_object_t", "comment": "object type to test." } ], - "argline": "git_otype type", - "sig": "git_otype", + "argline": "git_object_t type", + "sig": "git_object_t", "return": { "type": "int", "comment": " true if the type represents a valid loose object type,\n false otherwise." }, - "description": "Determine if the given git_otype is a valid loose object type.
\n", + "description": "Determine if the given git_object_t is a valid loose object type.
\n", "comments": "", "group": "object" }, - "git_object__size": { + "git_object_size": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 200, "lineto": 200, "args": [ { "name": "type", - "type": "git_otype", + "type": "git_object_t", "comment": "object type to get its size" } ], - "argline": "git_otype type", - "sig": "git_otype", + "argline": "git_object_t type", + "sig": "git_object_t", "return": { "type": "size_t", "comment": " size in bytes of the object" @@ -10674,7 +11467,7 @@ }, "git_object_peel": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 225, "lineto": 228, "args": [ @@ -10690,23 +11483,23 @@ }, { "name": "target_type", - "type": "git_otype", - "comment": "The type of the requested object (a GIT_OBJ_ value)" + "type": "git_object_t", + "comment": "The type of the requested object (a GIT_OBJECT_ value)" } ], - "argline": "git_object **peeled, const git_object *object, git_otype target_type", - "sig": "git_object **::const git_object *::git_otype", + "argline": "git_object **peeled, const git_object *object, git_object_t target_type", + "sig": "git_object **::const git_object *::git_object_t", "return": { "type": "int", "comment": " 0 on success, GIT_EINVALIDSPEC, GIT_EPEEL, or an error code" }, "description": "Recursively peel an object until an object of the specified type is met.
\n", - "comments": "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).
\n\nIf you pass GIT_OBJ_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.
\n\nYou must free the returned object.
\n", + "comments": "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).
\n\nIf 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.
\n\nYou must free the returned object.
\n", "group": "object" }, "git_object_dup": { "type": "function", - "file": "object.h", + "file": "git2/object.h", "line": 237, "lineto": 237, "args": [ @@ -10733,9 +11526,9 @@ }, "git_odb_new": { "type": "function", - "file": "odb.h", - "line": 39, - "lineto": 39, + "file": "git2/odb.h", + "line": 40, + "lineto": 40, "args": [ { "name": "out", @@ -10755,9 +11548,9 @@ }, "git_odb_open": { "type": "function", - "file": "odb.h", - "line": 57, - "lineto": 57, + "file": "git2/odb.h", + "line": 58, + "lineto": 58, "args": [ { "name": "out", @@ -10782,9 +11575,9 @@ }, "git_odb_add_disk_alternate": { "type": "function", - "file": "odb.h", - "line": 74, - "lineto": 74, + "file": "git2/odb.h", + "line": 75, + "lineto": 75, "args": [ { "name": "odb", @@ -10809,9 +11602,9 @@ }, "git_odb_free": { "type": "function", - "file": "odb.h", - "line": 81, - "lineto": 81, + "file": "git2/odb.h", + "line": 82, + "lineto": 82, "args": [ { "name": "db", @@ -10830,7 +11623,7 @@ "group": "odb", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_odb_free-22" + "ex/HEAD/cat-file.html#git_odb_free-20" ], "general.c": [ "ex/HEAD/general.html#git_odb_free-41" @@ -10839,9 +11632,9 @@ }, "git_odb_read": { "type": "function", - "file": "odb.h", - "line": 100, - "lineto": 100, + "file": "git2/odb.h", + "line": 101, + "lineto": 101, "args": [ { "name": "out", @@ -10870,7 +11663,7 @@ "group": "odb", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_odb_read-23" + "ex/HEAD/cat-file.html#git_odb_read-21" ], "general.c": [ "ex/HEAD/general.html#git_odb_read-42" @@ -10879,9 +11672,9 @@ }, "git_odb_read_prefix": { "type": "function", - "file": "odb.h", - "line": 129, - "lineto": 129, + "file": "git2/odb.h", + "line": 130, + "lineto": 130, "args": [ { "name": "out", @@ -10916,9 +11709,9 @@ }, "git_odb_read_header": { "type": "function", - "file": "odb.h", - "line": 149, - "lineto": 149, + "file": "git2/odb.h", + "line": 150, + "lineto": 150, "args": [ { "name": "len_out", @@ -10927,7 +11720,7 @@ }, { "name": "type_out", - "type": "git_otype *", + "type": "git_object_t *", "comment": "pointer where to store the type" }, { @@ -10941,8 +11734,8 @@ "comment": "identity of the object to read." } ], - "argline": "size_t *len_out, git_otype *type_out, git_odb *db, const git_oid *id", - "sig": "size_t *::git_otype *::git_odb *::const git_oid *", + "argline": "size_t *len_out, git_object_t *type_out, git_odb *db, const git_oid *id", + "sig": "size_t *::git_object_t *::git_odb *::const git_oid *", "return": { "type": "int", "comment": " - 0 if the object was read;\n - GIT_ENOTFOUND if the object is not in the database." @@ -10953,9 +11746,9 @@ }, "git_odb_exists": { "type": "function", - "file": "odb.h", - "line": 160, - "lineto": 160, + "file": "git2/odb.h", + "line": 161, + "lineto": 161, "args": [ { "name": "db", @@ -10980,9 +11773,9 @@ }, "git_odb_exists_prefix": { "type": "function", - "file": "odb.h", - "line": 173, - "lineto": 174, + "file": "git2/odb.h", + "line": 174, + "lineto": 175, "args": [ { "name": "out", @@ -11017,9 +11810,9 @@ }, "git_odb_expand_ids": { "type": "function", - "file": "odb.h", - "line": 215, - "lineto": 218, + "file": "git2/odb.h", + "line": 216, + "lineto": 219, "args": [ { "name": "db", @@ -11049,9 +11842,9 @@ }, "git_odb_refresh": { "type": "function", - "file": "odb.h", - "line": 238, - "lineto": 238, + "file": "git2/odb.h", + "line": 239, + "lineto": 239, "args": [ { "name": "db", @@ -11071,9 +11864,9 @@ }, "git_odb_foreach": { "type": "function", - "file": "odb.h", - "line": 253, - "lineto": 253, + "file": "git2/odb.h", + "line": 254, + "lineto": 254, "args": [ { "name": "db", @@ -11103,9 +11896,9 @@ }, "git_odb_write": { "type": "function", - "file": "odb.h", - "line": 273, - "lineto": 273, + "file": "git2/odb.h", + "line": 274, + "lineto": 274, "args": [ { "name": "out", @@ -11129,12 +11922,12 @@ }, { "name": "type", - "type": "git_otype", + "type": "git_object_t", "comment": "type of the data to store" } ], - "argline": "git_oid *out, git_odb *odb, const void *data, size_t len, git_otype type", - "sig": "git_oid *::git_odb *::const void *::size_t::git_otype", + "argline": "git_oid *out, git_odb *odb, const void *data, size_t len, git_object_t type", + "sig": "git_oid *::git_odb *::const void *::size_t::git_object_t", "return": { "type": "int", "comment": " 0 or an error code" @@ -11150,9 +11943,9 @@ }, "git_odb_open_wstream": { "type": "function", - "file": "odb.h", - "line": 296, - "lineto": 296, + "file": "git2/odb.h", + "line": 297, + "lineto": 297, "args": [ { "name": "out", @@ -11171,12 +11964,12 @@ }, { "name": "type", - "type": "git_otype", + "type": "git_object_t", "comment": "type of the object that will be written" } ], - "argline": "git_odb_stream **out, git_odb *db, git_off_t size, git_otype type", - "sig": "git_odb_stream **::git_odb *::git_off_t::git_otype", + "argline": "git_odb_stream **out, git_odb *db, git_off_t size, git_object_t type", + "sig": "git_odb_stream **::git_odb *::git_off_t::git_object_t", "return": { "type": "int", "comment": " 0 if the stream was created; error code otherwise" @@ -11187,9 +11980,9 @@ }, "git_odb_stream_write": { "type": "function", - "file": "odb.h", - "line": 309, - "lineto": 309, + "file": "git2/odb.h", + "line": 310, + "lineto": 310, "args": [ { "name": "stream", @@ -11219,9 +12012,9 @@ }, "git_odb_stream_finalize_write": { "type": "function", - "file": "odb.h", - "line": 324, - "lineto": 324, + "file": "git2/odb.h", + "line": 325, + "lineto": 325, "args": [ { "name": "out", @@ -11246,9 +12039,9 @@ }, "git_odb_stream_read": { "type": "function", - "file": "odb.h", - "line": 331, - "lineto": 331, + "file": "git2/odb.h", + "line": 332, + "lineto": 332, "args": [ { "name": "stream", @@ -11278,9 +12071,9 @@ }, "git_odb_stream_free": { "type": "function", - "file": "odb.h", - "line": 338, - "lineto": 338, + "file": "git2/odb.h", + "line": 339, + "lineto": 339, "args": [ { "name": "stream", @@ -11300,9 +12093,9 @@ }, "git_odb_open_rstream": { "type": "function", - "file": "odb.h", - "line": 366, - "lineto": 371, + "file": "git2/odb.h", + "line": 367, + "lineto": 372, "args": [ { "name": "out", @@ -11316,7 +12109,7 @@ }, { "name": "type", - "type": "git_otype *", + "type": "git_object_t *", "comment": "pointer where to store the type of the object" }, { @@ -11330,8 +12123,8 @@ "comment": "oid of the object the stream will read from" } ], - "argline": "git_odb_stream **out, size_t *len, git_otype *type, git_odb *db, const git_oid *oid", - "sig": "git_odb_stream **::size_t *::git_otype *::git_odb *::const git_oid *", + "argline": "git_odb_stream **out, size_t *len, git_object_t *type, git_odb *db, const git_oid *oid", + "sig": "git_odb_stream **::size_t *::git_object_t *::git_odb *::const git_oid *", "return": { "type": "int", "comment": " 0 if the stream was created; error code otherwise" @@ -11342,9 +12135,9 @@ }, "git_odb_write_pack": { "type": "function", - "file": "odb.h", - "line": 391, - "lineto": 395, + "file": "git2/odb.h", + "line": 392, + "lineto": 396, "args": [ { "name": "out", @@ -11358,7 +12151,7 @@ }, { "name": "progress_cb", - "type": "git_transfer_progress_cb", + "type": "git_indexer_progress_cb", "comment": "function to call with progress information.\n Be aware that this is called inline with network and indexing operations,\n so performance may be affected." }, { @@ -11367,8 +12160,8 @@ "comment": "payload for the progress callback" } ], - "argline": "git_odb_writepack **out, git_odb *db, git_transfer_progress_cb progress_cb, void *progress_payload", - "sig": "git_odb_writepack **::git_odb *::git_transfer_progress_cb::void *", + "argline": "git_odb_writepack **out, git_odb *db, git_indexer_progress_cb progress_cb, void *progress_payload", + "sig": "git_odb_writepack **::git_odb *::git_indexer_progress_cb::void *", "return": { "type": "int", "comment": null @@ -11379,9 +12172,9 @@ }, "git_odb_hash": { "type": "function", - "file": "odb.h", - "line": 409, - "lineto": 409, + "file": "git2/odb.h", + "line": 410, + "lineto": 410, "args": [ { "name": "out", @@ -11400,12 +12193,12 @@ }, { "name": "type", - "type": "git_otype", + "type": "git_object_t", "comment": "of the data to hash" } ], - "argline": "git_oid *out, const void *data, size_t len, git_otype type", - "sig": "git_oid *::const void *::size_t::git_otype", + "argline": "git_oid *out, const void *data, size_t len, git_object_t type", + "sig": "git_oid *::const void *::size_t::git_object_t", "return": { "type": "int", "comment": " 0 or an error code" @@ -11416,9 +12209,9 @@ }, "git_odb_hashfile": { "type": "function", - "file": "odb.h", - "line": 424, - "lineto": 424, + "file": "git2/odb.h", + "line": 425, + "lineto": 425, "args": [ { "name": "out", @@ -11432,12 +12225,12 @@ }, { "name": "type", - "type": "git_otype", + "type": "git_object_t", "comment": "the type of the object that will be hashed" } ], - "argline": "git_oid *out, const char *path, git_otype type", - "sig": "git_oid *::const char *::git_otype", + "argline": "git_oid *out, const char *path, git_object_t type", + "sig": "git_oid *::const char *::git_object_t", "return": { "type": "int", "comment": " 0 or an error code" @@ -11448,9 +12241,9 @@ }, "git_odb_object_dup": { "type": "function", - "file": "odb.h", - "line": 438, - "lineto": 438, + "file": "git2/odb.h", + "line": 439, + "lineto": 439, "args": [ { "name": "dest", @@ -11475,9 +12268,9 @@ }, "git_odb_object_free": { "type": "function", - "file": "odb.h", - "line": 448, - "lineto": 448, + "file": "git2/odb.h", + "line": 449, + "lineto": 449, "args": [ { "name": "object", @@ -11496,7 +12289,7 @@ "group": "odb", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_odb_object_free-24" + "ex/HEAD/cat-file.html#git_odb_object_free-22" ], "general.c": [ "ex/HEAD/general.html#git_odb_object_free-44" @@ -11505,9 +12298,9 @@ }, "git_odb_object_id": { "type": "function", - "file": "odb.h", - "line": 458, - "lineto": 458, + "file": "git2/odb.h", + "line": 459, + "lineto": 459, "args": [ { "name": "object", @@ -11527,9 +12320,9 @@ }, "git_odb_object_data": { "type": "function", - "file": "odb.h", - "line": 471, - "lineto": 471, + "file": "git2/odb.h", + "line": 472, + "lineto": 472, "args": [ { "name": "object", @@ -11554,9 +12347,9 @@ }, "git_odb_object_size": { "type": "function", - "file": "odb.h", - "line": 482, - "lineto": 482, + "file": "git2/odb.h", + "line": 483, + "lineto": 483, "args": [ { "name": "object", @@ -11575,7 +12368,7 @@ "group": "odb", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_odb_object_size-25" + "ex/HEAD/cat-file.html#git_odb_object_size-23" ], "general.c": [ "ex/HEAD/general.html#git_odb_object_size-46" @@ -11584,9 +12377,9 @@ }, "git_odb_object_type": { "type": "function", - "file": "odb.h", - "line": 490, - "lineto": 490, + "file": "git2/odb.h", + "line": 491, + "lineto": 491, "args": [ { "name": "object", @@ -11597,7 +12390,7 @@ "argline": "git_odb_object *object", "sig": "git_odb_object *", "return": { - "type": "git_otype", + "type": "git_object_t", "comment": " the type" }, "description": "Return the type of an ODB object
\n", @@ -11611,9 +12404,9 @@ }, "git_odb_add_backend": { "type": "function", - "file": "odb.h", - "line": 505, - "lineto": 505, + "file": "git2/odb.h", + "line": 506, + "lineto": 506, "args": [ { "name": "odb", @@ -11643,9 +12436,9 @@ }, "git_odb_add_alternate": { "type": "function", - "file": "odb.h", - "line": 526, - "lineto": 526, + "file": "git2/odb.h", + "line": 527, + "lineto": 527, "args": [ { "name": "odb", @@ -11675,9 +12468,9 @@ }, "git_odb_num_backends": { "type": "function", - "file": "odb.h", - "line": 534, - "lineto": 534, + "file": "git2/odb.h", + "line": 535, + "lineto": 535, "args": [ { "name": "odb", @@ -11697,9 +12490,9 @@ }, "git_odb_get_backend": { "type": "function", - "file": "odb.h", - "line": 544, - "lineto": 544, + "file": "git2/odb.h", + "line": 545, + "lineto": 545, "args": [ { "name": "out", @@ -11729,9 +12522,9 @@ }, "git_odb_backend_pack": { "type": "function", - "file": "odb_backend.h", - "line": 34, - "lineto": 34, + "file": "git2/odb_backend.h", + "line": 35, + "lineto": 35, "args": [ { "name": "out", @@ -11756,9 +12549,9 @@ }, "git_odb_backend_loose": { "type": "function", - "file": "odb_backend.h", - "line": 48, - "lineto": 54, + "file": "git2/odb_backend.h", + "line": 49, + "lineto": 55, "args": [ { "name": "out", @@ -11803,9 +12596,9 @@ }, "git_odb_backend_one_pack": { "type": "function", - "file": "odb_backend.h", - "line": 67, - "lineto": 67, + "file": "git2/odb_backend.h", + "line": 68, + "lineto": 68, "args": [ { "name": "out", @@ -11830,7 +12623,7 @@ }, "git_oid_fromstr": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 47, "lineto": 47, "args": [ @@ -11864,15 +12657,12 @@ "ex/HEAD/general.html#git_oid_fromstr-53", "ex/HEAD/general.html#git_oid_fromstr-54", "ex/HEAD/general.html#git_oid_fromstr-55" - ], - "merge.c": [ - "ex/HEAD/merge.html#git_oid_fromstr-23" ] } }, "git_oid_fromstrp": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 56, "lineto": 56, "args": [ @@ -11899,7 +12689,7 @@ }, "git_oid_fromstrn": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 69, "lineto": 69, "args": [ @@ -11931,7 +12721,7 @@ }, "git_oid_fromraw": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 77, "lineto": 77, "args": [ @@ -11958,7 +12748,7 @@ }, "git_oid_fmt": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 89, "lineto": 89, "args": [ @@ -11983,6 +12773,10 @@ "comments": "", "group": "oid", "examples": { + "fetch.c": [ + "ex/HEAD/fetch.html#git_oid_fmt-1", + "ex/HEAD/fetch.html#git_oid_fmt-2" + ], "general.c": [ "ex/HEAD/general.html#git_oid_fmt-56", "ex/HEAD/general.html#git_oid_fmt-57", @@ -11991,21 +12785,14 @@ "ex/HEAD/general.html#git_oid_fmt-60", "ex/HEAD/general.html#git_oid_fmt-61" ], - "network/fetch.c": [ - "ex/HEAD/network/fetch.html#git_oid_fmt-1", - "ex/HEAD/network/fetch.html#git_oid_fmt-2" - ], - "network/index-pack.c": [ - "ex/HEAD/network/index-pack.html#git_oid_fmt-6" - ], - "network/ls-remote.c": [ - "ex/HEAD/network/ls-remote.html#git_oid_fmt-1" + "ls-remote.c": [ + "ex/HEAD/ls-remote.html#git_oid_fmt-1" ] } }, "git_oid_nfmt": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 100, "lineto": 100, "args": [ @@ -12037,7 +12824,7 @@ }, "git_oid_pathfmt": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 115, "lineto": 115, "args": [ @@ -12064,7 +12851,7 @@ }, "git_oid_tostr_s": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 128, "lineto": 128, "args": [ @@ -12085,14 +12872,14 @@ "group": "oid", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_oid_tostr_s-24", - "ex/HEAD/merge.html#git_oid_tostr_s-25" + "ex/HEAD/merge.html#git_oid_tostr_s-19", + "ex/HEAD/merge.html#git_oid_tostr_s-20" ] } }, "git_oid_tostr": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 147, "lineto": 147, "args": [ @@ -12123,31 +12910,31 @@ "group": "oid", "examples": { "blame.c": [ - "ex/HEAD/blame.html#git_oid_tostr-18", - "ex/HEAD/blame.html#git_oid_tostr-19" + "ex/HEAD/blame.html#git_oid_tostr-16", + "ex/HEAD/blame.html#git_oid_tostr-17" ], "cat-file.c": [ + "ex/HEAD/cat-file.html#git_oid_tostr-24", + "ex/HEAD/cat-file.html#git_oid_tostr-25", "ex/HEAD/cat-file.html#git_oid_tostr-26", "ex/HEAD/cat-file.html#git_oid_tostr-27", - "ex/HEAD/cat-file.html#git_oid_tostr-28", - "ex/HEAD/cat-file.html#git_oid_tostr-29", - "ex/HEAD/cat-file.html#git_oid_tostr-30" + "ex/HEAD/cat-file.html#git_oid_tostr-28" ], "log.c": [ - "ex/HEAD/log.html#git_oid_tostr-40", - "ex/HEAD/log.html#git_oid_tostr-41" + "ex/HEAD/log.html#git_oid_tostr-38", + "ex/HEAD/log.html#git_oid_tostr-39" ], "rev-parse.c": [ + "ex/HEAD/rev-parse.html#git_oid_tostr-10", + "ex/HEAD/rev-parse.html#git_oid_tostr-11", "ex/HEAD/rev-parse.html#git_oid_tostr-12", - "ex/HEAD/rev-parse.html#git_oid_tostr-13", - "ex/HEAD/rev-parse.html#git_oid_tostr-14", - "ex/HEAD/rev-parse.html#git_oid_tostr-15" + "ex/HEAD/rev-parse.html#git_oid_tostr-13" ] } }, "git_oid_cpy": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 155, "lineto": 155, "args": [ @@ -12173,15 +12960,15 @@ "group": "oid", "examples": { "blame.c": [ - "ex/HEAD/blame.html#git_oid_cpy-20", - "ex/HEAD/blame.html#git_oid_cpy-21", - "ex/HEAD/blame.html#git_oid_cpy-22" + "ex/HEAD/blame.html#git_oid_cpy-18", + "ex/HEAD/blame.html#git_oid_cpy-19", + "ex/HEAD/blame.html#git_oid_cpy-20" ] } }, "git_oid_cmp": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 164, "lineto": 164, "args": [ @@ -12208,7 +12995,7 @@ }, "git_oid_equal": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 173, "lineto": 173, "args": [ @@ -12235,7 +13022,7 @@ }, "git_oid_ncmp": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 184, "lineto": 184, "args": [ @@ -12267,7 +13054,7 @@ }, "git_oid_streq": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 193, "lineto": 193, "args": [ @@ -12294,7 +13081,7 @@ }, "git_oid_strcmp": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 203, "lineto": 203, "args": [ @@ -12319,9 +13106,9 @@ "comments": "", "group": "oid" }, - "git_oid_iszero": { + "git_oid_is_zero": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 210, "lineto": 210, "args": [ @@ -12342,16 +13129,16 @@ "group": "oid", "examples": { "blame.c": [ - "ex/HEAD/blame.html#git_oid_iszero-23" + "ex/HEAD/blame.html#git_oid_is_zero-21" ], - "network/fetch.c": [ - "ex/HEAD/network/fetch.html#git_oid_iszero-3" + "fetch.c": [ + "ex/HEAD/fetch.html#git_oid_is_zero-3" ] } }, "git_oid_shorten_new": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 231, "lineto": 231, "args": [ @@ -12373,7 +13160,7 @@ }, "git_oid_shorten_add": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 257, "lineto": 257, "args": [ @@ -12395,12 +13182,12 @@ "comment": " the minimal length to uniquely identify all OIDs\n\t\tadded so far to the set; or an error code (\n<\n0) if an\n\t\terror occurs." }, "description": "Add a new OID to set of shortened OIDs and calculate\n the minimal length to uniquely identify all the OIDs in\n the set.
\n", - "comments": "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.
\n\nFor 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.
\n\nAttempting to add more than those OIDs will result in a GITERR_INVALID error
\n", + "comments": "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.
\n\nFor 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.
\n\nAttempting to add more than those OIDs will result in a GIT_ERROR_INVALID error
\n", "group": "oid" }, "git_oid_shorten_free": { "type": "function", - "file": "oid.h", + "file": "git2/oid.h", "line": 264, "lineto": 264, "args": [ @@ -12422,7 +13209,7 @@ }, "git_oidarray_free": { "type": "function", - "file": "oidarray.h", + "file": "git2/oidarray.h", "line": 34, "lineto": 34, "args": [ @@ -12444,9 +13231,9 @@ }, "git_packbuilder_new": { "type": "function", - "file": "pack.h", - "line": 64, - "lineto": 64, + "file": "git2/pack.h", + "line": 65, + "lineto": 65, "args": [ { "name": "out", @@ -12471,9 +13258,9 @@ }, "git_packbuilder_set_threads": { "type": "function", - "file": "pack.h", - "line": 77, - "lineto": 77, + "file": "git2/pack.h", + "line": 78, + "lineto": 78, "args": [ { "name": "pb", @@ -12498,9 +13285,9 @@ }, "git_packbuilder_insert": { "type": "function", - "file": "pack.h", - "line": 91, - "lineto": 91, + "file": "git2/pack.h", + "line": 92, + "lineto": 92, "args": [ { "name": "pb", @@ -12530,9 +13317,9 @@ }, "git_packbuilder_insert_tree": { "type": "function", - "file": "pack.h", - "line": 103, - "lineto": 103, + "file": "git2/pack.h", + "line": 104, + "lineto": 104, "args": [ { "name": "pb", @@ -12557,9 +13344,9 @@ }, "git_packbuilder_insert_commit": { "type": "function", - "file": "pack.h", - "line": 115, - "lineto": 115, + "file": "git2/pack.h", + "line": 116, + "lineto": 116, "args": [ { "name": "pb", @@ -12584,9 +13371,9 @@ }, "git_packbuilder_insert_walk": { "type": "function", - "file": "pack.h", - "line": 128, - "lineto": 128, + "file": "git2/pack.h", + "line": 129, + "lineto": 129, "args": [ { "name": "pb", @@ -12611,9 +13398,9 @@ }, "git_packbuilder_insert_recur": { "type": "function", - "file": "pack.h", - "line": 140, - "lineto": 140, + "file": "git2/pack.h", + "line": 141, + "lineto": 141, "args": [ { "name": "pb", @@ -12641,11 +13428,38 @@ "comments": "Insert the object as well as any object it references.
\n", "group": "packbuilder" }, + "git_packbuilder_write_buf": { + "type": "function", + "file": "git2/pack.h", + "line": 152, + "lineto": 152, + "args": [ + { + "name": "buf", + "type": "git_buf *", + "comment": "Buffer where to write the packfile" + }, + { + "name": "pb", + "type": "git_packbuilder *", + "comment": "The packbuilder" + } + ], + "argline": "git_buf *buf, git_packbuilder *pb", + "sig": "git_buf *::git_packbuilder *", + "return": { + "type": "int", + "comment": null + }, + "description": "Write the contents of the packfile to an in-memory buffer
\n", + "comments": "The contents of the buffer will become a valid packfile, even though there will be no attached index
\n", + "group": "packbuilder" + }, "git_packbuilder_write": { "type": "function", - "file": "pack.h", - "line": 164, - "lineto": 169, + "file": "git2/pack.h", + "line": 165, + "lineto": 170, "args": [ { "name": "pb", @@ -12664,7 +13478,7 @@ }, { "name": "progress_cb", - "type": "git_transfer_progress_cb", + "type": "git_indexer_progress_cb", "comment": "function to call with progress information from the indexer (optional)" }, { @@ -12673,8 +13487,8 @@ "comment": "payload for the progress callback (optional)" } ], - "argline": "git_packbuilder *pb, const char *path, unsigned int mode, git_transfer_progress_cb progress_cb, void *progress_cb_payload", - "sig": "git_packbuilder *::const char *::unsigned int::git_transfer_progress_cb::void *", + "argline": "git_packbuilder *pb, const char *path, unsigned int mode, git_indexer_progress_cb progress_cb, void *progress_cb_payload", + "sig": "git_packbuilder *::const char *::unsigned int::git_indexer_progress_cb::void *", "return": { "type": "int", "comment": " 0 or an error code" @@ -12685,9 +13499,9 @@ }, "git_packbuilder_hash": { "type": "function", - "file": "pack.h", - "line": 179, - "lineto": 179, + "file": "git2/pack.h", + "line": 180, + "lineto": 180, "args": [ { "name": "pb", @@ -12707,9 +13521,9 @@ }, "git_packbuilder_foreach": { "type": "function", - "file": "pack.h", - "line": 191, - "lineto": 191, + "file": "git2/pack.h", + "line": 202, + "lineto": 202, "args": [ { "name": "pb", @@ -12739,9 +13553,9 @@ }, "git_packbuilder_object_count": { "type": "function", - "file": "pack.h", - "line": 199, - "lineto": 199, + "file": "git2/pack.h", + "line": 210, + "lineto": 210, "args": [ { "name": "pb", @@ -12761,9 +13575,9 @@ }, "git_packbuilder_written": { "type": "function", - "file": "pack.h", - "line": 207, - "lineto": 207, + "file": "git2/pack.h", + "line": 218, + "lineto": 218, "args": [ { "name": "pb", @@ -12783,9 +13597,9 @@ }, "git_packbuilder_set_callbacks": { "type": "function", - "file": "pack.h", - "line": 226, - "lineto": 229, + "file": "git2/pack.h", + "line": 237, + "lineto": 240, "args": [ { "name": "pb", @@ -12815,9 +13629,9 @@ }, "git_packbuilder_free": { "type": "function", - "file": "pack.h", - "line": 236, - "lineto": 236, + "file": "git2/pack.h", + "line": 247, + "lineto": 247, "args": [ { "name": "pb", @@ -12837,7 +13651,7 @@ }, "git_patch_from_diff": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 51, "lineto": 52, "args": [ @@ -12869,7 +13683,7 @@ }, "git_patch_from_blobs": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 70, "lineto": 76, "args": [ @@ -12916,7 +13730,7 @@ }, "git_patch_from_blob_and_buffer": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 95, "lineto": 102, "args": [ @@ -12968,7 +13782,7 @@ }, "git_patch_from_buffers": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 122, "lineto": 130, "args": [ @@ -13025,7 +13839,7 @@ }, "git_patch_free": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 135, "lineto": 135, "args": [ @@ -13047,7 +13861,7 @@ }, "git_patch_get_delta": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 141, "lineto": 141, "args": [ @@ -13069,7 +13883,7 @@ }, "git_patch_num_hunks": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 146, "lineto": 146, "args": [ @@ -13091,7 +13905,7 @@ }, "git_patch_line_stats": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 164, "lineto": 168, "args": [ @@ -13128,7 +13942,7 @@ }, "git_patch_get_hunk": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 183, "lineto": 187, "args": [ @@ -13165,7 +13979,7 @@ }, "git_patch_num_lines_in_hunk": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 196, "lineto": 198, "args": [ @@ -13192,7 +14006,7 @@ }, "git_patch_get_line_in_hunk": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 214, "lineto": 218, "args": [ @@ -13229,7 +14043,7 @@ }, "git_patch_size": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 236, "lineto": 240, "args": [ @@ -13266,7 +14080,7 @@ }, "git_patch_print": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 254, "lineto": 257, "args": [ @@ -13298,7 +14112,7 @@ }, "git_patch_to_buf": { "type": "function", - "file": "patch.h", + "file": "git2/patch.h", "line": 266, "lineto": 268, "args": [ @@ -13325,7 +14139,7 @@ }, "git_pathspec_new": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 82, "lineto": 83, "args": [ @@ -13351,13 +14165,13 @@ "group": "pathspec", "examples": { "log.c": [ - "ex/HEAD/log.html#git_pathspec_new-42" + "ex/HEAD/log.html#git_pathspec_new-40" ] } }, "git_pathspec_free": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 90, "lineto": 90, "args": [ @@ -13378,13 +14192,13 @@ "group": "pathspec", "examples": { "log.c": [ - "ex/HEAD/log.html#git_pathspec_free-43" + "ex/HEAD/log.html#git_pathspec_free-41" ] } }, "git_pathspec_matches_path": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 105, "lineto": 106, "args": [ @@ -13416,7 +14230,7 @@ }, "git_pathspec_match_workdir": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 130, "lineto": 134, "args": [ @@ -13453,7 +14267,7 @@ }, "git_pathspec_match_index": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 159, "lineto": 163, "args": [ @@ -13490,7 +14304,7 @@ }, "git_pathspec_match_tree": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 183, "lineto": 187, "args": [ @@ -13526,13 +14340,13 @@ "group": "pathspec", "examples": { "log.c": [ - "ex/HEAD/log.html#git_pathspec_match_tree-44" + "ex/HEAD/log.html#git_pathspec_match_tree-42" ] } }, "git_pathspec_match_diff": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 207, "lineto": 211, "args": [ @@ -13569,7 +14383,7 @@ }, "git_pathspec_match_list_free": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 218, "lineto": 218, "args": [ @@ -13591,7 +14405,7 @@ }, "git_pathspec_match_list_entrycount": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 226, "lineto": 227, "args": [ @@ -13613,7 +14427,7 @@ }, "git_pathspec_match_list_entry": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 239, "lineto": 240, "args": [ @@ -13640,7 +14454,7 @@ }, "git_pathspec_match_list_diff_entry": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 252, "lineto": 253, "args": [ @@ -13667,7 +14481,7 @@ }, "git_pathspec_match_list_failed_entrycount": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 264, "lineto": 265, "args": [ @@ -13689,7 +14503,7 @@ }, "git_pathspec_match_list_failed_entry": { "type": "function", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 276, "lineto": 277, "args": [ @@ -13714,48 +14528,48 @@ "comments": "This will be return NULL for positions out of range.
\n", "group": "pathspec" }, - "git_proxy_init_options": { + "git_proxy_options_init": { "type": "function", - "file": "proxy.h", - "line": 88, - "lineto": 88, + "file": "git2/proxy.h", + "line": 92, + "lineto": 92, "args": [ { "name": "opts", "type": "git_proxy_options *", - "comment": "the options struct to initialize" + "comment": "The `git_proxy_options` struct to initialize." }, { "name": "version", "type": "unsigned int", - "comment": "the version of the struct, use `GIT_PROXY_OPTIONS_VERSION`" + "comment": "The struct version; pass `GIT_PROXY_OPTIONS_VERSION`." } ], "argline": "git_proxy_options *opts, unsigned int version", "sig": "git_proxy_options *::unsigned int", "return": { "type": "int", - "comment": null + "comment": " Zero on success; -1 on failure." }, - "description": "Initialize a proxy options structure
\n", - "comments": "", + "description": "Initialize git_proxy_options structure
\n", + "comments": "Initializes a git_proxy_options with default values. Equivalent to creating an instance with GIT_PROXY_OPTIONS_INIT.
Initializes a git_rebase_options with default values. Equivalent to\n creating an instance with GIT_REBASE_OPTIONS_INIT.
Initialize git_rebase_options structure
\n", + "comments": "Initializes a git_rebase_options with default values. Equivalent to creating an instance with GIT_REBASE_OPTIONS_INIT.
Gets the original HEAD ref name for merge rebases.
Gets the original HEAD id for merge rebases.
Gets the onto ref name for merge rebases.
Gets the onto id for merge rebases.
Get the type of a reference.
\n", - "comments": "Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)
\n", + "comments": "Either direct (GIT_REFERENCE_DIRECT) or symbolic (GIT_REFERENCE_SYMBOLIC)
\n", "group": "reference", "examples": { "general.c": [ @@ -14950,7 +15851,7 @@ }, "git_reference_name": { "type": "function", - "file": "refs.h", + "file": "git2/refs.h", "line": 281, "lineto": 281, "args": [ @@ -14971,13 +15872,13 @@ "group": "reference", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_reference_name-31" + "ex/HEAD/merge.html#git_reference_name-25" ] } }, "git_reference_resolve": { "type": "function", - "file": "refs.h", + "file": "git2/refs.h", "line": 299, "lineto": 299, "args": [ @@ -15004,7 +15905,7 @@ }, "git_reference_owner": { "type": "function", - "file": "refs.h", + "file": "git2/refs.h", "line": 307, "lineto": 307, "args": [ @@ -15026,7 +15927,7 @@ }, "git_reference_symbolic_set_target": { "type": "function", - "file": "refs.h", + "file": "git2/refs.h", "line": 329, "lineto": 333, "args": [ @@ -15063,7 +15964,7 @@ }, "git_reference_set_target": { "type": "function", - "file": "refs.h", + "file": "git2/refs.h", "line": 349, "lineto": 353, "args": [ @@ -15099,13 +16000,13 @@ "group": "reference", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_reference_set_target-32" + "ex/HEAD/merge.html#git_reference_set_target-26" ] } }, "git_reference_rename": { "type": "function", - "file": "refs.h", + "file": "git2/refs.h", "line": 378, "lineto": 383, "args": [ @@ -15147,7 +16048,7 @@ }, "git_reference_delete": { "type": "function", - "file": "refs.h", + "file": "git2/refs.h", "line": 398, "lineto": 398, "args": [ @@ -15169,7 +16070,7 @@ }, "git_reference_remove": { "type": "function", - "file": "refs.h", + "file": "git2/refs.h", "line": 409, "lineto": 409, "args": [ @@ -15196,7 +16097,7 @@ }, "git_reference_list": { "type": "function", - "file": "refs.h", + "file": "git2/refs.h", "line": 423, "lineto": 423, "args": [ @@ -15228,9 +16129,9 @@ }, "git_reference_foreach": { "type": "function", - "file": "refs.h", - "line": 444, - "lineto": 447, + "file": "git2/refs.h", + "line": 463, + "lineto": 466, "args": [ { "name": "repo", @@ -15260,9 +16161,9 @@ }, "git_reference_foreach_name": { "type": "function", - "file": "refs.h", - "line": 462, - "lineto": 465, + "file": "git2/refs.h", + "line": 481, + "lineto": 484, "args": [ { "name": "repo", @@ -15292,9 +16193,9 @@ }, "git_reference_dup": { "type": "function", - "file": "refs.h", - "line": 476, - "lineto": 476, + "file": "git2/refs.h", + "line": 495, + "lineto": 495, "args": [ { "name": "dest", @@ -15319,9 +16220,9 @@ }, "git_reference_free": { "type": "function", - "file": "refs.h", - "line": 483, - "lineto": 483, + "file": "git2/refs.h", + "line": 502, + "lineto": 502, "args": [ { "name": "ref", @@ -15343,21 +16244,20 @@ "ex/HEAD/general.html#git_reference_free-67" ], "merge.c": [ - "ex/HEAD/merge.html#git_reference_free-33", - "ex/HEAD/merge.html#git_reference_free-34", - "ex/HEAD/merge.html#git_reference_free-35", - "ex/HEAD/merge.html#git_reference_free-36" + "ex/HEAD/merge.html#git_reference_free-27", + "ex/HEAD/merge.html#git_reference_free-28", + "ex/HEAD/merge.html#git_reference_free-29" ], "status.c": [ - "ex/HEAD/status.html#git_reference_free-3" + "ex/HEAD/status.html#git_reference_free-1" ] } }, "git_reference_cmp": { "type": "function", - "file": "refs.h", - "line": 492, - "lineto": 494, + "file": "git2/refs.h", + "line": 511, + "lineto": 513, "args": [ { "name": "ref1", @@ -15382,9 +16282,9 @@ }, "git_reference_iterator_new": { "type": "function", - "file": "refs.h", - "line": 503, - "lineto": 505, + "file": "git2/refs.h", + "line": 522, + "lineto": 524, "args": [ { "name": "out", @@ -15409,9 +16309,9 @@ }, "git_reference_iterator_glob_new": { "type": "function", - "file": "refs.h", - "line": 516, - "lineto": 519, + "file": "git2/refs.h", + "line": 535, + "lineto": 538, "args": [ { "name": "out", @@ -15441,9 +16341,9 @@ }, "git_reference_next": { "type": "function", - "file": "refs.h", - "line": 528, - "lineto": 528, + "file": "git2/refs.h", + "line": 547, + "lineto": 547, "args": [ { "name": "out", @@ -15468,9 +16368,9 @@ }, "git_reference_next_name": { "type": "function", - "file": "refs.h", - "line": 541, - "lineto": 541, + "file": "git2/refs.h", + "line": 560, + "lineto": 560, "args": [ { "name": "out", @@ -15495,9 +16395,9 @@ }, "git_reference_iterator_free": { "type": "function", - "file": "refs.h", - "line": 548, - "lineto": 548, + "file": "git2/refs.h", + "line": 567, + "lineto": 567, "args": [ { "name": "iter", @@ -15517,9 +16417,9 @@ }, "git_reference_foreach_glob": { "type": "function", - "file": "refs.h", - "line": 568, - "lineto": 572, + "file": "git2/refs.h", + "line": 587, + "lineto": 591, "args": [ { "name": "repo", @@ -15554,9 +16454,9 @@ }, "git_reference_has_log": { "type": "function", - "file": "refs.h", - "line": 582, - "lineto": 582, + "file": "git2/refs.h", + "line": 601, + "lineto": 601, "args": [ { "name": "repo", @@ -15581,9 +16481,9 @@ }, "git_reference_ensure_log": { "type": "function", - "file": "refs.h", - "line": 594, - "lineto": 594, + "file": "git2/refs.h", + "line": 613, + "lineto": 613, "args": [ { "name": "repo", @@ -15608,9 +16508,9 @@ }, "git_reference_is_branch": { "type": "function", - "file": "refs.h", - "line": 604, - "lineto": 604, + "file": "git2/refs.h", + "line": 623, + "lineto": 623, "args": [ { "name": "ref", @@ -15630,9 +16530,9 @@ }, "git_reference_is_remote": { "type": "function", - "file": "refs.h", - "line": 614, - "lineto": 614, + "file": "git2/refs.h", + "line": 633, + "lineto": 633, "args": [ { "name": "ref", @@ -15652,9 +16552,9 @@ }, "git_reference_is_tag": { "type": "function", - "file": "refs.h", - "line": 624, - "lineto": 624, + "file": "git2/refs.h", + "line": 643, + "lineto": 643, "args": [ { "name": "ref", @@ -15674,9 +16574,9 @@ }, "git_reference_is_note": { "type": "function", - "file": "refs.h", - "line": 634, - "lineto": 634, + "file": "git2/refs.h", + "line": 653, + "lineto": 653, "args": [ { "name": "ref", @@ -15696,9 +16596,9 @@ }, "git_reference_normalize_name": { "type": "function", - "file": "refs.h", - "line": 690, - "lineto": 694, + "file": "git2/refs.h", + "line": 709, + "lineto": 713, "args": [ { "name": "buffer_out", @@ -15718,7 +16618,7 @@ { "name": "flags", "type": "unsigned int", - "comment": "Flags to constrain name validation rules - see the\n GIT_REF_FORMAT constants above." + "comment": "Flags to constrain name validation rules - see the\n GIT_REFERENCE_FORMAT constants above." } ], "argline": "char *buffer_out, size_t buffer_size, const char *name, unsigned int flags", @@ -15733,9 +16633,9 @@ }, "git_reference_peel": { "type": "function", - "file": "refs.h", - "line": 711, - "lineto": 714, + "file": "git2/refs.h", + "line": 730, + "lineto": 733, "args": [ { "name": "out", @@ -15744,35 +16644,35 @@ }, { "name": "ref", - "type": "git_reference *", + "type": "const git_reference *", "comment": "The reference to be processed" }, { "name": "type", - "type": "git_otype", - "comment": "The type of the requested object (GIT_OBJ_COMMIT,\n GIT_OBJ_TAG, GIT_OBJ_TREE, GIT_OBJ_BLOB or GIT_OBJ_ANY)." + "type": "git_object_t", + "comment": "The type of the requested object (GIT_OBJECT_COMMIT,\n GIT_OBJECT_TAG, GIT_OBJECT_TREE, GIT_OBJECT_BLOB or GIT_OBJECT_ANY)." } ], - "argline": "git_object **out, git_reference *ref, git_otype type", - "sig": "git_object **::git_reference *::git_otype", + "argline": "git_object **out, const git_reference *ref, git_object_t type", + "sig": "git_object **::const git_reference *::git_object_t", "return": { "type": "int", "comment": " 0 on success, GIT_EAMBIGUOUS, GIT_ENOTFOUND or an error code" }, "description": "Recursively peel reference until object of the specified type is found.
\n", - "comments": "The retrieved peeled object is owned by the repository and should be closed with the git_object_free method.
If you pass GIT_OBJ_ANY as the target type, then the object will be peeled until a non-tag object is met.
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.
Parse a given refspec string
\n", + "comments": "", + "group": "refspec" + }, + "git_refspec_free": { + "type": "function", + "file": "git2/refspec.h", + "line": 39, + "lineto": 39, + "args": [ + { + "name": "refspec", + "type": "git_refspec *", + "comment": "the refspec object" + } + ], + "argline": "git_refspec *refspec", + "sig": "git_refspec *", + "return": { + "type": "void", + "comment": null + }, + "description": "Free a refspec object which has been created by git_refspec_parse
\n", + "comments": "", + "group": "refspec" + }, "git_refspec_src": { "type": "function", - "file": "refspec.h", - "line": 30, - "lineto": 30, + "file": "git2/refspec.h", + "line": 47, + "lineto": 47, "args": [ { "name": "refspec", @@ -15841,9 +16795,9 @@ }, "git_refspec_dst": { "type": "function", - "file": "refspec.h", - "line": 38, - "lineto": 38, + "file": "git2/refspec.h", + "line": 55, + "lineto": 55, "args": [ { "name": "refspec", @@ -15863,9 +16817,9 @@ }, "git_refspec_string": { "type": "function", - "file": "refspec.h", - "line": 46, - "lineto": 46, + "file": "git2/refspec.h", + "line": 63, + "lineto": 63, "args": [ { "name": "refspec", @@ -15885,9 +16839,9 @@ }, "git_refspec_force": { "type": "function", - "file": "refspec.h", - "line": 54, - "lineto": 54, + "file": "git2/refspec.h", + "line": 71, + "lineto": 71, "args": [ { "name": "refspec", @@ -15907,9 +16861,9 @@ }, "git_refspec_direction": { "type": "function", - "file": "refspec.h", - "line": 62, - "lineto": 62, + "file": "git2/refspec.h", + "line": 79, + "lineto": 79, "args": [ { "name": "spec", @@ -15929,9 +16883,9 @@ }, "git_refspec_src_matches": { "type": "function", - "file": "refspec.h", - "line": 71, - "lineto": 71, + "file": "git2/refspec.h", + "line": 88, + "lineto": 88, "args": [ { "name": "refspec", @@ -15956,9 +16910,9 @@ }, "git_refspec_dst_matches": { "type": "function", - "file": "refspec.h", - "line": 80, - "lineto": 80, + "file": "git2/refspec.h", + "line": 97, + "lineto": 97, "args": [ { "name": "refspec", @@ -15983,9 +16937,9 @@ }, "git_refspec_transform": { "type": "function", - "file": "refspec.h", - "line": 90, - "lineto": 90, + "file": "git2/refspec.h", + "line": 107, + "lineto": 107, "args": [ { "name": "out", @@ -16015,9 +16969,9 @@ }, "git_refspec_rtransform": { "type": "function", - "file": "refspec.h", - "line": 100, - "lineto": 100, + "file": "git2/refspec.h", + "line": 117, + "lineto": 117, "args": [ { "name": "out", @@ -16047,7 +17001,7 @@ }, "git_remote_create": { "type": "function", - "file": "remote.h", + "file": "git2/remote.h", "line": 38, "lineto": 42, "args": [ @@ -16083,15 +17037,74 @@ "group": "remote", "examples": { "remote.c": [ - "ex/HEAD/remote.html#git_remote_create-4" + "ex/HEAD/remote.html#git_remote_create-1" ] } }, + "git_remote_create_options_init": { + "type": "function", + "file": "git2/remote.h", + "line": 97, + "lineto": 99, + "args": [ + { + "name": "opts", + "type": "git_remote_create_options *", + "comment": "The `git_remote_create_options` struct to initialize." + }, + { + "name": "version", + "type": "unsigned int", + "comment": "The struct version; pass `GIT_REMOTE_CREATE_OPTIONS_VERSION`." + } + ], + "argline": "git_remote_create_options *opts, unsigned int version", + "sig": "git_remote_create_options *::unsigned int", + "return": { + "type": "int", + "comment": " Zero on success; -1 on failure." + }, + "description": "Initialize git_remote_create_options structure
\n", + "comments": "Initializes a git_remote_create_options with default values. Equivalent to creating an instance with GIT_REMOTE_CREATE_OPTIONS_INIT.
Create a remote, with options.
\n", + "comments": "This function allows more fine-grained control over the remote creation.
\n\nPassing NULL as the opts argument will result in a detached remote.
\n", + "group": "remote" + }, "git_remote_create_with_fetchspec": { "type": "function", - "file": "remote.h", - "line": 55, - "lineto": 60, + "file": "git2/remote.h", + "line": 129, + "lineto": 134, "args": [ { "name": "out", @@ -16131,9 +17144,9 @@ }, "git_remote_create_anonymous": { "type": "function", - "file": "remote.h", - "line": 73, - "lineto": 76, + "file": "git2/remote.h", + "line": 147, + "lineto": 150, "args": [ { "name": "out", @@ -16161,19 +17174,19 @@ "comments": "Create a remote with the given url in-memory. You can use this when you have a URL instead of a remote's name.
\n", "group": "remote", "examples": { - "network/fetch.c": [ - "ex/HEAD/network/fetch.html#git_remote_create_anonymous-4" + "fetch.c": [ + "ex/HEAD/fetch.html#git_remote_create_anonymous-4" ], - "network/ls-remote.c": [ - "ex/HEAD/network/ls-remote.html#git_remote_create_anonymous-2" + "ls-remote.c": [ + "ex/HEAD/ls-remote.html#git_remote_create_anonymous-2" ] } }, "git_remote_create_detached": { "type": "function", - "file": "remote.h", - "line": 92, - "lineto": 94, + "file": "git2/remote.h", + "line": 166, + "lineto": 168, "args": [ { "name": "out", @@ -16198,9 +17211,9 @@ }, "git_remote_lookup": { "type": "function", - "file": "remote.h", - "line": 107, - "lineto": 107, + "file": "git2/remote.h", + "line": 181, + "lineto": 181, "args": [ { "name": "out", @@ -16228,22 +17241,22 @@ "comments": "The name will be checked for validity. See git_tag_create() for rules about valid names.
The transport is selected based on the URL. The direction argument is due to a limitation of the git protocol (over TCP or SSH) which starts up a specific binary which can only do the one or the other.
\n", "group": "remote", "examples": { - "network/ls-remote.c": [ - "ex/HEAD/network/ls-remote.html#git_remote_connect-4" + "ls-remote.c": [ + "ex/HEAD/ls-remote.html#git_remote_connect-4" ] } }, "git_remote_ls": { "type": "function", - "file": "remote.h", - "line": 287, - "lineto": 287, + "file": "git2/remote.h", + "line": 361, + "lineto": 361, "args": [ { "name": "out", @@ -16684,16 +17697,16 @@ "comments": "Get the list of references with which the server responds to a new connection.
\n\nThe remote (or more exactly its transport) must have connected to the remote repository. This list is available as soon as the connection to the remote is initiated and it remains available after disconnecting.
\n\nThe memory belongs to the remote. The pointer will be valid as long as a new connection is not initiated, but it is recommended that you make a copy in order to make use of the data.
\n", "group": "remote", "examples": { - "network/ls-remote.c": [ - "ex/HEAD/network/ls-remote.html#git_remote_ls-5" + "ls-remote.c": [ + "ex/HEAD/ls-remote.html#git_remote_ls-5" ] } }, "git_remote_connected": { "type": "function", - "file": "remote.h", - "line": 298, - "lineto": 298, + "file": "git2/remote.h", + "line": 372, + "lineto": 372, "args": [ { "name": "remote", @@ -16713,9 +17726,9 @@ }, "git_remote_stop": { "type": "function", - "file": "remote.h", - "line": 308, - "lineto": 308, + "file": "git2/remote.h", + "line": 382, + "lineto": 382, "args": [ { "name": "remote", @@ -16735,9 +17748,9 @@ }, "git_remote_disconnect": { "type": "function", - "file": "remote.h", - "line": 317, - "lineto": 317, + "file": "git2/remote.h", + "line": 391, + "lineto": 391, "args": [ { "name": "remote", @@ -16757,9 +17770,9 @@ }, "git_remote_free": { "type": "function", - "file": "remote.h", - "line": 327, - "lineto": 327, + "file": "git2/remote.h", + "line": 401, + "lineto": 401, "args": [ { "name": "remote", @@ -16777,23 +17790,23 @@ "comments": "This also disconnects from the remote, if the connection has not been closed yet (using git_remote_disconnect).
\n", "group": "remote", "examples": { - "network/fetch.c": [ - "ex/HEAD/network/fetch.html#git_remote_free-6", - "ex/HEAD/network/fetch.html#git_remote_free-7" + "fetch.c": [ + "ex/HEAD/fetch.html#git_remote_free-6", + "ex/HEAD/fetch.html#git_remote_free-7" ], - "network/ls-remote.c": [ - "ex/HEAD/network/ls-remote.html#git_remote_free-6" + "ls-remote.c": [ + "ex/HEAD/ls-remote.html#git_remote_free-6" ], "remote.c": [ - "ex/HEAD/remote.html#git_remote_free-10" + "ex/HEAD/remote.html#git_remote_free-7" ] } }, "git_remote_list": { "type": "function", - "file": "remote.h", - "line": 338, - "lineto": 338, + "file": "git2/remote.h", + "line": 412, + "lineto": 412, "args": [ { "name": "out", @@ -16817,15 +17830,15 @@ "group": "remote", "examples": { "remote.c": [ - "ex/HEAD/remote.html#git_remote_list-11" + "ex/HEAD/remote.html#git_remote_list-8" ] } }, "git_remote_init_callbacks": { "type": "function", - "file": "remote.h", - "line": 503, - "lineto": 505, + "file": "git2/remote.h", + "line": 599, + "lineto": 601, "args": [ { "name": "opts", @@ -16848,21 +17861,21 @@ "comments": "", "group": "remote" }, - "git_fetch_init_options": { + "git_fetch_options_init": { "type": "function", - "file": "remote.h", - "line": 607, - "lineto": 609, + "file": "git2/remote.h", + "line": 705, + "lineto": 707, "args": [ { "name": "opts", "type": "git_fetch_options *", - "comment": "the `git_fetch_options` instance to initialize." + "comment": "The `git_fetch_options` struct to initialize." }, { "name": "version", "type": "unsigned int", - "comment": "the version of the struct; you should pass\n `GIT_FETCH_OPTIONS_VERSION` here." + "comment": "The struct version; pass `GIT_FETCH_OPTIONS_VERSION`." } ], "argline": "git_fetch_options *opts, unsigned int version", @@ -16871,25 +17884,25 @@ "type": "int", "comment": " Zero on success; -1 on failure." }, - "description": "Initializes a git_fetch_options with default values. Equivalent to\n creating an instance with GIT_FETCH_OPTIONS_INIT.
Initialize git_fetch_options structure
\n", + "comments": "Initializes a git_fetch_options with default values. Equivalent to creating an instance with GIT_FETCH_OPTIONS_INIT.
Initializes a git_push_options with default values. Equivalent to\n creating an instance with GIT_PUSH_OPTIONS_INIT.
Initialize git_push_options structure
\n", + "comments": "Initializes a git_push_options with default values. Equivalent to creating an instance with GIT_PUSH_OPTIONS_INIT.
Convenience function to connect to a remote, download the data, disconnect and update the remote-tracking branches.
\n", "group": "remote", "examples": { - "network/fetch.c": [ - "ex/HEAD/network/fetch.html#git_remote_fetch-8" + "fetch.c": [ + "ex/HEAD/fetch.html#git_remote_fetch-8" ] } }, "git_remote_prune": { "type": "function", - "file": "remote.h", - "line": 740, - "lineto": 740, + "file": "git2/remote.h", + "line": 839, + "lineto": 839, "args": [ { "name": "remote", @@ -17079,9 +18092,9 @@ }, "git_remote_push": { "type": "function", - "file": "remote.h", - "line": 752, - "lineto": 754, + "file": "git2/remote.h", + "line": 851, + "lineto": 853, "args": [ { "name": "remote", @@ -17111,9 +18124,9 @@ }, "git_remote_stats": { "type": "function", - "file": "remote.h", - "line": 759, - "lineto": 759, + "file": "git2/remote.h", + "line": 858, + "lineto": 858, "args": [ { "name": "remote", @@ -17124,23 +18137,23 @@ "argline": "git_remote *remote", "sig": "git_remote *", "return": { - "type": "const git_transfer_progress *", + "type": "const git_indexer_progress *", "comment": null }, "description": "Get the statistics structure that is filled in by the fetch operation.
\n", "comments": "", "group": "remote", "examples": { - "network/fetch.c": [ - "ex/HEAD/network/fetch.html#git_remote_stats-9" + "fetch.c": [ + "ex/HEAD/fetch.html#git_remote_stats-9" ] } }, "git_remote_autotag": { "type": "function", - "file": "remote.h", - "line": 767, - "lineto": 767, + "file": "git2/remote.h", + "line": 866, + "lineto": 866, "args": [ { "name": "remote", @@ -17160,9 +18173,9 @@ }, "git_remote_set_autotag": { "type": "function", - "file": "remote.h", - "line": 779, - "lineto": 779, + "file": "git2/remote.h", + "line": 878, + "lineto": 878, "args": [ { "name": "repo", @@ -17192,9 +18205,9 @@ }, "git_remote_prune_refs": { "type": "function", - "file": "remote.h", - "line": 786, - "lineto": 786, + "file": "git2/remote.h", + "line": 885, + "lineto": 885, "args": [ { "name": "remote", @@ -17214,9 +18227,9 @@ }, "git_remote_rename": { "type": "function", - "file": "remote.h", - "line": 808, - "lineto": 812, + "file": "git2/remote.h", + "line": 907, + "lineto": 911, "args": [ { "name": "problems", @@ -17250,15 +18263,15 @@ "group": "remote", "examples": { "remote.c": [ - "ex/HEAD/remote.html#git_remote_rename-12" + "ex/HEAD/remote.html#git_remote_rename-9" ] } }, "git_remote_is_valid_name": { "type": "function", - "file": "remote.h", - "line": 820, - "lineto": 820, + "file": "git2/remote.h", + "line": 919, + "lineto": 919, "args": [ { "name": "remote_name", @@ -17278,9 +18291,9 @@ }, "git_remote_delete": { "type": "function", - "file": "remote.h", - "line": 832, - "lineto": 832, + "file": "git2/remote.h", + "line": 931, + "lineto": 931, "args": [ { "name": "repo", @@ -17304,15 +18317,15 @@ "group": "remote", "examples": { "remote.c": [ - "ex/HEAD/remote.html#git_remote_delete-13" + "ex/HEAD/remote.html#git_remote_delete-10" ] } }, "git_remote_default_branch": { "type": "function", - "file": "remote.h", - "line": 850, - "lineto": 850, + "file": "git2/remote.h", + "line": 949, + "lineto": 949, "args": [ { "name": "out", @@ -17337,7 +18350,7 @@ }, "git_repository_open": { "type": "function", - "file": "repository.h", + "file": "git2/repository.h", "line": 37, "lineto": 37, "args": [ @@ -17364,15 +18377,12 @@ "examples": { "general.c": [ "ex/HEAD/general.html#git_repository_open-68" - ], - "remote.c": [ - "ex/HEAD/remote.html#git_repository_open-14" ] } }, "git_repository_open_from_worktree": { "type": "function", - "file": "repository.h", + "file": "git2/repository.h", "line": 48, "lineto": 48, "args": [ @@ -17399,7 +18409,7 @@ }, "git_repository_wrap_odb": { "type": "function", - "file": "repository.h", + "file": "git2/repository.h", "line": 61, "lineto": 61, "args": [ @@ -17426,7 +18436,7 @@ }, "git_repository_discover": { "type": "function", - "file": "repository.h", + "file": "git2/repository.h", "line": 89, "lineto": 93, "args": [ @@ -17459,18 +18469,13 @@ }, "description": "Look for a git repository and copy its path in the given buffer.\n The lookup start from base_path and walk across parent directories\n if nothing has been found. The lookup ends when the first repository\n is found, or when reaching a directory referenced in ceiling_dirs\n or when the filesystem changes (in case across_fs is true).
\n", "comments": "The method will automatically detect if the repository is bare (if there is a repository).
\n", - "group": "repository", - "examples": { - "remote.c": [ - "ex/HEAD/remote.html#git_repository_discover-15" - ] - } + "group": "repository" }, "git_repository_open_ext": { "type": "function", - "file": "repository.h", - "line": 152, - "lineto": 156, + "file": "git2/repository.h", + "line": 165, + "lineto": 169, "args": [ { "name": "out", @@ -17503,41 +18508,16 @@ "comments": "", "group": "repository", "examples": { - "blame.c": [ - "ex/HEAD/blame.html#git_repository_open_ext-24" - ], - "cat-file.c": [ - "ex/HEAD/cat-file.html#git_repository_open_ext-31" - ], - "describe.c": [ - "ex/HEAD/describe.html#git_repository_open_ext-6" - ], - "diff.c": [ - "ex/HEAD/diff.html#git_repository_open_ext-15" - ], "log.c": [ - "ex/HEAD/log.html#git_repository_open_ext-45", - "ex/HEAD/log.html#git_repository_open_ext-46" - ], - "merge.c": [ - "ex/HEAD/merge.html#git_repository_open_ext-38" - ], - "rev-parse.c": [ - "ex/HEAD/rev-parse.html#git_repository_open_ext-16" - ], - "status.c": [ - "ex/HEAD/status.html#git_repository_open_ext-5" - ], - "tag.c": [ - "ex/HEAD/tag.html#git_repository_open_ext-11" + "ex/HEAD/log.html#git_repository_open_ext-43" ] } }, "git_repository_open_bare": { "type": "function", - "file": "repository.h", - "line": 169, - "lineto": 169, + "file": "git2/repository.h", + "line": 182, + "lineto": 182, "args": [ { "name": "out", @@ -17562,9 +18542,9 @@ }, "git_repository_free": { "type": "function", - "file": "repository.h", - "line": 182, - "lineto": 182, + "file": "git2/repository.h", + "line": 195, + "lineto": 195, "args": [ { "name": "repo", @@ -17582,49 +18562,19 @@ "comments": "Note that after a repository is free'd, all the objects it has spawned will still exist until they are manually closed by the user with git_object_free, but accessing any of the attributes of an object without a backing repository will result in undefined behavior
Initializes a git_repository_init_options with default values. Equivalent\n to creating an instance with GIT_REPOSITORY_INIT_OPTIONS_INIT.
Initialize git_repository_init_options structure
\n", + "comments": "Initializes a git_repository_init_options with default values. Equivalent to creating an instance with GIT_REPOSITORY_INIT_OPTIONS_INIT.
A repository's HEAD is detached when it points directly to a commit instead of a branch.
\n", "group": "repository" }, + "git_repository_head_detached_for_worktree": { + "type": "function", + "file": "git2/repository.h", + "line": 397, + "lineto": 398, + "args": [ + { + "name": "repo", + "type": "git_repository *", + "comment": "a repository object" + }, + { + "name": "name", + "type": "const char *", + "comment": "name of the worktree to retrieve HEAD for" + } + ], + "argline": "git_repository *repo, const char *name", + "sig": "git_repository *::const char *", + "return": { + "type": "int", + "comment": " 1 if HEAD is detached, 0 if its not; error code if\n there was an error" + }, + "description": "Check if a worktree's HEAD is detached
\n", + "comments": "A worktree's HEAD is detached when it points directly to a commit instead of a branch.
\n", + "group": "repository" + }, "git_repository_head_unborn": { "type": "function", - "file": "repository.h", - "line": 395, - "lineto": 395, + "file": "git2/repository.h", + "line": 410, + "lineto": 410, "args": [ { "name": "repo", @@ -17835,9 +18812,9 @@ }, "git_repository_is_empty": { "type": "function", - "file": "repository.h", - "line": 407, - "lineto": 407, + "file": "git2/repository.h", + "line": 422, + "lineto": 422, "args": [ { "name": "repo", @@ -17857,9 +18834,9 @@ }, "git_repository_item_path": { "type": "function", - "file": "repository.h", - "line": 443, - "lineto": 443, + "file": "git2/repository.h", + "line": 459, + "lineto": 459, "args": [ { "name": "out", @@ -17889,9 +18866,9 @@ }, "git_repository_path": { "type": "function", - "file": "repository.h", - "line": 454, - "lineto": 454, + "file": "git2/repository.h", + "line": 470, + "lineto": 470, "args": [ { "name": "repo", @@ -17910,18 +18887,18 @@ "group": "repository", "examples": { "init.c": [ - "ex/HEAD/init.html#git_repository_path-9" + "ex/HEAD/init.html#git_repository_path-7" ], "status.c": [ - "ex/HEAD/status.html#git_repository_path-8" + "ex/HEAD/status.html#git_repository_path-4" ] } }, "git_repository_workdir": { "type": "function", - "file": "repository.h", - "line": 465, - "lineto": 465, + "file": "git2/repository.h", + "line": 481, + "lineto": 481, "args": [ { "name": "repo", @@ -17940,15 +18917,15 @@ "group": "repository", "examples": { "init.c": [ - "ex/HEAD/init.html#git_repository_workdir-10" + "ex/HEAD/init.html#git_repository_workdir-8" ] } }, "git_repository_commondir": { "type": "function", - "file": "repository.h", - "line": 476, - "lineto": 476, + "file": "git2/repository.h", + "line": 492, + "lineto": 492, "args": [ { "name": "repo", @@ -17968,9 +18945,9 @@ }, "git_repository_set_workdir": { "type": "function", - "file": "repository.h", - "line": 495, - "lineto": 496, + "file": "git2/repository.h", + "line": 511, + "lineto": 512, "args": [ { "name": "repo", @@ -18000,9 +18977,9 @@ }, "git_repository_is_bare": { "type": "function", - "file": "repository.h", - "line": 504, - "lineto": 504, + "file": "git2/repository.h", + "line": 520, + "lineto": 520, "args": [ { "name": "repo", @@ -18021,15 +18998,15 @@ "group": "repository", "examples": { "status.c": [ - "ex/HEAD/status.html#git_repository_is_bare-9" + "ex/HEAD/status.html#git_repository_is_bare-5" ] } }, "git_repository_is_worktree": { "type": "function", - "file": "repository.h", - "line": 512, - "lineto": 512, + "file": "git2/repository.h", + "line": 528, + "lineto": 528, "args": [ { "name": "repo", @@ -18049,9 +19026,9 @@ }, "git_repository_config": { "type": "function", - "file": "repository.h", - "line": 528, - "lineto": 528, + "file": "git2/repository.h", + "line": 544, + "lineto": 544, "args": [ { "name": "out", @@ -18076,9 +19053,9 @@ }, "git_repository_config_snapshot": { "type": "function", - "file": "repository.h", - "line": 544, - "lineto": 544, + "file": "git2/repository.h", + "line": 560, + "lineto": 560, "args": [ { "name": "out", @@ -18109,9 +19086,9 @@ }, "git_repository_odb": { "type": "function", - "file": "repository.h", - "line": 560, - "lineto": 560, + "file": "git2/repository.h", + "line": 576, + "lineto": 576, "args": [ { "name": "out", @@ -18135,7 +19112,7 @@ "group": "repository", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_repository_odb-33" + "ex/HEAD/cat-file.html#git_repository_odb-29" ], "general.c": [ "ex/HEAD/general.html#git_repository_odb-72" @@ -18144,9 +19121,9 @@ }, "git_repository_refdb": { "type": "function", - "file": "repository.h", - "line": 576, - "lineto": 576, + "file": "git2/repository.h", + "line": 592, + "lineto": 592, "args": [ { "name": "out", @@ -18171,9 +19148,9 @@ }, "git_repository_index": { "type": "function", - "file": "repository.h", - "line": 592, - "lineto": 592, + "file": "git2/repository.h", + "line": 608, + "lineto": 608, "args": [ { "name": "out", @@ -18196,22 +19173,28 @@ "comments": "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.
\n", "group": "repository", "examples": { + "add.c": [ + "ex/HEAD/add.html#git_repository_index-5" + ], "general.c": [ "ex/HEAD/general.html#git_repository_index-73" ], "init.c": [ - "ex/HEAD/init.html#git_repository_index-11" + "ex/HEAD/init.html#git_repository_index-9" + ], + "ls-files.c": [ + "ex/HEAD/ls-files.html#git_repository_index-5" ], "merge.c": [ - "ex/HEAD/merge.html#git_repository_index-42" + "ex/HEAD/merge.html#git_repository_index-33" ] } }, "git_repository_message": { "type": "function", - "file": "repository.h", - "line": 610, - "lineto": 610, + "file": "git2/repository.h", + "line": 626, + "lineto": 626, "args": [ { "name": "out", @@ -18236,9 +19219,9 @@ }, "git_repository_message_remove": { "type": "function", - "file": "repository.h", - "line": 617, - "lineto": 617, + "file": "git2/repository.h", + "line": 633, + "lineto": 633, "args": [ { "name": "repo", @@ -18258,9 +19241,9 @@ }, "git_repository_state_cleanup": { "type": "function", - "file": "repository.h", - "line": 626, - "lineto": 626, + "file": "git2/repository.h", + "line": 642, + "lineto": 642, "args": [ { "name": "repo", @@ -18279,15 +19262,15 @@ "group": "repository", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_repository_state_cleanup-43" + "ex/HEAD/merge.html#git_repository_state_cleanup-34" ] } }, "git_repository_fetchhead_foreach": { "type": "function", - "file": "repository.h", - "line": 645, - "lineto": 648, + "file": "git2/repository.h", + "line": 673, + "lineto": 676, "args": [ { "name": "repo", @@ -18317,9 +19300,9 @@ }, "git_repository_mergehead_foreach": { "type": "function", - "file": "repository.h", - "line": 665, - "lineto": 668, + "file": "git2/repository.h", + "line": 702, + "lineto": 705, "args": [ { "name": "repo", @@ -18349,9 +19332,9 @@ }, "git_repository_hashfile": { "type": "function", - "file": "repository.h", - "line": 693, - "lineto": 698, + "file": "git2/repository.h", + "line": 730, + "lineto": 735, "args": [ { "name": "out", @@ -18370,8 +19353,8 @@ }, { "name": "type", - "type": "git_otype", - "comment": "The object type to hash as (e.g. GIT_OBJ_BLOB)" + "type": "git_object_t", + "comment": "The object type to hash as (e.g. GIT_OBJECT_BLOB)" }, { "name": "as_path", @@ -18379,8 +19362,8 @@ "comment": "The path to use to look up filtering rules. If this is\n NULL, then the `path` parameter will be used instead. If\n this is passed as the empty string, then no filters will be\n applied when calculating the hash." } ], - "argline": "git_oid *out, git_repository *repo, const char *path, git_otype type, const char *as_path", - "sig": "git_oid *::git_repository *::const char *::git_otype::const char *", + "argline": "git_oid *out, git_repository *repo, const char *path, git_object_t type, const char *as_path", + "sig": "git_oid *::git_repository *::const char *::git_object_t::const char *", "return": { "type": "int", "comment": " 0 on success, or an error code" @@ -18391,9 +19374,9 @@ }, "git_repository_set_head": { "type": "function", - "file": "repository.h", - "line": 718, - "lineto": 720, + "file": "git2/repository.h", + "line": 755, + "lineto": 757, "args": [ { "name": "repo", @@ -18414,13 +19397,18 @@ }, "description": "Make the repository HEAD point to the specified reference.
\n", "comments": "If the provided reference points to a Tree or a Blob, the HEAD is unaltered and -1 is returned.
\n\nIf the provided reference points to a branch, the HEAD will point to that branch, staying attached, or become attached if it isn't yet. If the branch doesn't exist yet, no error will be return. The HEAD will then be attached to an unborn branch.
\n\nOtherwise, the HEAD will be detached and will directly point to the Commit.
\n", - "group": "repository" + "group": "repository", + "examples": { + "checkout.c": [ + "ex/HEAD/checkout.html#git_repository_set_head-12" + ] + } }, "git_repository_set_head_detached": { "type": "function", - "file": "repository.h", - "line": 738, - "lineto": 740, + "file": "git2/repository.h", + "line": 775, + "lineto": 777, "args": [ { "name": "repo", @@ -18445,9 +19433,9 @@ }, "git_repository_set_head_detached_from_annotated": { "type": "function", - "file": "repository.h", - "line": 754, - "lineto": 756, + "file": "git2/repository.h", + "line": 791, + "lineto": 793, "args": [ { "name": "repo", @@ -18468,13 +19456,18 @@ }, "description": "Make the repository HEAD directly point to the Commit.
\n", "comments": "This behaves like git_repository_set_head_detached() but takes an annotated commit, which lets you specify which extended sha syntax string was specified by a user, allowing for more exact reflog messages.
See the documentation for git_repository_set_head_detached().
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.
Initializes a git_revert_options with default values. Equivalent to\n creating an instance with GIT_REVERT_OPTIONS_INIT.
Initialize git_revert_options structure
\n", + "comments": "Initializes a git_revert_options with default values. Equivalent to creating an instance with GIT_REVERT_OPTIONS_INIT.
Adds a callback function to hide a commit and its parents
\n", + "description": "Adds, changes or removes a callback function to hide a commit and its parents
\n", "comments": "", "group": "revwalk" }, "git_signature_new": { "type": "function", - "file": "signature.h", + "file": "git2/signature.h", "line": 37, "lineto": 37, "args": [ @@ -19509,12 +20505,12 @@ { "name": "time", "type": "git_time_t", - "comment": "time when the action happened" + "comment": "time (in seconds from epoch) when the action happened" }, { "name": "offset", "type": "int", - "comment": "timezone offset in minutes for the time" + "comment": "timezone offset (in minutes) for the time" } ], "argline": "git_signature **out, const char *name, const char *email, git_time_t time, int offset", @@ -19535,7 +20531,7 @@ }, "git_signature_now": { "type": "function", - "file": "signature.h", + "file": "git2/signature.h", "line": 49, "lineto": 49, "args": [ @@ -19566,13 +20562,13 @@ "group": "signature", "examples": { "merge.c": [ - "ex/HEAD/merge.html#git_signature_now-45" + "ex/HEAD/merge.html#git_signature_now-36" ] } }, "git_signature_default": { "type": "function", - "file": "signature.h", + "file": "git2/signature.h", "line": 63, "lineto": 63, "args": [ @@ -19598,16 +20594,16 @@ "group": "signature", "examples": { "init.c": [ - "ex/HEAD/init.html#git_signature_default-12" + "ex/HEAD/init.html#git_signature_default-10" ], "tag.c": [ - "ex/HEAD/tag.html#git_signature_default-17" + "ex/HEAD/tag.html#git_signature_default-13" ] } }, "git_signature_from_buffer": { "type": "function", - "file": "signature.h", + "file": "git2/signature.h", "line": 76, "lineto": 76, "args": [ @@ -19634,7 +20630,7 @@ }, "git_signature_dup": { "type": "function", - "file": "signature.h", + "file": "git2/signature.h", "line": 88, "lineto": 88, "args": [ @@ -19661,7 +20657,7 @@ }, "git_signature_free": { "type": "function", - "file": "signature.h", + "file": "git2/signature.h", "line": 99, "lineto": 99, "args": [ @@ -19686,28 +20682,70 @@ "ex/HEAD/general.html#git_signature_free-82" ], "init.c": [ - "ex/HEAD/init.html#git_signature_free-13" + "ex/HEAD/init.html#git_signature_free-11" ], "tag.c": [ - "ex/HEAD/tag.html#git_signature_free-18" + "ex/HEAD/tag.html#git_signature_free-14" ] } }, - "git_stash_apply_init_options": { + "git_stash_save": { "type": "function", - "file": "stash.h", - "line": 153, - "lineto": 154, + "file": "git2/stash.h", + "line": 67, + "lineto": 72, + "args": [ + { + "name": "out", + "type": "git_oid *", + "comment": "Object id of the commit containing the stashed state.\n This commit is also the target of the direct reference refs/stash." + }, + { + "name": "repo", + "type": "git_repository *", + "comment": "The owning repository." + }, + { + "name": "stasher", + "type": "const git_signature *", + "comment": "The identity of the person performing the stashing." + }, + { + "name": "message", + "type": "const char *", + "comment": "Optional description along with the stashed state." + }, + { + "name": "flags", + "type": "uint32_t", + "comment": "Flags to control the stashing process. (see GIT_STASH_* above)" + } + ], + "argline": "git_oid *out, git_repository *repo, const git_signature *stasher, const char *message, uint32_t flags", + "sig": "git_oid *::git_repository *::const git_signature *::const char *::uint32_t", + "return": { + "type": "int", + "comment": " 0 on success, GIT_ENOTFOUND where there's nothing to stash,\n or error code." + }, + "description": "Save the local modifications to a new stash.
\n", + "comments": "", + "group": "stash" + }, + "git_stash_apply_options_init": { + "type": "function", + "file": "git2/stash.h", + "line": 156, + "lineto": 157, "args": [ { "name": "opts", "type": "git_stash_apply_options *", - "comment": "the `git_stash_apply_options` instance to initialize." + "comment": "The `git_stash_apply_options` struct to initialize." }, { "name": "version", "type": "unsigned int", - "comment": "the version of the struct; you should pass\n `GIT_STASH_APPLY_OPTIONS_INIT` here." + "comment": "The struct version; pass `GIT_STASH_APPLY_OPTIONS_VERSION`." } ], "argline": "git_stash_apply_options *opts, unsigned int version", @@ -19716,15 +20754,15 @@ "type": "int", "comment": " Zero on success; -1 on failure." }, - "description": "Initializes a git_stash_apply_options with default values. Equivalent to\n creating an instance with GIT_STASH_APPLY_OPTIONS_INIT.
Initialize git_stash_apply_options structure
\n", + "comments": "Initializes a git_stash_apply_options with default values. Equivalent to creating an instance with GIT_STASH_APPLY_OPTIONS_INIT.
Initializes a git_status_options with default values. Equivalent to\n creating an instance with GIT_STATUS_OPTIONS_INIT.
Initialize git_status_options structure
\n", + "comments": "Initializes a git_status_options with default values. Equivalent to creating an instance with GIT_STATUS_OPTIONS_INIT.
Get file status for a single file.
\n", "comments": "This tries to get status for the filename that you give. If no files match that name (in either the HEAD, index, or working directory), this returns GIT_ENOTFOUND.
\n\nIf 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.
Note: target is overwritten and hence should be empty, otherwise its contents are leaked. Call git_strarray_free() if necessary.
\n", "group": "strarray" }, - "git_submodule_update_init_options": { + "git_submodule_update_options_init": { "type": "function", - "file": "submodule.h", - "line": 170, - "lineto": 171, + "file": "git2/submodule.h", + "line": 171, + "lineto": 172, "args": [ { "name": "opts", "type": "git_submodule_update_options *", - "comment": "The `git_submodule_update_options` instance to initialize." + "comment": "The `git_submodule_update_options` struct to initialize." }, { "name": "version", "type": "unsigned int", - "comment": "Version of struct; pass `GIT_SUBMODULE_UPDATE_OPTIONS_VERSION`" + "comment": "The struct version; pass `GIT_SUBMODULE_UPDATE_OPTIONS_VERSION`." } ], "argline": "git_submodule_update_options *opts, unsigned int version", @@ -20227,15 +21270,15 @@ "type": "int", "comment": " Zero on success; -1 on failure." }, - "description": "Initializes a git_submodule_update_options with default values.\n Equivalent to creating an instance with GIT_SUBMODULE_UPDATE_OPTIONS_INIT.
Initialize git_submodule_update_options structure
\n", + "comments": "Initializes a git_submodule_update_options with default values. Equivalent to creating an instance with GIT_SUBMODULE_UPDATE_OPTIONS_INIT.
Update a submodule. This will clone a missing submodule and\n checkout the subrepository to the commit specified in the index of\n the containing repository. If the submodule repository doesn't contain\n the target commit (e.g. because fetchRecurseSubmodules isn't set), then\n the submodule is fetched using the fetch options supplied in options.
\n", "comments": "", @@ -20265,9 +21308,9 @@ }, "git_submodule_lookup": { "type": "function", - "file": "submodule.h", - "line": 220, - "lineto": 223, + "file": "git2/submodule.h", + "line": 221, + "lineto": 224, "args": [ { "name": "out", @@ -20297,9 +21340,9 @@ }, "git_submodule_free": { "type": "function", - "file": "submodule.h", - "line": 230, - "lineto": 230, + "file": "git2/submodule.h", + "line": 231, + "lineto": 231, "args": [ { "name": "submodule", @@ -20319,9 +21362,9 @@ }, "git_submodule_foreach": { "type": "function", - "file": "submodule.h", - "line": 250, - "lineto": 253, + "file": "git2/submodule.h", + "line": 251, + "lineto": 254, "args": [ { "name": "repo", @@ -20350,15 +21393,15 @@ "group": "submodule", "examples": { "status.c": [ - "ex/HEAD/status.html#git_submodule_foreach-23" + "ex/HEAD/status.html#git_submodule_foreach-19" ] } }, "git_submodule_add_setup": { "type": "function", - "file": "submodule.h", - "line": 280, - "lineto": 285, + "file": "git2/submodule.h", + "line": 281, + "lineto": 286, "args": [ { "name": "out", @@ -20398,9 +21441,9 @@ }, "git_submodule_add_finalize": { "type": "function", - "file": "submodule.h", - "line": 297, - "lineto": 297, + "file": "git2/submodule.h", + "line": 298, + "lineto": 298, "args": [ { "name": "submodule", @@ -20420,9 +21463,9 @@ }, "git_submodule_add_to_index": { "type": "function", - "file": "submodule.h", - "line": 309, - "lineto": 311, + "file": "git2/submodule.h", + "line": 310, + "lineto": 312, "args": [ { "name": "submodule", @@ -20447,9 +21490,9 @@ }, "git_submodule_owner": { "type": "function", - "file": "submodule.h", - "line": 324, - "lineto": 324, + "file": "git2/submodule.h", + "line": 325, + "lineto": 325, "args": [ { "name": "submodule", @@ -20469,9 +21512,9 @@ }, "git_submodule_name": { "type": "function", - "file": "submodule.h", - "line": 332, - "lineto": 332, + "file": "git2/submodule.h", + "line": 333, + "lineto": 333, "args": [ { "name": "submodule", @@ -20490,15 +21533,15 @@ "group": "submodule", "examples": { "status.c": [ - "ex/HEAD/status.html#git_submodule_name-24" + "ex/HEAD/status.html#git_submodule_name-20" ] } }, "git_submodule_path": { "type": "function", - "file": "submodule.h", - "line": 343, - "lineto": 343, + "file": "git2/submodule.h", + "line": 344, + "lineto": 344, "args": [ { "name": "submodule", @@ -20517,15 +21560,15 @@ "group": "submodule", "examples": { "status.c": [ - "ex/HEAD/status.html#git_submodule_path-25" + "ex/HEAD/status.html#git_submodule_path-21" ] } }, "git_submodule_url": { "type": "function", - "file": "submodule.h", - "line": 351, - "lineto": 351, + "file": "git2/submodule.h", + "line": 352, + "lineto": 352, "args": [ { "name": "submodule", @@ -20545,9 +21588,9 @@ }, "git_submodule_resolve_url": { "type": "function", - "file": "submodule.h", - "line": 361, - "lineto": 361, + "file": "git2/submodule.h", + "line": 362, + "lineto": 362, "args": [ { "name": "out", @@ -20577,9 +21620,9 @@ }, "git_submodule_branch": { "type": "function", - "file": "submodule.h", - "line": 369, - "lineto": 369, + "file": "git2/submodule.h", + "line": 370, + "lineto": 370, "args": [ { "name": "submodule", @@ -20599,9 +21642,9 @@ }, "git_submodule_set_branch": { "type": "function", - "file": "submodule.h", - "line": 382, - "lineto": 382, + "file": "git2/submodule.h", + "line": 383, + "lineto": 383, "args": [ { "name": "repo", @@ -20631,9 +21674,9 @@ }, "git_submodule_set_url": { "type": "function", - "file": "submodule.h", - "line": 396, - "lineto": 396, + "file": "git2/submodule.h", + "line": 397, + "lineto": 397, "args": [ { "name": "repo", @@ -20663,9 +21706,9 @@ }, "git_submodule_index_id": { "type": "function", - "file": "submodule.h", - "line": 404, - "lineto": 404, + "file": "git2/submodule.h", + "line": 405, + "lineto": 405, "args": [ { "name": "submodule", @@ -20685,9 +21728,9 @@ }, "git_submodule_head_id": { "type": "function", - "file": "submodule.h", - "line": 412, - "lineto": 412, + "file": "git2/submodule.h", + "line": 413, + "lineto": 413, "args": [ { "name": "submodule", @@ -20707,9 +21750,9 @@ }, "git_submodule_wd_id": { "type": "function", - "file": "submodule.h", - "line": 425, - "lineto": 425, + "file": "git2/submodule.h", + "line": 426, + "lineto": 426, "args": [ { "name": "submodule", @@ -20729,9 +21772,9 @@ }, "git_submodule_ignore": { "type": "function", - "file": "submodule.h", - "line": 450, - "lineto": 451, + "file": "git2/submodule.h", + "line": 451, + "lineto": 452, "args": [ { "name": "submodule", @@ -20751,9 +21794,9 @@ }, "git_submodule_set_ignore": { "type": "function", - "file": "submodule.h", - "line": 463, - "lineto": 466, + "file": "git2/submodule.h", + "line": 464, + "lineto": 467, "args": [ { "name": "repo", @@ -20783,9 +21826,9 @@ }, "git_submodule_update_strategy": { "type": "function", - "file": "submodule.h", - "line": 478, - "lineto": 479, + "file": "git2/submodule.h", + "line": 479, + "lineto": 480, "args": [ { "name": "submodule", @@ -20793,2064 +21836,309 @@ "comment": "The submodule to check" } ], - "argline": "git_submodule *submodule", - "sig": "git_submodule *", - "return": { - "type": "git_submodule_update_t", - "comment": " The current git_submodule_update_t value that will be used\n for this submodule." - }, - "description": "Get the update rule that will be used for the submodule.
\n", - "comments": "This value controls the behavior of the git submodule update command. There are four useful values documented with git_submodule_update_t.
Set the update rule for the submodule in the configuration
\n", - "comments": "This setting won't affect any existing instances.
\n", - "group": "submodule" - }, - "git_submodule_fetch_recurse_submodules": { - "type": "function", - "file": "submodule.h", - "line": 507, - "lineto": 508, - "args": [ - { - "name": "submodule", - "type": "git_submodule *", - "comment": null - } - ], - "argline": "git_submodule *submodule", - "sig": "git_submodule *", - "return": { - "type": "git_submodule_recurse_t", - "comment": " 0 if fetchRecurseSubmodules is false, 1 if true" - }, - "description": "Read the fetchRecurseSubmodules rule for a submodule.
\n", - "comments": "This accesses the submodule.
Note that at this time, libgit2 does not honor this setting and the fetch functionality current ignores submodules.
\n", - "group": "submodule" - }, - "git_submodule_set_fetch_recurse_submodules": { - "type": "function", - "file": "submodule.h", - "line": 520, - "lineto": 523, - "args": [ - { - "name": "repo", - "type": "git_repository *", - "comment": "the repository to affect" - }, - { - "name": "name", - "type": "const char *", - "comment": "the submodule to configure" - }, - { - "name": "fetch_recurse_submodules", - "type": "git_submodule_recurse_t", - "comment": "Boolean value" - } - ], - "argline": "git_repository *repo, const char *name, git_submodule_recurse_t fetch_recurse_submodules", - "sig": "git_repository *::const char *::git_submodule_recurse_t", - "return": { - "type": "int", - "comment": " old value for fetchRecurseSubmodules" - }, - "description": "Set the fetchRecurseSubmodules rule for a submodule in the configuration
\n", - "comments": "This setting won't affect any existing instances.
\n", - "group": "submodule" - }, - "git_submodule_init": { - "type": "function", - "file": "submodule.h", - "line": 538, - "lineto": 538, - "args": [ - { - "name": "submodule", - "type": "git_submodule *", - "comment": "The submodule to write into the superproject config" - }, - { - "name": "overwrite", - "type": "int", - "comment": "By default, existing entries will not be overwritten,\n but setting this to true forces them to be updated." - } - ], - "argline": "git_submodule *submodule, int overwrite", - "sig": "git_submodule *::int", - "return": { - "type": "int", - "comment": " 0 on success, \n<\n0 on failure." - }, - "description": "Copy submodule info into ".git/config" file.
\n", - "comments": "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.
\n", - "group": "submodule" - }, - "git_submodule_repo_init": { - "type": "function", - "file": "submodule.h", - "line": 553, - "lineto": 556, - "args": [ - { - "name": "out", - "type": "git_repository **", - "comment": "Output pointer to the created git repository." - }, - { - "name": "sm", - "type": "const git_submodule *", - "comment": "The submodule to create a new subrepository from." - }, - { - "name": "use_gitlink", - "type": "int", - "comment": "Should the workdir contain a gitlink to\n the repo in .git/modules vs. repo directly in workdir." - } - ], - "argline": "git_repository **out, const git_submodule *sm, int use_gitlink", - "sig": "git_repository **::const git_submodule *::int", - "return": { - "type": "int", - "comment": " 0 on success, \n<\n0 on failure." - }, - "description": "Set up the subrepository for a submodule in preparation for clone.
\n", - "comments": "This function can be called to init and set up a submodule repository from a submodule in preparation to clone it from its remote.
\n", - "group": "submodule" - }, - "git_submodule_sync": { - "type": "function", - "file": "submodule.h", - "line": 566, - "lineto": 566, - "args": [ - { - "name": "submodule", - "type": "git_submodule *", - "comment": null - } - ], - "argline": "git_submodule *submodule", - "sig": "git_submodule *", - "return": { - "type": "int", - "comment": null - }, - "description": "Copy submodule remote info into submodule repo.
\n", - "comments": "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.
\n", - "group": "submodule" - }, - "git_submodule_open": { - "type": "function", - "file": "submodule.h", - "line": 580, - "lineto": 582, - "args": [ - { - "name": "repo", - "type": "git_repository **", - "comment": "Pointer to the submodule repo which was opened" - }, - { - "name": "submodule", - "type": "git_submodule *", - "comment": "Submodule to be opened" - } - ], - "argline": "git_repository **repo, git_submodule *submodule", - "sig": "git_repository **::git_submodule *", - "return": { - "type": "int", - "comment": " 0 on success, \n<\n0 if submodule repo could not be opened." - }, - "description": "Open the repository for a submodule.
\n", - "comments": "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.
Reread submodule info from config, index, and HEAD.
\n", - "comments": "Call this to reread cached submodule information for this submodule if you have reason to believe that it has changed.
\n", - "group": "submodule" - }, - "git_submodule_status": { - "type": "function", - "file": "submodule.h", - "line": 610, - "lineto": 614, - "args": [ - { - "name": "status", - "type": "unsigned int *", - "comment": "Combination of `GIT_SUBMODULE_STATUS` flags" - }, - { - "name": "repo", - "type": "git_repository *", - "comment": "the repository in which to look" - }, - { - "name": "name", - "type": "const char *", - "comment": "name of the submodule" - }, - { - "name": "ignore", - "type": "git_submodule_ignore_t", - "comment": "the ignore rules to follow" - } - ], - "argline": "unsigned int *status, git_repository *repo, const char *name, git_submodule_ignore_t ignore", - "sig": "unsigned int *::git_repository *::const char *::git_submodule_ignore_t", - "return": { - "type": "int", - "comment": " 0 on success, \n<\n0 on error" - }, - "description": "Get the status for a submodule.
\n", - "comments": "This looks at a submodule and tries to determine the status. It will return a combination of the GIT_SUBMODULE_STATUS values above. How deeply it examines the working directory to do this will depend on the git_submodule_ignore_t value for the submodule.
Get the locations of submodule information.
\n", - "comments": "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.
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_oids are checked for validity.
Create a new commit in the repository with an callback to supply parents.
\n", - "comments": "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.
Initializes a git_config_backend with default values. Equivalent to\n creating an instance with GIT_CONFIG_BACKEND_INIT.
Add a generic config file instance to an existing config
\n", - "comments": "Note that the configuration object will free the file automatically.
\n\nFurther 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).
\n", - "group": "config" - }, - "git_diff_print_callback__to_buf": { - "type": "function", - "file": "sys/diff.h", - "line": 37, - "lineto": 41, - "args": [ - { - "name": "delta", - "type": "const git_diff_delta *", - "comment": null - }, - { - "name": "hunk", - "type": "const git_diff_hunk *", - "comment": null - }, - { - "name": "line", - "type": "const git_diff_line *", - "comment": null - }, - { - "name": "payload", - "type": "void *", - "comment": null - } - ], - "argline": "const git_diff_delta *delta, const git_diff_hunk *hunk, const git_diff_line *line, void *payload", - "sig": "const git_diff_delta *::const git_diff_hunk *::const git_diff_line *::void *", - "return": { - "type": "int", - "comment": null - }, - "description": "Diff print callback that writes to a git_buf.
\n", - "comments": "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).
Diff print callback that writes to stdio FILE handle.
\n", - "comments": "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.
Get performance data for a diff object.
\n", - "comments": "", - "group": "diff" - }, - "git_status_list_get_perfdata": { - "type": "function", - "file": "sys/diff.h", - "line": 89, - "lineto": 90, - "args": [ - { - "name": "out", - "type": "git_diff_perfdata *", - "comment": null - }, - { - "name": "status", - "type": "const git_status_list *", - "comment": null - } - ], - "argline": "git_diff_perfdata *out, const git_status_list *status", - "sig": "git_diff_perfdata *::const git_status_list *", - "return": { - "type": "int", - "comment": null - }, - "description": "Get performance data for diffs from a git_status_list
\n", - "comments": "", - "group": "status" - }, - "git_filter_lookup": { - "type": "function", - "file": "sys/filter.h", - "line": 27, - "lineto": 27, - "args": [ - { - "name": "name", - "type": "const char *", - "comment": "The name of the filter" - } - ], - "argline": "const char *name", - "sig": "const char *", - "return": { - "type": "git_filter *", - "comment": " Pointer to the filter object or NULL if not found" - }, - "description": "Look up a filter by name
\n", - "comments": "", - "group": "filter" - }, - "git_filter_list_new": { - "type": "function", - "file": "sys/filter.h", - "line": 57, - "lineto": 61, - "args": [ - { - "name": "out", - "type": "git_filter_list **", - "comment": null - }, - { - "name": "repo", - "type": "git_repository *", - "comment": null - }, - { - "name": "mode", - "type": "git_filter_mode_t", - "comment": null - }, - { - "name": "options", - "type": "uint32_t", - "comment": null - } - ], - "argline": "git_filter_list **out, git_repository *repo, git_filter_mode_t mode, uint32_t options", - "sig": "git_filter_list **::git_repository *::git_filter_mode_t::uint32_t", - "return": { - "type": "int", - "comment": null - }, - "description": "Create a new empty filter list
\n", - "comments": "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.
Add a filter to a filter list with the given payload.
\n", - "comments": "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.
\n\nNote 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!
\n", - "group": "filter" - }, - "git_filter_list_length": { - "type": "function", - "file": "sys/filter.h", - "line": 90, - "lineto": 90, - "args": [ - { - "name": "fl", - "type": "const git_filter_list *", - "comment": "A filter list" - } - ], - "argline": "const git_filter_list *fl", - "sig": "const git_filter_list *", - "return": { - "type": "size_t", - "comment": " The number of filters in the list" - }, - "description": "Look up how many filters are in the list
\n", - "comments": "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).
\n", - "group": "filter" - }, - "git_filter_source_repo": { - "type": "function", - "file": "sys/filter.h", - "line": 100, - "lineto": 100, - "args": [ - { - "name": "src", - "type": "const git_filter_source *", - "comment": null - } - ], - "argline": "const git_filter_source *src", - "sig": "const git_filter_source *", - "return": { - "type": "git_repository *", - "comment": null - }, - "description": "Get the repository that the source data is coming from.
\n", - "comments": "", - "group": "filter" - }, - "git_filter_source_path": { - "type": "function", - "file": "sys/filter.h", - "line": 105, - "lineto": 105, - "args": [ - { - "name": "src", - "type": "const git_filter_source *", - "comment": null - } - ], - "argline": "const git_filter_source *src", - "sig": "const git_filter_source *", - "return": { - "type": "const char *", - "comment": null - }, - "description": "Get the path that the source data is coming from.
\n", - "comments": "", - "group": "filter" - }, - "git_filter_source_filemode": { - "type": "function", - "file": "sys/filter.h", - "line": 111, - "lineto": 111, - "args": [ - { - "name": "src", - "type": "const git_filter_source *", - "comment": null - } - ], - "argline": "const git_filter_source *src", - "sig": "const git_filter_source *", - "return": { - "type": "uint16_t", - "comment": null - }, - "description": "Get the file mode of the source file\n If the mode is unknown, this will return 0
\n", - "comments": "", - "group": "filter" - }, - "git_filter_source_id": { - "type": "function", - "file": "sys/filter.h", - "line": 118, - "lineto": 118, - "args": [ - { - "name": "src", - "type": "const git_filter_source *", - "comment": null - } - ], - "argline": "const git_filter_source *src", - "sig": "const git_filter_source *", - "return": { - "type": "const git_oid *", - "comment": null - }, - "description": "Get the OID of the source\n If the OID is unknown (often the case with GIT_FILTER_CLEAN) then\n this will return NULL.
\n", - "comments": "", - "group": "filter" - }, - "git_filter_source_mode": { - "type": "function", - "file": "sys/filter.h", - "line": 123, - "lineto": 123, - "args": [ - { - "name": "src", - "type": "const git_filter_source *", - "comment": null - } - ], - "argline": "const git_filter_source *src", - "sig": "const git_filter_source *", - "return": { - "type": "git_filter_mode_t", - "comment": null - }, - "description": "Get the git_filter_mode_t to be used
\n", - "comments": "", - "group": "filter" - }, - "git_filter_source_flags": { - "type": "function", - "file": "sys/filter.h", - "line": 128, - "lineto": 128, - "args": [ - { - "name": "src", - "type": "const git_filter_source *", - "comment": null - } - ], - "argline": "const git_filter_source *src", - "sig": "const git_filter_source *", - "return": { - "type": "uint32_t", - "comment": null - }, - "description": "Get the combination git_filter_flag_t options to be applied
\n", - "comments": "", - "group": "filter" - }, - "git_filter_init": { - "type": "function", - "file": "sys/filter.h", - "line": 284, - "lineto": 284, - "args": [ - { - "name": "filter", - "type": "git_filter *", - "comment": "the `git_filter` struct to initialize." - }, - { - "name": "version", - "type": "unsigned int", - "comment": "Version the struct; pass `GIT_FILTER_VERSION`" - } - ], - "argline": "git_filter *filter, unsigned int version", - "sig": "git_filter *::unsigned int", - "return": { - "type": "int", - "comment": " Zero on success; -1 on failure." - }, - "description": "Initializes a git_filter with default values. Equivalent to\n creating an instance with GIT_FILTER_INIT.
Register a filter under a given name with a given priority.
\n", - "comments": "As mentioned elsewhere, the initialize callback will not be invoked immediately. It is deferred until the filter is used in some way.
\n\nA filter's attribute checks and check and 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
\n\nCurrently 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).
\n", - "group": "filter" - }, - "git_filter_unregister": { - "type": "function", - "file": "sys/filter.h", - "line": 328, - "lineto": 328, - "args": [ - { - "name": "name", - "type": "const char *", - "comment": "The name under which the filter was registered" - } - ], - "argline": "const char *name", - "sig": "const char *", - "return": { - "type": "int", - "comment": " 0 on success, error code \n<\n0 on failure" - }, - "description": "Remove the filter with the given name
\n", - "comments": "Attempting to remove the builtin libgit2 filters is not permitted and will return an error.
\n\nCurrently 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).
\n", - "group": "filter" - }, - "git_hashsig_create": { - "type": "function", - "file": "sys/hashsig.h", - "line": 62, - "lineto": 66, - "args": [ - { - "name": "out", - "type": "git_hashsig **", - "comment": "The computed similarity signature." - }, - { - "name": "buf", - "type": "const char *", - "comment": "The input buffer." - }, - { - "name": "buflen", - "type": "size_t", - "comment": "The input buffer size." - }, - { - "name": "opts", - "type": "git_hashsig_option_t", - "comment": "The signature computation options (see above)." - } - ], - "argline": "git_hashsig **out, const char *buf, size_t buflen, git_hashsig_option_t opts", - "sig": "git_hashsig **::const char *::size_t::git_hashsig_option_t", - "return": { - "type": "int", - "comment": " 0 on success, GIT_EBUFS if the buffer doesn't contain enough data to\n compute a valid signature (unless GIT_HASHSIG_ALLOW_SMALL_FILES is set), or\n error code." - }, - "description": "Compute a similarity signature for a text buffer
\n", - "comments": "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!
\n", - "group": "hashsig" - }, - "git_hashsig_create_fromfile": { - "type": "function", - "file": "sys/hashsig.h", - "line": 81, - "lineto": 84, - "args": [ - { - "name": "out", - "type": "git_hashsig **", - "comment": "The computed similarity signature." - }, - { - "name": "path", - "type": "const char *", - "comment": "The path to the input file." - }, - { - "name": "opts", - "type": "git_hashsig_option_t", - "comment": "The signature computation options (see above)." - } - ], - "argline": "git_hashsig **out, const char *path, git_hashsig_option_t opts", - "sig": "git_hashsig **::const char *::git_hashsig_option_t", - "return": { - "type": "int", - "comment": " 0 on success, GIT_EBUFS if the buffer doesn't contain enough data to\n compute a valid signature (unless GIT_HASHSIG_ALLOW_SMALL_FILES is set), or\n error code." - }, - "description": "Compute a similarity signature for a text file
\n", - "comments": "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.
Release memory for a content similarity signature
\n", - "comments": "", - "group": "hashsig" - }, - "git_hashsig_compare": { - "type": "function", - "file": "sys/hashsig.h", - "line": 100, - "lineto": 102, - "args": [ - { - "name": "a", - "type": "const git_hashsig *", - "comment": "The first similarity signature to compare." - }, - { - "name": "b", - "type": "const git_hashsig *", - "comment": "The second similarity signature to compare." - } - ], - "argline": "const git_hashsig *a, const git_hashsig *b", - "sig": "const git_hashsig *::const git_hashsig *", - "return": { - "type": "int", - "comment": " [0 to 100] on success as the similarity score, or error code." - }, - "description": "Measure similarity score between two similarity signatures
\n", - "comments": "", - "group": "hashsig" - }, - "git_mempack_new": { - "type": "function", - "file": "sys/mempack.h", - "line": 45, - "lineto": 45, - "args": [ - { - "name": "out", - "type": "git_odb_backend **", - "comment": "Pointer where to store the ODB backend" - } - ], - "argline": "git_odb_backend **out", - "sig": "git_odb_backend **", - "return": { - "type": "int", - "comment": " 0 on success; error code otherwise" - }, - "description": "Instantiate a new mempack backend.\n\n",
- "comments": "The backend must be added to an existing ODB with the highest priority.\n\n git_mempack_new(&mempacker); git_repository_odb(&odb, repository); git_odb_add_backend(odb, mempacker, 999);\n\nOnce the backend has been loaded, all writes to the ODB will instead be queued in memory, and can be finalized with `git_mempack_dump`.\n\nSubsequent reads will also be served from the in-memory store to ensure consistency, until the memory store is dumped.\n\n",
- "group": "mempack"
- },
- "git_mempack_dump": {
- "type": "function",
- "file": "sys/mempack.h",
- "line": 68,
- "lineto": 68,
- "args": [
- {
- "name": "pack",
- "type": "git_buf *",
- "comment": "Buffer where to store the raw packfile"
- },
- {
- "name": "repo",
- "type": "git_repository *",
- "comment": "The active repository where the backend is loaded"
- },
- {
- "name": "backend",
- "type": "git_odb_backend *",
- "comment": "The mempack backend"
- }
- ],
- "argline": "git_buf *pack, git_repository *repo, git_odb_backend *backend",
- "sig": "git_buf *::git_repository *::git_odb_backend *",
- "return": {
- "type": "int",
- "comment": " 0 on success; error code otherwise"
- },
- "description": "Dump all the queued in-memory writes to a packfile.\n\n",
- "comments": "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).\n\nOnce the generated packfile is available to the repository, call `git_mempack_reset` to cleanup the memory store.\n\nCalling `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).\n\n",
- "group": "mempack"
- },
- "git_mempack_reset": {
- "type": "function",
- "file": "sys/mempack.h",
- "line": 82,
- "lineto": 82,
- "args": [
- {
- "name": "backend",
- "type": "git_odb_backend *",
- "comment": "The mempack backend"
- }
- ],
- "argline": "git_odb_backend *backend",
- "sig": "git_odb_backend *",
- "return": {
- "type": "void",
- "comment": null
- },
- "description": "Reset the memory packer by clearing all the queued objects.\n\n",
- "comments": "This assumes that `git_mempack_dump` has been called before to store all the queued objects into a single packfile.\n\nAlternatively, call `reset` without a previous dump to "undo" all the recently written objects, giving transaction-like semantics to the Git repository.\n\n",
- "group": "mempack"
- },
- "git_odb_init_backend": {
- "type": "function",
- "file": "sys/odb_backend.h",
- "line": 116,
- "lineto": 118,
- "args": [
- {
- "name": "backend",
- "type": "git_odb_backend *",
- "comment": "the `git_odb_backend` struct to initialize."
- },
- {
- "name": "version",
- "type": "unsigned int",
- "comment": "Version the struct; pass `GIT_ODB_BACKEND_VERSION`"
- }
- ],
- "argline": "git_odb_backend *backend, unsigned int version",
- "sig": "git_odb_backend *::unsigned int",
- "return": {
- "type": "int",
- "comment": " Zero on success; -1 on failure."
- },
- "description": "Initializes a git_odb_backend with default values. Equivalent to\n creating an instance with GIT_ODB_BACKEND_INIT.
Initialize the OpenSSL locks
\n", - "comments": "OpenSSL requires the application to determine how it performs locking.
\n\nThis 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.
\n\nThe locking function will be cleared and the memory will be freed when you call git_threads_sutdown().
\n\nIf your programming language has an OpenSSL package/bindings, it likely sets up locking. You should very strongly prefer that over this function.
\n", - "group": "openssl" - }, - "git_refdb_init_backend": { - "type": "function", - "file": "sys/refdb_backend.h", - "line": 183, - "lineto": 185, - "args": [ - { - "name": "backend", - "type": "git_refdb_backend *", - "comment": "the `git_refdb_backend` struct to initialize" - }, - { - "name": "version", - "type": "unsigned int", - "comment": "Version of struct; pass `GIT_REFDB_BACKEND_VERSION`" - } - ], - "argline": "git_refdb_backend *backend, unsigned int version", - "sig": "git_refdb_backend *::unsigned int", - "return": { - "type": "int", - "comment": " Zero on success; -1 on failure." - }, - "description": "Initializes a git_refdb_backend with default values. Equivalent to\n creating an instance with GIT_REFDB_BACKEND_INIT.
Constructors for default filesystem-based refdb backend
\n", - "comments": "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.
\n", - "group": "refdb" - }, - "git_refdb_set_backend": { - "type": "function", - "file": "sys/refdb_backend.h", - "line": 212, - "lineto": 214, - "args": [ - { - "name": "refdb", - "type": "git_refdb *", - "comment": "database to add the backend to" - }, - { - "name": "backend", - "type": "git_refdb_backend *", - "comment": "pointer to a git_refdb_backend instance" - } - ], - "argline": "git_refdb *refdb, git_refdb_backend *backend", - "sig": "git_refdb *::git_refdb_backend *", - "return": { - "type": "int", - "comment": " 0 on success; error code otherwise" - }, - "description": "Sets the custom backend to an existing reference DB
\n", - "comments": "The git_refdb will take ownership of the git_refdb_backend so you should NOT free it after calling this function.
Create a new direct reference from an OID.
\n", - "comments": "", - "group": "reference" - }, - "git_reference__alloc_symbolic": { - "type": "function", - "file": "sys/refs.h", - "line": 43, - "lineto": 45, - "args": [ - { - "name": "name", - "type": "const char *", - "comment": "the reference name" - }, - { - "name": "target", - "type": "const char *", - "comment": "the target for a symbolic reference" - } - ], - "argline": "const char *name, const char *target", - "sig": "const char *::const char *", - "return": { - "type": "git_reference *", - "comment": " the created git_reference or NULL on error" - }, - "description": "Create a new symbolic reference.
\n", - "comments": "", - "group": "reference" - }, - "git_repository_new": { - "type": "function", - "file": "sys/repository.h", - "line": 31, - "lineto": 31, - "args": [ - { - "name": "out", - "type": "git_repository **", - "comment": "The blank repository" - } - ], - "argline": "git_repository **out", - "sig": "git_repository **", - "return": { - "type": "int", - "comment": " 0 on success, or an error code" - }, - "description": "Create a new repository with neither backends nor config object
\n", - "comments": "Note that this is only useful if you wish to associate the repository with a non-filesystem-backed object database and config store.
\n", - "group": "repository" - }, - "git_repository__cleanup": { - "type": "function", - "file": "sys/repository.h", - "line": 44, - "lineto": 44, - "args": [ - { - "name": "repo", - "type": "git_repository *", - "comment": null - } - ], - "argline": "git_repository *repo", - "sig": "git_repository *", - "return": { - "type": "void", - "comment": null - }, - "description": "Reset all the internal state in a repository.
\n", - "comments": "This will free all the mapped memory and internal objects of the repository and leave it in a "blank" state.
\n\nThere'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 deallocation the repo.
Update the filesystem config settings for an open repository
\n", - "comments": "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.
\n", - "group": "repository" - }, - "git_repository_set_config": { - "type": "function", - "file": "sys/repository.h", - "line": 78, - "lineto": 78, - "args": [ - { - "name": "repo", - "type": "git_repository *", - "comment": "A repository object" - }, - { - "name": "config", - "type": "git_config *", - "comment": "A Config object" - } - ], - "argline": "git_repository *repo, git_config *config", - "sig": "git_repository *::git_config *", - "return": { - "type": "void", - "comment": null - }, - "description": "Set the configuration file for this repository
\n", - "comments": "This configuration file will be used for all configuration queries involving this repository.
\n\nThe 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.
\n", - "group": "repository" - }, - "git_repository_set_odb": { - "type": "function", - "file": "sys/repository.h", - "line": 93, - "lineto": 93, - "args": [ - { - "name": "repo", - "type": "git_repository *", - "comment": "A repository object" - }, - { - "name": "odb", - "type": "git_odb *", - "comment": "An ODB object" - } - ], - "argline": "git_repository *repo, git_odb *odb", - "sig": "git_repository *::git_odb *", - "return": { - "type": "void", - "comment": null - }, - "description": "Set the Object Database for this repository
\n", - "comments": "The ODB will be used for all object-related operations involving this repository.
\n\nThe 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.
\n", - "group": "repository" - }, - "git_repository_set_refdb": { - "type": "function", - "file": "sys/repository.h", - "line": 108, - "lineto": 108, - "args": [ - { - "name": "repo", - "type": "git_repository *", - "comment": "A repository object" - }, - { - "name": "refdb", - "type": "git_refdb *", - "comment": "An refdb object" - } - ], - "argline": "git_repository *repo, git_refdb *refdb", - "sig": "git_repository *::git_refdb *", - "return": { - "type": "void", - "comment": null - }, - "description": "Set the Reference Database Backend for this repository
\n", - "comments": "The refdb will be used for all reference related operations involving this repository.
\n\nThe 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.
\n", - "group": "repository" - }, - "git_repository_set_index": { - "type": "function", - "file": "sys/repository.h", - "line": 123, - "lineto": 123, - "args": [ - { - "name": "repo", - "type": "git_repository *", - "comment": "A repository object" - }, - { - "name": "index", - "type": "git_index *", - "comment": "An index object" - } - ], - "argline": "git_repository *repo, git_index *index", - "sig": "git_repository *::git_index *", - "return": { - "type": "void", - "comment": null - }, - "description": "Set the index file for this repository
\n", - "comments": "This index will be used for all index-related operations involving this repository.
\n\nThe 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.
\n", - "group": "repository" - }, - "git_repository_set_bare": { - "type": "function", - "file": "sys/repository.h", - "line": 136, - "lineto": 136, - "args": [ - { - "name": "repo", - "type": "git_repository *", - "comment": "Repo to make bare" - } - ], - "argline": "git_repository *repo", - "sig": "git_repository *", - "return": { - "type": "int", - "comment": " 0 on success, \n<\n0 on failure" - }, - "description": "Set a repository to be bare.
\n", - "comments": "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.
Load and cache all submodules.
\n", - "comments": "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).
Clear the submodule cache.
\n", - "comments": "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.
\n", - "group": "repository" - }, - "git_stream_register_tls": { - "type": "function", - "file": "sys/stream.h", - "line": 54, - "lineto": 54, - "args": [ - { - "name": "ctor", - "type": "git_stream_cb", - "comment": "the constructor to use" - } - ], - "argline": "git_stream_cb ctor", - "sig": "git_stream_cb", - "return": { - "type": "int", - "comment": " 0 or an error code" - }, - "description": "Register a TLS stream constructor for the library to use
\n", - "comments": "If a constructor is already set, it will be overwritten. Pass NULL in order to deregister the current constructor.
Return a monotonic time value, useful for measuring running time\n and setting up timeouts.
\n", - "comments": "The returned value is an arbitrary point in time -- it can only be used when comparing it to another git_time_monotonic call.
The time is returned in seconds, with a decimal fraction that differs on accuracy based on the underlying system, but should be least accurate to Nanoseconds.
\n\nThis function cannot fail.
\n", - "group": "time" - }, - "git_transport_init": { - "type": "function", - "file": "sys/transport.h", - "line": 119, - "lineto": 121, - "args": [ - { - "name": "opts", - "type": "git_transport *", - "comment": "the `git_transport` struct to initialize" - }, - { - "name": "version", - "type": "unsigned int", - "comment": "Version of struct; pass `GIT_TRANSPORT_VERSION`" - } - ], - "argline": "git_transport *opts, unsigned int version", - "sig": "git_transport *::unsigned int", - "return": { - "type": "int", - "comment": " Zero on success; -1 on failure." - }, - "description": "Initializes a git_transport with default values. Equivalent to\n creating an instance with GIT_TRANSPORT_INIT.
Function to use to create a transport from a URL. The transport database\n is scanned to find a transport that implements the scheme of the URI (i.e.\n git:// or http://) and a transport object is returned to the caller.
\n", - "comments": "", - "group": "transport" - }, - "git_transport_ssh_with_paths": { - "type": "function", - "file": "sys/transport.h", - "line": 149, - "lineto": 149, - "args": [ - { - "name": "out", - "type": "git_transport **", - "comment": "the resulting transport" - }, - { - "name": "owner", - "type": "git_remote *", - "comment": "the owning remote" - }, - { - "name": "payload", - "type": "void *", - "comment": "a strarray with the paths" - } - ], - "argline": "git_transport **out, git_remote *owner, void *payload", - "sig": "git_transport **::git_remote *::void *", + "argline": "git_submodule *submodule", + "sig": "git_submodule *", "return": { - "type": "int", - "comment": " 0 or an error code" + "type": "git_submodule_update_t", + "comment": " The current git_submodule_update_t value that will be used\n for this submodule." }, - "description": "Create an ssh transport with custom git command paths
\n", - "comments": "This is a factory function suitable for setting as the transport callback in a remote (or for a clone in the options).
\n\nThe payload argument must be a strarray pointer with the paths for the git-upload-pack and git-receive-pack at index 0 and 1.
Get the update rule that will be used for the submodule.
\n", + "comments": "This value controls the behavior of the git submodule update command. There are four useful values documented with git_submodule_update_t.
Add a custom transport definition, to be used in addition to the built-in\n set of transports that come with libgit2.
\n", - "comments": "The caller is responsible for synchronizing calls to git_transport_register and git_transport_unregister with other calls to the library that instantiate transports.
\n", - "group": "transport" + "description": "Set the update rule for the submodule in the configuration
\n", + "comments": "This setting won't affect any existing instances.
\n", + "group": "submodule" }, - "git_transport_unregister": { + "git_submodule_fetch_recurse_submodules": { "type": "function", - "file": "sys/transport.h", - "line": 177, - "lineto": 178, + "file": "git2/submodule.h", + "line": 508, + "lineto": 509, "args": [ { - "name": "prefix", - "type": "const char *", - "comment": "From the previous call to git_transport_register" + "name": "submodule", + "type": "git_submodule *", + "comment": null } ], - "argline": "const char *prefix", - "sig": "const char *", + "argline": "git_submodule *submodule", + "sig": "git_submodule *", "return": { - "type": "int", - "comment": " 0 or an error code" + "type": "git_submodule_recurse_t", + "comment": " 0 if fetchRecurseSubmodules is false, 1 if true" }, - "description": "Unregister a custom transport definition which was previously registered\n with git_transport_register.
\n", - "comments": "", - "group": "transport" + "description": "Read the fetchRecurseSubmodules rule for a submodule.
\n", + "comments": "This accesses the submodule.
Note that at this time, libgit2 does not honor this setting and the fetch functionality current ignores submodules.
\n", + "group": "submodule" }, - "git_transport_dummy": { + "git_submodule_set_fetch_recurse_submodules": { "type": "function", - "file": "sys/transport.h", - "line": 191, - "lineto": 194, + "file": "git2/submodule.h", + "line": 521, + "lineto": 524, "args": [ { - "name": "out", - "type": "git_transport **", - "comment": "The newly created transport (out)" + "name": "repo", + "type": "git_repository *", + "comment": "the repository to affect" }, { - "name": "owner", - "type": "git_remote *", - "comment": "The git_remote which will own this transport" + "name": "name", + "type": "const char *", + "comment": "the submodule to configure" }, { - "name": "payload", - "type": "void *", - "comment": "You must pass NULL for this parameter." + "name": "fetch_recurse_submodules", + "type": "git_submodule_recurse_t", + "comment": "Boolean value" } ], - "argline": "git_transport **out, git_remote *owner, void *payload", - "sig": "git_transport **::git_remote *::void *", + "argline": "git_repository *repo, const char *name, git_submodule_recurse_t fetch_recurse_submodules", + "sig": "git_repository *::const char *::git_submodule_recurse_t", "return": { "type": "int", - "comment": " 0 or an error code" + "comment": " old value for fetchRecurseSubmodules" }, - "description": "Create an instance of the dummy transport.
\n", - "comments": "", - "group": "transport" + "description": "Set the fetchRecurseSubmodules rule for a submodule in the configuration
\n", + "comments": "This setting won't affect any existing instances.
\n", + "group": "submodule" }, - "git_transport_local": { + "git_submodule_init": { "type": "function", - "file": "sys/transport.h", - "line": 204, - "lineto": 207, + "file": "git2/submodule.h", + "line": 539, + "lineto": 539, "args": [ { - "name": "out", - "type": "git_transport **", - "comment": "The newly created transport (out)" - }, - { - "name": "owner", - "type": "git_remote *", - "comment": "The git_remote which will own this transport" + "name": "submodule", + "type": "git_submodule *", + "comment": "The submodule to write into the superproject config" }, { - "name": "payload", - "type": "void *", - "comment": "You must pass NULL for this parameter." + "name": "overwrite", + "type": "int", + "comment": "By default, existing entries will not be overwritten,\n but setting this to true forces them to be updated." } ], - "argline": "git_transport **out, git_remote *owner, void *payload", - "sig": "git_transport **::git_remote *::void *", + "argline": "git_submodule *submodule, int overwrite", + "sig": "git_submodule *::int", "return": { "type": "int", - "comment": " 0 or an error code" + "comment": " 0 on success, \n<\n0 on failure." }, - "description": "Create an instance of the local transport.
\n", - "comments": "", - "group": "transport" + "description": "Copy submodule info into ".git/config" file.
\n", + "comments": "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.
\n", + "group": "submodule" }, - "git_transport_smart": { + "git_submodule_repo_init": { "type": "function", - "file": "sys/transport.h", - "line": 217, - "lineto": 220, + "file": "git2/submodule.h", + "line": 554, + "lineto": 557, "args": [ { "name": "out", - "type": "git_transport **", - "comment": "The newly created transport (out)" + "type": "git_repository **", + "comment": "Output pointer to the created git repository." }, { - "name": "owner", - "type": "git_remote *", - "comment": "The git_remote which will own this transport" + "name": "sm", + "type": "const git_submodule *", + "comment": "The submodule to create a new subrepository from." }, { - "name": "payload", - "type": "void *", - "comment": "A pointer to a git_smart_subtransport_definition" + "name": "use_gitlink", + "type": "int", + "comment": "Should the workdir contain a gitlink to\n the repo in .git/modules vs. repo directly in workdir." } ], - "argline": "git_transport **out, git_remote *owner, void *payload", - "sig": "git_transport **::git_remote *::void *", + "argline": "git_repository **out, const git_submodule *sm, int use_gitlink", + "sig": "git_repository **::const git_submodule *::int", "return": { "type": "int", - "comment": " 0 or an error code" + "comment": " 0 on success, \n<\n0 on failure." }, - "description": "Create an instance of the smart transport.
\n", - "comments": "", - "group": "transport" + "description": "Set up the subrepository for a submodule in preparation for clone.
\n", + "comments": "This function can be called to init and set up a submodule repository from a submodule in preparation to clone it from its remote.
\n", + "group": "submodule" }, - "git_transport_smart_certificate_check": { + "git_submodule_sync": { "type": "function", - "file": "sys/transport.h", - "line": 231, - "lineto": 231, + "file": "git2/submodule.h", + "line": 567, + "lineto": 567, "args": [ { - "name": "transport", - "type": "git_transport *", - "comment": "a smart transport" - }, - { - "name": "cert", - "type": "git_cert *", - "comment": "the certificate to pass to the caller" - }, - { - "name": "valid", - "type": "int", - "comment": "whether we believe the certificate is valid" - }, - { - "name": "hostname", - "type": "const char *", - "comment": "the hostname we connected to" + "name": "submodule", + "type": "git_submodule *", + "comment": null } ], - "argline": "git_transport *transport, git_cert *cert, int valid, const char *hostname", - "sig": "git_transport *::git_cert *::int::const char *", + "argline": "git_submodule *submodule", + "sig": "git_submodule *", "return": { "type": "int", - "comment": " the return value of the callback" + "comment": null }, - "description": "Call the certificate check for this transport.
\n", - "comments": "", - "group": "transport" + "description": "Copy submodule remote info into submodule repo.
\n", + "comments": "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.
\n", + "group": "submodule" }, - "git_transport_smart_credentials": { + "git_submodule_open": { "type": "function", - "file": "sys/transport.h", - "line": 242, - "lineto": 242, + "file": "git2/submodule.h", + "line": 581, + "lineto": 583, "args": [ { - "name": "out", - "type": "git_cred **", - "comment": "the pointer where the creds are to be stored" - }, - { - "name": "transport", - "type": "git_transport *", - "comment": "a smart transport" - }, - { - "name": "user", - "type": "const char *", - "comment": "the user we saw on the url (if any)" + "name": "repo", + "type": "git_repository **", + "comment": "Pointer to the submodule repo which was opened" }, { - "name": "methods", - "type": "int", - "comment": "available methods for authentication" + "name": "submodule", + "type": "git_submodule *", + "comment": "Submodule to be opened" } ], - "argline": "git_cred **out, git_transport *transport, const char *user, int methods", - "sig": "git_cred **::git_transport *::const char *::int", + "argline": "git_repository **repo, git_submodule *submodule", + "sig": "git_repository **::git_submodule *", "return": { "type": "int", - "comment": " the return value of the callback" + "comment": " 0 on success, \n<\n0 if submodule repo could not be opened." }, - "description": "Call the credentials callback for this transport
\n", - "comments": "", - "group": "transport" + "description": "Open the repository for a submodule.
\n", + "comments": "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.
Get a copy of the proxy options
\n", - "comments": "The url is copied and must be freed by the caller.
\n", - "group": "transport" + "description": "Reread submodule info from config, index, and HEAD.
\n", + "comments": "Call this to reread cached submodule information for this submodule if you have reason to believe that it has changed.
\n", + "group": "submodule" }, - "git_smart_subtransport_http": { + "git_submodule_status": { "type": "function", - "file": "sys/transport.h", - "line": 362, - "lineto": 365, + "file": "git2/submodule.h", + "line": 611, + "lineto": 615, "args": [ { - "name": "out", - "type": "git_smart_subtransport **", - "comment": "The newly created subtransport" - }, - { - "name": "owner", - "type": "git_transport *", - "comment": "The smart transport to own this subtransport" + "name": "status", + "type": "unsigned int *", + "comment": "Combination of `GIT_SUBMODULE_STATUS` flags" }, { - "name": "param", - "type": "void *", - "comment": null - } - ], - "argline": "git_smart_subtransport **out, git_transport *owner, void *param", - "sig": "git_smart_subtransport **::git_transport *::void *", - "return": { - "type": "int", - "comment": " 0 or an error code" - }, - "description": "Create an instance of the http subtransport. This subtransport\n also supports https. On Win32, this subtransport may be implemented\n using the WinHTTP library.
\n", - "comments": "", - "group": "smart" - }, - "git_smart_subtransport_git": { - "type": "function", - "file": "sys/transport.h", - "line": 374, - "lineto": 377, - "args": [ - { - "name": "out", - "type": "git_smart_subtransport **", - "comment": "The newly created subtransport" + "name": "repo", + "type": "git_repository *", + "comment": "the repository in which to look" }, { - "name": "owner", - "type": "git_transport *", - "comment": "The smart transport to own this subtransport" + "name": "name", + "type": "const char *", + "comment": "name of the submodule" }, { - "name": "param", - "type": "void *", - "comment": null + "name": "ignore", + "type": "git_submodule_ignore_t", + "comment": "the ignore rules to follow" } ], - "argline": "git_smart_subtransport **out, git_transport *owner, void *param", - "sig": "git_smart_subtransport **::git_transport *::void *", + "argline": "unsigned int *status, git_repository *repo, const char *name, git_submodule_ignore_t ignore", + "sig": "unsigned int *::git_repository *::const char *::git_submodule_ignore_t", "return": { "type": "int", - "comment": " 0 or an error code" + "comment": " 0 on success, \n<\n0 on error" }, - "description": "Create an instance of the git subtransport.
\n", - "comments": "", - "group": "smart" + "description": "Get the status for a submodule.
\n", + "comments": "This looks at a submodule and tries to determine the status. It will return a combination of the GIT_SUBMODULE_STATUS values above. How deeply it examines the working directory to do this will depend on the git_submodule_ignore_t value for the submodule.
Create an instance of the ssh subtransport.
\n", - "comments": "", - "group": "smart" + "description": "Get the locations of submodule information.
\n", + "comments": "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.
Get the type of a tag's tagged object
\n", @@ -23075,7 +22363,7 @@ "group": "tag", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_tag_target_type-36" + "ex/HEAD/cat-file.html#git_tag_target_type-32" ], "general.c": [ "ex/HEAD/general.html#git_tag_target_type-87" @@ -23084,7 +22372,7 @@ }, "git_tag_name": { "type": "function", - "file": "tag.h", + "file": "git2/tag.h", "line": 113, "lineto": 113, "args": [ @@ -23105,19 +22393,19 @@ "group": "tag", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_tag_name-37" + "ex/HEAD/cat-file.html#git_tag_name-33" ], "general.c": [ "ex/HEAD/general.html#git_tag_name-88" ], "tag.c": [ - "ex/HEAD/tag.html#git_tag_name-20" + "ex/HEAD/tag.html#git_tag_name-16" ] } }, "git_tag_tagger": { "type": "function", - "file": "tag.h", + "file": "git2/tag.h", "line": 121, "lineto": 121, "args": [ @@ -23138,13 +22426,13 @@ "group": "tag", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_tag_tagger-38" + "ex/HEAD/cat-file.html#git_tag_tagger-34" ] } }, "git_tag_message": { "type": "function", - "file": "tag.h", + "file": "git2/tag.h", "line": 129, "lineto": 129, "args": [ @@ -23165,20 +22453,20 @@ "group": "tag", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_tag_message-39", - "ex/HEAD/cat-file.html#git_tag_message-40" + "ex/HEAD/cat-file.html#git_tag_message-35", + "ex/HEAD/cat-file.html#git_tag_message-36" ], "general.c": [ "ex/HEAD/general.html#git_tag_message-89" ], "tag.c": [ - "ex/HEAD/tag.html#git_tag_message-21" + "ex/HEAD/tag.html#git_tag_message-17" ] } }, "git_tag_create": { "type": "function", - "file": "tag.h", + "file": "git2/tag.h", "line": 171, "lineto": 178, "args": [ @@ -23229,13 +22517,13 @@ "group": "tag", "examples": { "tag.c": [ - "ex/HEAD/tag.html#git_tag_create-22" + "ex/HEAD/tag.html#git_tag_create-18" ] } }, "git_tag_annotation_create": { "type": "function", - "file": "tag.h", + "file": "git2/tag.h", "line": 203, "lineto": 209, "args": [ @@ -23280,9 +22568,9 @@ "comments": "The message will not be cleaned up. This can be achieved through git_message_prettify().
Create a new transaction object
\n", + "comments": "This does not lock anything, but sets up the transaction object to know from which repository to lock.
\n", + "group": "transaction" + }, + "git_transaction_lock_ref": { + "type": "function", + "file": "git2/transaction.h", + "line": 44, + "lineto": 44, + "args": [ + { + "name": "tx", + "type": "git_transaction *", + "comment": "the transaction" + }, + { + "name": "refname", + "type": "const char *", + "comment": "the reference to lock" + } + ], + "argline": "git_transaction *tx, const char *refname", + "sig": "git_transaction *::const char *", + "return": { + "type": "int", + "comment": " 0 or an error message" + }, + "description": "Lock a reference
\n", + "comments": "Lock the specified reference. This is the first step to updating a reference.
\n", + "group": "transaction" + }, + "git_transaction_set_target": { + "type": "function", + "file": "git2/transaction.h", + "line": 59, + "lineto": 59, + "args": [ + { + "name": "tx", + "type": "git_transaction *", + "comment": "the transaction" + }, + { + "name": "refname", + "type": "const char *", + "comment": "reference to update" + }, + { + "name": "target", + "type": "const git_oid *", + "comment": "target to set the reference to" + }, + { + "name": "sig", + "type": "const git_signature *", + "comment": "signature to use in the reflog; pass NULL to read the identity from the config" + }, + { + "name": "msg", + "type": "const char *", + "comment": "message to use in the reflog" + } + ], + "argline": "git_transaction *tx, const char *refname, const git_oid *target, const git_signature *sig, const char *msg", + "sig": "git_transaction *::const char *::const git_oid *::const git_signature *::const char *", + "return": { + "type": "int", + "comment": " 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code" + }, + "description": "Set the target of a reference
\n", + "comments": "Set the target of the specified reference. This reference must be locked.
\n", + "group": "transaction" + }, + "git_transaction_set_symbolic_target": { + "type": "function", + "file": "git2/transaction.h", + "line": 74, + "lineto": 74, + "args": [ + { + "name": "tx", + "type": "git_transaction *", + "comment": "the transaction" + }, + { + "name": "refname", + "type": "const char *", + "comment": "reference to update" + }, + { + "name": "target", + "type": "const char *", + "comment": "target to set the reference to" + }, + { + "name": "sig", + "type": "const git_signature *", + "comment": "signature to use in the reflog; pass NULL to read the identity from the config" + }, + { + "name": "msg", + "type": "const char *", + "comment": "message to use in the reflog" + } + ], + "argline": "git_transaction *tx, const char *refname, const char *target, const git_signature *sig, const char *msg", + "sig": "git_transaction *::const char *::const char *::const git_signature *::const char *", + "return": { + "type": "int", + "comment": " 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code" + }, + "description": "Set the target of a reference
\n", + "comments": "Set the target of the specified reference. This reference must be locked.
\n", + "group": "transaction" + }, + "git_transaction_set_reflog": { + "type": "function", + "file": "git2/transaction.h", + "line": 87, + "lineto": 87, + "args": [ + { + "name": "tx", + "type": "git_transaction *", + "comment": "the transaction" + }, + { + "name": "refname", + "type": "const char *", + "comment": "the reference whose reflog to set" + }, + { + "name": "reflog", + "type": "const git_reflog *", + "comment": "the reflog as it should be written out" + } + ], + "argline": "git_transaction *tx, const char *refname, const git_reflog *reflog", + "sig": "git_transaction *::const char *::const git_reflog *", + "return": { + "type": "int", + "comment": " 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code" + }, + "description": "Set the reflog of a reference
\n", + "comments": "Set the specified reference's reflog. If this is combined with setting the target, that update won't be written to the reflog.
\n", + "group": "transaction" + }, + "git_transaction_remove": { + "type": "function", + "file": "git2/transaction.h", + "line": 96, + "lineto": 96, + "args": [ + { + "name": "tx", + "type": "git_transaction *", + "comment": "the transaction" + }, + { + "name": "refname", + "type": "const char *", + "comment": "the reference to remove" + } + ], + "argline": "git_transaction *tx, const char *refname", + "sig": "git_transaction *::const char *", + "return": { + "type": "int", + "comment": " 0, GIT_ENOTFOUND if the reference is not among the locked ones, or an error code" + }, + "description": "Remove a reference
\n", + "comments": "", + "group": "transaction" + }, + "git_transaction_commit": { + "type": "function", + "file": "git2/transaction.h", + "line": 107, + "lineto": 107, + "args": [ + { + "name": "tx", + "type": "git_transaction *", + "comment": "the transaction" + } + ], + "argline": "git_transaction *tx", + "sig": "git_transaction *", + "return": { + "type": "int", + "comment": " 0 or an error code" + }, + "description": "Commit the changes from the transaction
\n", + "comments": "Perform the changes that have been queued. The updates will be made one by one, and the first failure will stop the processing.
\n", + "group": "transaction" + }, + "git_transaction_free": { + "type": "function", + "file": "git2/transaction.h", + "line": 117, + "lineto": 117, + "args": [ + { + "name": "tx", + "type": "git_transaction *", + "comment": "the transaction" + } + ], + "argline": "git_transaction *tx", + "sig": "git_transaction *", + "return": { + "type": "void", + "comment": null + }, + "description": "Free the resources allocated by this transaction
\n", + "comments": "If any references remain locked, they will be unlocked without any changes made to them.
\n", + "group": "transaction" + }, "git_cred_has_username": { "type": "function", - "file": "transport.h", - "line": 190, - "lineto": 190, + "file": "git2/transport.h", + "line": 233, + "lineto": 233, "args": [ { "name": "cred", @@ -23597,9 +23126,9 @@ }, "git_cred_userpass_plaintext_new": { "type": "function", - "file": "transport.h", - "line": 201, - "lineto": 204, + "file": "git2/transport.h", + "line": 244, + "lineto": 247, "args": [ { "name": "out", @@ -23629,9 +23158,9 @@ }, "git_cred_ssh_key_new": { "type": "function", - "file": "transport.h", - "line": 217, - "lineto": 222, + "file": "git2/transport.h", + "line": 260, + "lineto": 265, "args": [ { "name": "out", @@ -23671,9 +23200,9 @@ }, "git_cred_ssh_interactive_new": { "type": "function", - "file": "transport.h", - "line": 233, - "lineto": 237, + "file": "git2/transport.h", + "line": 276, + "lineto": 280, "args": [ { "name": "out", @@ -23687,7 +23216,7 @@ }, { "name": "prompt_callback", - "type": "git_cred_ssh_interactive_callback", + "type": "git_cred_ssh_interactive_cb", "comment": "The callback method used for prompts." }, { @@ -23696,8 +23225,8 @@ "comment": "Additional data to pass to the callback." } ], - "argline": "git_cred **out, const char *username, git_cred_ssh_interactive_callback prompt_callback, void *payload", - "sig": "git_cred **::const char *::git_cred_ssh_interactive_callback::void *", + "argline": "git_cred **out, const char *username, git_cred_ssh_interactive_cb prompt_callback, void *payload", + "sig": "git_cred **::const char *::git_cred_ssh_interactive_cb::void *", "return": { "type": "int", "comment": " 0 for success or an error code for failure." @@ -23708,9 +23237,9 @@ }, "git_cred_ssh_key_from_agent": { "type": "function", - "file": "transport.h", - "line": 247, - "lineto": 249, + "file": "git2/transport.h", + "line": 290, + "lineto": 292, "args": [ { "name": "out", @@ -23735,9 +23264,9 @@ }, "git_cred_ssh_custom_new": { "type": "function", - "file": "transport.h", - "line": 269, - "lineto": 275, + "file": "git2/transport.h", + "line": 312, + "lineto": 318, "args": [ { "name": "out", @@ -23761,7 +23290,7 @@ }, { "name": "sign_callback", - "type": "git_cred_sign_callback", + "type": "git_cred_sign_cb", "comment": "The callback method to sign the data during the challenge." }, { @@ -23770,8 +23299,8 @@ "comment": "Additional data to pass to the callback." } ], - "argline": "git_cred **out, const char *username, const char *publickey, size_t publickey_len, git_cred_sign_callback sign_callback, void *payload", - "sig": "git_cred **::const char *::const char *::size_t::git_cred_sign_callback::void *", + "argline": "git_cred **out, const char *username, const char *publickey, size_t publickey_len, git_cred_sign_cb sign_callback, void *payload", + "sig": "git_cred **::const char *::const char *::size_t::git_cred_sign_cb::void *", "return": { "type": "int", "comment": " 0 for success or an error code for failure" @@ -23782,9 +23311,9 @@ }, "git_cred_default_new": { "type": "function", - "file": "transport.h", - "line": 283, - "lineto": 283, + "file": "git2/transport.h", + "line": 326, + "lineto": 326, "args": [ { "name": "out", @@ -23804,9 +23333,9 @@ }, "git_cred_username_new": { "type": "function", - "file": "transport.h", - "line": 291, - "lineto": 291, + "file": "git2/transport.h", + "line": 334, + "lineto": 334, "args": [ { "name": "cred", @@ -23831,9 +23360,9 @@ }, "git_cred_ssh_key_memory_new": { "type": "function", - "file": "transport.h", - "line": 303, - "lineto": 308, + "file": "git2/transport.h", + "line": 346, + "lineto": 351, "args": [ { "name": "out", @@ -23873,9 +23402,9 @@ }, "git_cred_free": { "type": "function", - "file": "transport.h", - "line": 319, - "lineto": 319, + "file": "git2/transport.h", + "line": 362, + "lineto": 362, "args": [ { "name": "cred", @@ -23895,7 +23424,7 @@ }, "git_tree_lookup": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 32, "lineto": 33, "args": [ @@ -23930,16 +23459,16 @@ "ex/HEAD/general.html#git_tree_lookup-91" ], "init.c": [ - "ex/HEAD/init.html#git_tree_lookup-14" + "ex/HEAD/init.html#git_tree_lookup-12" ], "merge.c": [ - "ex/HEAD/merge.html#git_tree_lookup-46" + "ex/HEAD/merge.html#git_tree_lookup-37" ] } }, "git_tree_lookup_prefix": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 47, "lineto": 51, "args": [ @@ -23976,7 +23505,7 @@ }, "git_tree_free": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 63, "lineto": 63, "args": [ @@ -23997,28 +23526,28 @@ "group": "tree", "examples": { "diff.c": [ - "ex/HEAD/diff.html#git_tree_free-17", - "ex/HEAD/diff.html#git_tree_free-18" + "ex/HEAD/diff.html#git_tree_free-13", + "ex/HEAD/diff.html#git_tree_free-14" ], "general.c": [ "ex/HEAD/general.html#git_tree_free-92", "ex/HEAD/general.html#git_tree_free-93" ], "init.c": [ - "ex/HEAD/init.html#git_tree_free-15" + "ex/HEAD/init.html#git_tree_free-13" ], "log.c": [ - "ex/HEAD/log.html#git_tree_free-59", - "ex/HEAD/log.html#git_tree_free-60", - "ex/HEAD/log.html#git_tree_free-61", - "ex/HEAD/log.html#git_tree_free-62", - "ex/HEAD/log.html#git_tree_free-63" + "ex/HEAD/log.html#git_tree_free-55", + "ex/HEAD/log.html#git_tree_free-56", + "ex/HEAD/log.html#git_tree_free-57", + "ex/HEAD/log.html#git_tree_free-58", + "ex/HEAD/log.html#git_tree_free-59" ] } }, "git_tree_id": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 71, "lineto": 71, "args": [ @@ -24040,7 +23569,7 @@ }, "git_tree_owner": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 79, "lineto": 79, "args": [ @@ -24062,7 +23591,7 @@ }, "git_tree_entrycount": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 87, "lineto": 87, "args": [ @@ -24083,7 +23612,7 @@ "group": "tree", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_tree_entrycount-41" + "ex/HEAD/cat-file.html#git_tree_entrycount-37" ], "general.c": [ "ex/HEAD/general.html#git_tree_entrycount-94" @@ -24092,7 +23621,7 @@ }, "git_tree_entry_byname": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 99, "lineto": 100, "args": [ @@ -24124,7 +23653,7 @@ }, "git_tree_entry_byindex": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 112, "lineto": 113, "args": [ @@ -24150,7 +23679,7 @@ "group": "tree", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_tree_entry_byindex-42" + "ex/HEAD/cat-file.html#git_tree_entry_byindex-38" ], "general.c": [ "ex/HEAD/general.html#git_tree_entry_byindex-96" @@ -24159,7 +23688,7 @@ }, "git_tree_entry_byid": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 127, "lineto": 128, "args": [ @@ -24186,7 +23715,7 @@ }, "git_tree_entry_bypath": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 142, "lineto": 145, "args": [ @@ -24218,7 +23747,7 @@ }, "git_tree_entry_dup": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 157, "lineto": 157, "args": [ @@ -24245,7 +23774,7 @@ }, "git_tree_entry_free": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 168, "lineto": 168, "args": [ @@ -24267,7 +23796,7 @@ }, "git_tree_entry_name": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 176, "lineto": 176, "args": [ @@ -24288,7 +23817,7 @@ "group": "tree", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_tree_entry_name-43" + "ex/HEAD/cat-file.html#git_tree_entry_name-39" ], "general.c": [ "ex/HEAD/general.html#git_tree_entry_name-97", @@ -24298,7 +23827,7 @@ }, "git_tree_entry_id": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 184, "lineto": 184, "args": [ @@ -24319,13 +23848,13 @@ "group": "tree", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_tree_entry_id-44" + "ex/HEAD/cat-file.html#git_tree_entry_id-40" ] } }, "git_tree_entry_type": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 192, "lineto": 192, "args": [ @@ -24338,7 +23867,7 @@ "argline": "const git_tree_entry *entry", "sig": "const git_tree_entry *", "return": { - "type": "git_otype", + "type": "git_object_t", "comment": " the type of the pointed object" }, "description": "Get the type of the object pointed by the entry
\n", @@ -24346,13 +23875,13 @@ "group": "tree", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_tree_entry_type-45" + "ex/HEAD/cat-file.html#git_tree_entry_type-41" ] } }, "git_tree_entry_filemode": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 200, "lineto": 200, "args": [ @@ -24373,13 +23902,13 @@ "group": "tree", "examples": { "cat-file.c": [ - "ex/HEAD/cat-file.html#git_tree_entry_filemode-46" + "ex/HEAD/cat-file.html#git_tree_entry_filemode-42" ] } }, "git_tree_entry_filemode_raw": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 212, "lineto": 212, "args": [ @@ -24401,7 +23930,7 @@ }, "git_tree_entry_cmp": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 220, "lineto": 220, "args": [ @@ -24428,7 +23957,7 @@ }, "git_tree_entry_to_object": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 232, "lineto": 235, "args": [ @@ -24465,7 +23994,7 @@ }, "git_treebuilder_new": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 254, "lineto": 255, "args": [ @@ -24497,7 +24026,7 @@ }, "git_treebuilder_clear": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 262, "lineto": 262, "args": [ @@ -24519,7 +24048,7 @@ }, "git_treebuilder_entrycount": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 270, "lineto": 270, "args": [ @@ -24532,7 +24061,7 @@ "argline": "git_treebuilder *bld", "sig": "git_treebuilder *", "return": { - "type": "unsigned int", + "type": "size_t", "comment": " the number of entries in the treebuilder" }, "description": "Get the number of entries listed in a treebuilder
\n", @@ -24541,7 +24070,7 @@ }, "git_treebuilder_free": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 281, "lineto": 281, "args": [ @@ -24563,7 +24092,7 @@ }, "git_treebuilder_get": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 293, "lineto": 294, "args": [ @@ -24590,7 +24119,7 @@ }, "git_treebuilder_insert": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 324, "lineto": 329, "args": [ @@ -24632,7 +24161,7 @@ }, "git_treebuilder_remove": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 337, "lineto": 338, "args": [ @@ -24659,7 +24188,7 @@ }, "git_treebuilder_filter": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 361, "lineto": 364, "args": [ @@ -24691,7 +24220,7 @@ }, "git_treebuilder_write": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 376, "lineto": 377, "args": [ @@ -24718,7 +24247,7 @@ }, "git_treebuilder_write_with_buffer": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 390, "lineto": 391, "args": [ @@ -24750,7 +24279,7 @@ }, "git_tree_walk": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 420, "lineto": 424, "args": [ @@ -24787,7 +24316,7 @@ }, "git_tree_dup": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 433, "lineto": 433, "args": [ @@ -24814,7 +24343,7 @@ }, "git_tree_create_updated": { "type": "function", - "file": "tree.h", + "file": "git2/tree.h", "line": 479, "lineto": 479, "args": [ @@ -24856,7 +24385,7 @@ }, "git_worktree_list": { "type": "function", - "file": "worktree.h", + "file": "git2/worktree.h", "line": 34, "lineto": 34, "args": [ @@ -24883,7 +24412,7 @@ }, "git_worktree_lookup": { "type": "function", - "file": "worktree.h", + "file": "git2/worktree.h", "line": 44, "lineto": 44, "args": [ @@ -24915,7 +24444,7 @@ }, "git_worktree_open_from_repository": { "type": "function", - "file": "worktree.h", + "file": "git2/worktree.h", "line": 56, "lineto": 56, "args": [ @@ -24942,7 +24471,7 @@ }, "git_worktree_free": { "type": "function", - "file": "worktree.h", + "file": "git2/worktree.h", "line": 63, "lineto": 63, "args": [ @@ -24964,7 +24493,7 @@ }, "git_worktree_validate": { "type": "function", - "file": "worktree.h", + "file": "git2/worktree.h", "line": 75, "lineto": 75, "args": [ @@ -24984,21 +24513,21 @@ "comments": "A valid worktree requires both the git data structures inside the linked parent repository and the linked working copy to be present.
\n", "group": "worktree" }, - "git_worktree_add_init_options": { + "git_worktree_add_options_init": { "type": "function", - "file": "worktree.h", - "line": 95, - "lineto": 96, + "file": "git2/worktree.h", + "line": 104, + "lineto": 105, "args": [ { "name": "opts", "type": "git_worktree_add_options *", - "comment": "the struct to initialize" + "comment": "The `git_worktree_add_options` struct to initialize." }, { "name": "version", "type": "unsigned int", - "comment": "Verison of struct; pass `GIT_WORKTREE_ADD_OPTIONS_VERSION`" + "comment": "The struct version; pass `GIT_WORKTREE_ADD_OPTIONS_VERSION`." } ], "argline": "git_worktree_add_options *opts, unsigned int version", @@ -25007,15 +24536,15 @@ "type": "int", "comment": " Zero on success; -1 on failure." }, - "description": "Initializes a git_worktree_add_options with default vaules.\n Equivalent to creating an instance with\n GIT_WORKTREE_ADD_OPTIONS_INIT.
Initialize git_worktree_add_options structure
\n", + "comments": "Initializes a git_worktree_add_options with default values. Equivalent to creating an instance with GIT_WORKTREE_ADD_OPTIONS_INIT.
A worktree may be locked if the linked working tree is stored on a portable device which is not available.
\n", "group": "worktree" }, - "git_worktree_prune_init_options": { + "git_worktree_name": { "type": "function", - "file": "worktree.h", - "line": 182, - "lineto": 184, + "file": "git2/worktree.h", + "line": 167, + "lineto": 167, + "args": [ + { + "name": "wt", + "type": "const git_worktree *", + "comment": "Worktree to get the name for" + } + ], + "argline": "const git_worktree *wt", + "sig": "const git_worktree *", + "return": { + "type": "const char *", + "comment": " The worktree's name. The pointer returned is valid for the\n lifetime of the git_worktree" + }, + "description": "Retrieve the name of the worktree
\n", + "comments": "", + "group": "worktree" + }, + "git_worktree_path": { + "type": "function", + "file": "git2/worktree.h", + "line": 176, + "lineto": 176, + "args": [ + { + "name": "wt", + "type": "const git_worktree *", + "comment": "Worktree to get the path for" + } + ], + "argline": "const git_worktree *wt", + "sig": "const git_worktree *", + "return": { + "type": "const char *", + "comment": " The worktree's filesystem path. The pointer returned\n is valid for the lifetime of the git_worktree." + }, + "description": "Retrieve the filesystem path for the worktree
\n", + "comments": "", + "group": "worktree" + }, + "git_worktree_prune_options_init": { + "type": "function", + "file": "git2/worktree.h", + "line": 217, + "lineto": 219, "args": [ { "name": "opts", "type": "git_worktree_prune_options *", - "comment": "the struct to initialize" + "comment": "The `git_worktree_prune_options` struct to initialize." }, { "name": "version", "type": "unsigned int", - "comment": "Verison of struct; pass `GIT_WORKTREE_PRUNE_OPTIONS_VERSION`" + "comment": "The struct version; pass `GIT_WORKTREE_PRUNE_OPTIONS_VERSION`." } ], "argline": "git_worktree_prune_options *opts, unsigned int version", @@ -25152,15 +24725,15 @@ "type": "int", "comment": " Zero on success; -1 on failure." }, - "description": "Initializes a git_worktree_prune_options with default vaules.\n Equivalent to creating an instance with\n GIT_WORKTREE_PRUNE_OPTIONS_INIT.
Initialize git_worktree_prune_options structure
\n", + "comments": "Initializes a git_worktree_prune_options with default values. Equivalent to creating an instance with GIT_WORKTREE_PRUNE_OPTIONS_INIT.
When applying a patch, callback that will be made per delta (file).
\n", + "comments": "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.
\n" + }, + "git_apply_hunk_cb": { + "type": "callback", + "file": "git2/apply.h", + "line": 52, + "lineto": 54, + "args": [ + { + "name": "hunk", + "type": "const git_diff_hunk *", + "comment": "The hunk to be applied" + }, + { + "name": "payload", + "type": "void *", + "comment": "User-specified payload" + } + ], + "argline": "const git_diff_hunk *hunk, void *payload", + "sig": "const git_diff_hunk *::void *", + "return": { + "type": "int", + "comment": null + }, + "description": "When applying a patch, callback that will be made per hunk.
\n", + "comments": "When the callback: - returns < 0, the apply process will be aborted. - returns > 0, the hunk will not be applied, but the apply process continues - returns 0, the hunk is applied, and the apply process continues.
\n" + }, + "git_attr_foreach_cb": { + "type": "callback", + "file": "git2/attr.h", + "line": 205, + "lineto": 205, + "args": [ + { + "name": "name", + "type": "const char *", + "comment": "The attribute name." + }, + { + "name": "value", + "type": "const char *", + "comment": "The attribute value. May be NULL if the attribute is explicitly\n set to UNSPECIFIED using the '!' sign." + }, + { + "name": "payload", + "type": "void *", + "comment": "A user-specified pointer." + } + ], + "argline": "const char *name, const char *value, void *payload", + "sig": "const char *::const char *::void *", + "return": { + "type": "int", + "comment": " 0 to continue looping, non-zero to stop. This value will be returned\n from git_attr_foreach." + }, + "description": "The callback used with git_attr_foreach.
\n", + "comments": "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.
\n" + }, "git_checkout_notify_cb": { "type": "callback", - "file": "checkout.h", - "line": 223, - "lineto": 229, + "file": "git2/checkout.h", + "line": 236, + "lineto": 242, "args": [ { "name": "why", @@ -25260,9 +24916,9 @@ }, "git_checkout_progress_cb": { "type": "callback", - "file": "checkout.h", - "line": 232, - "lineto": 236, + "file": "git2/checkout.h", + "line": 245, + "lineto": 249, "args": [ { "name": "path", @@ -25296,9 +24952,9 @@ }, "git_checkout_perfdata_cb": { "type": "callback", - "file": "checkout.h", - "line": 239, - "lineto": 241, + "file": "git2/checkout.h", + "line": 252, + "lineto": 254, "args": [ { "name": "perfdata", @@ -25322,7 +24978,7 @@ }, "git_remote_create_cb": { "type": "callback", - "file": "clone.h", + "file": "git2/clone.h", "line": 69, "lineto": 74, "args": [ @@ -25363,7 +25019,7 @@ }, "git_repository_create_cb": { "type": "callback", - "file": "clone.h", + "file": "git2/clone.h", "line": 90, "lineto": 94, "args": [ @@ -25397,11 +25053,63 @@ "description": "The signature of a function matchin git_repository_init, with an\n aditional void * as callback payload.
\n", "comments": "Callers of git_clone my provide a function matching this signature to override the repository creation and customization process during a clone operation.
\n" }, + "git_config_foreach_cb": { + "type": "callback", + "file": "git2/config.h", + "line": 84, + "lineto": 84, + "args": [ + { + "name": "entry", + "type": "const git_config_entry *", + "comment": "the entry currently being enumerated" + }, + { + "name": "payload", + "type": "void *", + "comment": "a user-specified pointer" + } + ], + "argline": "const git_config_entry *entry, void *payload", + "sig": "const git_config_entry *::void *", + "return": { + "type": "int", + "comment": null + }, + "description": "A config enumeration callback
\n", + "comments": "" + }, + "git_headlist_cb": { + "type": "callback", + "file": "git2/deprecated.h", + "line": 423, + "lineto": 423, + "args": [ + { + "name": "rhead", + "type": "git_remote_head *", + "comment": null + }, + { + "name": "payload", + "type": "void *", + "comment": null + } + ], + "argline": "git_remote_head *rhead, void *payload", + "sig": "git_remote_head *::void *", + "return": { + "type": "int", + "comment": null + }, + "description": "Callback for listing the remote heads
\n", + "comments": "" + }, "git_diff_notify_cb": { "type": "callback", - "file": "diff.h", - "line": 359, - "lineto": 363, + "file": "git2/diff.h", + "line": 331, + "lineto": 335, "args": [ { "name": "diff_so_far", @@ -25431,13 +25139,13 @@ "comment": null }, "description": "Diff notification callback function.
\n", - "comments": "The callback will be called for each file, just before the git_delta_t 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.
\n" + "comments": "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.
\n" }, "git_diff_progress_cb": { "type": "callback", - "file": "diff.h", - "line": 375, - "lineto": 379, + "file": "git2/diff.h", + "line": 347, + "lineto": 351, "args": [ { "name": "diff_so_far", @@ -25471,9 +25179,9 @@ }, "git_diff_file_cb": { "type": "callback", - "file": "diff.h", - "line": 458, - "lineto": 461, + "file": "git2/diff.h", + "line": 465, + "lineto": 468, "args": [ { "name": "delta", @@ -25502,9 +25210,9 @@ }, "git_diff_binary_cb": { "type": "callback", - "file": "diff.h", - "line": 515, - "lineto": 518, + "file": "git2/diff.h", + "line": 531, + "lineto": 534, "args": [ { "name": "delta", @@ -25533,9 +25241,9 @@ }, "git_diff_hunk_cb": { "type": "callback", - "file": "diff.h", - "line": 535, - "lineto": 538, + "file": "git2/diff.h", + "line": 557, + "lineto": 560, "args": [ { "name": "delta", @@ -25564,9 +25272,9 @@ }, "git_diff_line_cb": { "type": "callback", - "file": "diff.h", - "line": 588, - "lineto": 592, + "file": "git2/diff.h", + "line": 618, + "lineto": 622, "args": [ { "name": "delta", @@ -25600,9 +25308,9 @@ }, "git_index_matched_path_cb": { "type": "callback", - "file": "index.h", - "line": 146, - "lineto": 147, + "file": "git2/index.h", + "line": 135, + "lineto": 136, "args": [ { "name": "path", @@ -25629,35 +25337,35 @@ "description": "Callback for APIs that add/remove/update files matching pathspec
\n", "comments": "" }, - "git_headlist_cb": { + "git_indexer_progress_cb": { "type": "callback", - "file": "net.h", - "line": 55, - "lineto": 55, + "file": "git2/indexer.h", + "line": 57, + "lineto": 57, "args": [ { - "name": "rhead", - "type": "git_remote_head *", - "comment": null + "name": "stats", + "type": "const git_indexer_progress *", + "comment": "Structure containing information about the state of the tran sfer" }, { "name": "payload", "type": "void *", - "comment": null + "comment": "Payload provided by caller" } ], - "argline": "git_remote_head *rhead, void *payload", - "sig": "git_remote_head *::void *", + "argline": "const git_indexer_progress *stats, void *payload", + "sig": "const git_indexer_progress *::void *", "return": { "type": "int", "comment": null }, - "description": "Callback for listing the remote heads
\n", + "description": "Type for progress callbacks during indexing. Return a value less\n than zero to cancel the indexing or download.
\n", "comments": "" }, "git_note_foreach_cb": { "type": "callback", - "file": "notes.h", + "file": "git2/notes.h", "line": 29, "lineto": 30, "args": [ @@ -25688,9 +25396,9 @@ }, "git_odb_foreach_cb": { "type": "callback", - "file": "odb.h", - "line": 27, - "lineto": 27, + "file": "git2/odb.h", + "line": 28, + "lineto": 28, "args": [ { "name": "id", @@ -25712,11 +25420,42 @@ "description": "Function type for callbacks from git_odb_foreach.
\n", "comments": "" }, + "git_packbuilder_foreach_cb": { + "type": "callback", + "file": "git2/pack.h", + "line": 192, + "lineto": 192, + "args": [ + { + "name": "buf", + "type": "void *", + "comment": "A pointer to the object's data" + }, + { + "name": "size", + "type": "size_t", + "comment": "The size of the underlying object" + }, + { + "name": "payload", + "type": "void *", + "comment": "Payload passed to git_packbuilder_foreach" + } + ], + "argline": "void *buf, size_t size, void *payload", + "sig": "void *::size_t::void *", + "return": { + "type": "int", + "comment": " non-zero to terminate the iteration" + }, + "description": "Callback used to iterate over packed objects
\n", + "comments": "" + }, "git_packbuilder_progress": { "type": "callback", - "file": "pack.h", - "line": 210, - "lineto": 214, + "file": "git2/pack.h", + "line": 221, + "lineto": 225, "args": [ { "name": "stage", @@ -25748,11 +25487,63 @@ "description": "Packbuilder progress notification function
\n", "comments": "" }, - "git_push_transfer_progress": { + "git_reference_foreach_cb": { + "type": "callback", + "file": "git2/refs.h", + "line": 434, + "lineto": 434, + "args": [ + { + "name": "reference", + "type": "git_reference *", + "comment": "The reference object" + }, + { + "name": "payload", + "type": "void *", + "comment": "Payload passed to git_reference_foreach" + } + ], + "argline": "git_reference *reference, void *payload", + "sig": "git_reference *::void *", + "return": { + "type": "int", + "comment": " non-zero to terminate the iteration" + }, + "description": "Callback used to iterate over references
\n", + "comments": "" + }, + "git_reference_foreach_name_cb": { "type": "callback", - "file": "remote.h", - "line": 351, - "lineto": 355, + "file": "git2/refs.h", + "line": 445, + "lineto": 445, + "args": [ + { + "name": "name", + "type": "const char *", + "comment": "The reference name" + }, + { + "name": "payload", + "type": "void *", + "comment": "Payload passed to git_reference_foreach_name" + } + ], + "argline": "const char *name, void *payload", + "sig": "const char *::void *", + "return": { + "type": "int", + "comment": " non-zero to terminate the iteration" + }, + "description": "Callback used to iterate over reference names
\n", + "comments": "" + }, + "git_push_transfer_progress_cb": { + "type": "callback", + "file": "git2/remote.h", + "line": 425, + "lineto": 429, "args": [ { "name": "current", @@ -25786,9 +25577,9 @@ }, "git_push_negotiation": { "type": "callback", - "file": "remote.h", - "line": 386, - "lineto": 386, + "file": "git2/remote.h", + "line": 461, + "lineto": 461, "args": [ { "name": "updates", @@ -25817,9 +25608,9 @@ }, "git_push_update_reference_cb": { "type": "callback", - "file": "remote.h", - "line": 400, - "lineto": 400, + "file": "git2/remote.h", + "line": 475, + "lineto": 475, "args": [ { "name": "refname", @@ -25846,9 +25637,112 @@ "description": "Callback used to inform of the update status from the remote.
\n", "comments": "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.
Callback to resolve URLs before connecting to remote
\n", + "comments": "If you return GIT_PASSTHROUGH, you don't need to write anything to url_resolved.
\n" + }, + "git_repository_fetchhead_foreach_cb": { + "type": "callback", + "file": "git2/repository.h", + "line": 656, + "lineto": 660, + "args": [ + { + "name": "ref_name", + "type": "const char *", + "comment": "The reference name" + }, + { + "name": "remote_url", + "type": "const char *", + "comment": "The remote URL" + }, + { + "name": "oid", + "type": "const git_oid *", + "comment": "The reference target OID" + }, + { + "name": "is_merge", + "type": "unsigned int", + "comment": "Was the reference the result of a merge" + }, + { + "name": "payload", + "type": "void *", + "comment": "Payload passed to git_repository_fetchhead_foreach" + } + ], + "argline": "const char *ref_name, const char *remote_url, const git_oid *oid, unsigned int is_merge, void *payload", + "sig": "const char *::const char *::const git_oid *::unsigned int::void *", + "return": { + "type": "int", + "comment": " non-zero to terminate the iteration" + }, + "description": "Callback used to iterate over each FETCH_HEAD entry
\n", + "comments": "" + }, + "git_repository_mergehead_foreach_cb": { + "type": "callback", + "file": "git2/repository.h", + "line": 687, + "lineto": 688, + "args": [ + { + "name": "oid", + "type": "const git_oid *", + "comment": "The merge OID" + }, + { + "name": "payload", + "type": "void *", + "comment": "Payload passed to git_repository_mergehead_foreach" + } + ], + "argline": "const git_oid *oid, void *payload", + "sig": "const git_oid *::void *", + "return": { + "type": "int", + "comment": " non-zero to terminate the iteration" + }, + "description": "Callback used to iterate over each MERGE_HEAD entry
\n", + "comments": "" + }, "git_revwalk_hide_cb": { "type": "callback", - "file": "revwalk.h", + "file": "git2/revwalk.h", "line": 277, "lineto": 279, "args": [ @@ -25874,9 +25768,9 @@ }, "git_stash_apply_progress_cb": { "type": "callback", - "file": "stash.h", - "line": 113, - "lineto": 115, + "file": "git2/stash.h", + "line": 115, + "lineto": 117, "args": [ { "name": "progress", @@ -25900,9 +25794,9 @@ }, "git_stash_cb": { "type": "callback", - "file": "stash.h", - "line": 198, - "lineto": 202, + "file": "git2/stash.h", + "line": 201, + "lineto": 205, "args": [ { "name": "index", @@ -25916,7 +25810,7 @@ }, { "name": "stash_id", - "type": "const int *", + "type": "const git_oid *", "comment": "The commit oid of the stashed state." }, { @@ -25925,8 +25819,8 @@ "comment": "Extra parameter to callback function." } ], - "argline": "size_t index, const char *message, const int *stash_id, void *payload", - "sig": "size_t::const char *::const int *::void *", + "argline": "size_t index, const char *message, const git_oid *stash_id, void *payload", + "sig": "size_t::const char *::const git_oid *::void *", "return": { "type": "int", "comment": " 0 to continue iterating or non-zero to stop." @@ -25936,9 +25830,9 @@ }, "git_status_cb": { "type": "callback", - "file": "status.h", - "line": 61, - "lineto": 62, + "file": "git2/status.h", + "line": 63, + "lineto": 64, "args": [ { "name": "path", @@ -25967,7 +25861,7 @@ }, "git_submodule_cb": { "type": "callback", - "file": "submodule.h", + "file": "git2/submodule.h", "line": 118, "lineto": 119, "args": [ @@ -25996,242 +25890,40 @@ "description": "Function pointer to receive each submodule
\n", "comments": "" }, - "git_filter_init_fn": { + "git_tag_foreach_cb": { "type": "callback", - "file": "sys/filter.h", - "line": 141, - "lineto": 141, - "args": [ - { - "name": "self", - "type": "git_filter *", - "comment": null - } - ], - "argline": "git_filter *self", - "sig": "git_filter *", - "return": { - "type": "int", - "comment": null - }, - "description": "Initialize callback on filter
\n", - "comments": "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).
Shutdown callback on filter
\n", - "comments": "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.
Callback to decide if a given source needs this filter
\n", - "comments": "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.
\n\nThe 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 apply callback. Note that the value should be heap allocated (not stack), so that it doesn't go away before the apply 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.
Callback to actually perform the data filtering
\n", - "comments": "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.
Callback to clean up after filtering has been applied
\n", - "comments": "Specified as filter.cleanup, this is an optional callback invoked after the filter has been applied. If the check or apply callbacks allocated a payload to keep per-source filter state, use this callback to free that payload and release resources as required.
Initialize callback on merge driver
\n", - "comments": "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).
Shutdown callback on merge driver
\n", - "comments": "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.
Callback to perform the merge.
\n", - "comments": "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.
Callback used to iterate over tag names
\n", + "comments": "" }, - "git_trace_callback": { + "git_trace_cb": { "type": "callback", - "file": "trace.h", + "file": "git2/trace.h", "line": 52, "lineto": 52, "args": [ @@ -26257,7 +25949,7 @@ }, "git_transport_cb": { "type": "callback", - "file": "transport.h", + "file": "git2/transport.h", "line": 24, "lineto": 24, "args": [ @@ -26288,9 +25980,9 @@ }, "git_cred_acquire_cb": { "type": "callback", - "file": "transport.h", - "line": 333, - "lineto": 338, + "file": "git2/transport.h", + "line": 376, + "lineto": 381, "args": [ { "name": "cred", @@ -26329,7 +26021,7 @@ }, "git_treebuilder_filter_cb": { "type": "callback", - "file": "tree.h", + "file": "git2/tree.h", "line": 347, "lineto": 348, "args": [ @@ -26355,7 +26047,7 @@ }, "git_treewalk_cb": { "type": "callback", - "file": "tree.h", + "file": "git2/tree.h", "line": 394, "lineto": 395, "args": [ @@ -26384,37 +26076,11 @@ "description": "Callback for the tree traversal method
\n", "comments": "" }, - "git_transfer_progress_cb": { - "type": "callback", - "file": "types.h", - "line": 274, - "lineto": 274, - "args": [ - { - "name": "stats", - "type": "const git_transfer_progress *", - "comment": "Structure containing information about the state of the transfer" - }, - { - "name": "payload", - "type": "void *", - "comment": "Payload provided by caller" - } - ], - "argline": "const git_transfer_progress *stats, void *payload", - "sig": "const git_transfer_progress *::void *", - "return": { - "type": "int", - "comment": null - }, - "description": "Type for progress callbacks during indexing. Return a value less than zero\n to cancel the transfer.
\n", - "comments": "" - }, "git_transport_message_cb": { "type": "callback", - "file": "types.h", - "line": 284, - "lineto": 284, + "file": "git2/types.h", + "line": 255, + "lineto": 255, "args": [ { "name": "str", @@ -26443,9 +26109,9 @@ }, "git_transport_certificate_check_cb": { "type": "callback", - "file": "types.h", - "line": 334, - "lineto": 334, + "file": "git2/types.h", + "line": 308, + "lineto": 308, "args": [ { "name": "cert", @@ -26472,7 +26138,7 @@ "sig": "git_cert *::int::const char *::void *", "return": { "type": "int", - "comment": null + "comment": " 0 to proceed with the connection, \n<\n 0 to fail the connection\n or > 0 to indicate that the callback refused to act and that\n the existing validity determination should be honored" }, "description": "Callback for the user's custom certificate checks.
\n", "comments": "" @@ -26486,9 +26152,9 @@ "decl": "git_annotated_commit", "type": "struct", "value": "git_annotated_commit", - "file": "types.h", - "line": 182, - "lineto": 182, + "file": "git2/types.h", + "line": 186, + "lineto": 186, "tdef": "typedef", "description": " Annotated commits, the input to merge and rebase. ", "comments": "", @@ -26501,9 +26167,11 @@ "git_annotated_commit_from_revspec", "git_annotated_commit_id", "git_annotated_commit_lookup", + "git_annotated_commit_ref", "git_branch_create_from_annotated", "git_merge", "git_merge_analysis", + "git_merge_analysis_for_ref", "git_rebase_init", "git_repository_set_head_detached_from_annotated", "git_reset_from_annotated" @@ -26512,44 +26180,137 @@ } ], [ - "git_attr_t", + "git_apply_location_t", + { + "decl": [ + "GIT_APPLY_LOCATION_WORKDIR", + "GIT_APPLY_LOCATION_INDEX", + "GIT_APPLY_LOCATION_BOTH" + ], + "type": "enum", + "file": "git2/apply.h", + "line": 100, + "lineto": 118, + "block": "GIT_APPLY_LOCATION_WORKDIR\nGIT_APPLY_LOCATION_INDEX\nGIT_APPLY_LOCATION_BOTH", + "tdef": "typedef", + "description": " Possible application locations for git_apply ", + "comments": "", + "fields": [ + { + "type": "int", + "name": "GIT_APPLY_LOCATION_WORKDIR", + "comments": "Apply the patch to the workdir, leaving the index untouched.\n This is the equivalent of git apply with no location argument.
Apply the patch to the index, leaving the working directory\n untouched. This is the equivalent of git apply --cached.
Apply the patch to both the working directory and the index.\n This is the equivalent of git apply --index.
Initialize with GIT_APPLY_OPTIONS_INIT. Alternatively, you can use git_apply_options_init.
The attribute has been left unspecified
\n", "value": 0 }, { "type": "int", - "name": "GIT_ATTR_TRUE_T", + "name": "GIT_ATTR_VALUE_TRUE", "comments": "The attribute has been set
\n", "value": 1 }, { "type": "int", - "name": "GIT_ATTR_FALSE_T", + "name": "GIT_ATTR_VALUE_FALSE", "comments": "The attribute has been unset
\n", "value": 2 }, { "type": "int", - "name": "GIT_ATTR_VALUE_T", + "name": "GIT_ATTR_VALUE_STRING", "comments": "This attribute has a value
\n", "value": 3 } @@ -26562,6 +26323,36 @@ } } ], + [ + "git_blame", + { + "decl": "git_blame", + "type": "struct", + "value": "git_blame", + "file": "git2/blame.h", + "line": 149, + "lineto": 149, + "tdef": "typedef", + "description": " Opaque structure to hold blame results ", + "comments": "", + "used": { + "returns": [ + "git_blame_get_hunk_byindex", + "git_blame_get_hunk_byline" + ], + "needs": [ + "git_blame_buffer", + "git_blame_file", + "git_blame_free", + "git_blame_get_hunk_byindex", + "git_blame_get_hunk_byline", + "git_blame_get_hunk_count", + "git_blame_init_options", + "git_blame_options_init" + ] + } + } + ], [ "git_blame_flag_t", { @@ -26571,13 +26362,14 @@ "GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES", "GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES", "GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES", - "GIT_BLAME_FIRST_PARENT" + "GIT_BLAME_FIRST_PARENT", + "GIT_BLAME_USE_MAILMAP" ], "type": "enum", - "file": "blame.h", + "file": "git2/blame.h", "line": 26, - "lineto": 46, - "block": "GIT_BLAME_NORMAL\nGIT_BLAME_TRACK_COPIES_SAME_FILE\nGIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES\nGIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES\nGIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES\nGIT_BLAME_FIRST_PARENT", + "lineto": 50, + "block": "GIT_BLAME_NORMAL\nGIT_BLAME_TRACK_COPIES_SAME_FILE\nGIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES\nGIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES\nGIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES\nGIT_BLAME_FIRST_PARENT\nGIT_BLAME_USE_MAILMAP", "tdef": "typedef", "description": " Flags for indicating option behavior for git_blame APIs.", "comments": "", @@ -26617,6 +26409,12 @@ "name": "GIT_BLAME_FIRST_PARENT", "comments": "Restrict the search of commits to those reachable following only the\n first parents.
\n", "value": 16 + }, + { + "type": "int", + "name": "GIT_BLAME_USE_MAILMAP", + "comments": "Use mailmap file to map author and committer names and email addresses\n to canonical real names and email addresses. The mailmap will be read\n from the working directory, or HEAD in a bare repository.
\n", + "value": 32 } ], "used": { @@ -26641,13 +26439,13 @@ ], "type": "struct", "value": "git_blame_hunk", - "file": "blame.h", - "line": 115, - "lineto": 128, + "file": "git2/blame.h", + "line": 132, + "lineto": 145, "block": "size_t lines_in_hunk\ngit_oid final_commit_id\nsize_t final_start_line_number\ngit_signature * final_signature\ngit_oid orig_commit_id\nconst char * orig_path\nsize_t orig_start_line_number\ngit_signature * orig_signature\nchar boundary", "tdef": "typedef", "description": " Structure that represents a blame hunk.", - "comments": "lines_in_hunk is the number of lines in this hunk - final_commit_id is the OID of the commit where this line was last changed. - final_start_line_number is the 1-based line number where this hunk begins, in the final version of the file - orig_commit_id is 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. - orig_path is the path to the file where this hunk originated, as of the commit specified by orig_commit_id. - orig_start_line_number is the 1-based line number where this hunk begins in the file named by orig_path in the commit specified by orig_commit_id. - boundary is 1 iff the hunk has been tracked to a boundary commit (the root, or the commit specified in git_blame_options.oldest_commit)lines_in_hunk is the number of lines in this hunk - final_commit_id is the OID of the commit where this line was last changed. - final_start_line_number is the 1-based line number where this hunk begins, in the final version of the file - final_signature is the author of final_commit_id. If GIT_BLAME_USE_MAILMAP has been specified, it will contain the canonical real name and email address. - orig_commit_id is 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. - orig_path is the path to the file where this hunk originated, as of the commit specified by orig_commit_id. - orig_start_line_number is the 1-based line number where this hunk begins in the file named by orig_path in the commit specified by orig_commit_id. - orig_signature is the author of orig_commit_id. If GIT_BLAME_USE_MAILMAP has been specified, it will contain the canonical real name and email address. - boundary is 1 iff the hunk has been tracked to a boundary commit (the root, or the commit specified in git_blame_options.oldest_commit)Use zeros to indicate default settings. It's easiest to use the GIT_BLAME_OPTIONS_INIT macro: git_blame_options opts = GIT_BLAME_OPTIONS_INIT;
flags is a combination of the git_blame_flag_t values above. - min_match_characters is 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. - newest_commit is the id of the newest commit to consider. The default is HEAD. - oldest_commit is the id of the oldest commit to consider. The default is the first commit encountered with a NULL parent. - min_line is the first line in the file to blame. The default is 1 (line numbers start with 1). - max_line is the last line in the file to blame. The default is the last line of the file.Initialize with GIT_BLAME_OPTIONS_INIT. Alternatively, you can use git_blame_options_init.
Sometimes libgit2 wants to return an allocated data buffer to the caller and have the caller take responsibility for freeing that memory. This can be awkward if the caller does not have easy access to the same allocation functions that libgit2 is using. In those cases, libgit2 will fill in a git_buf and the caller can use git_buf_free() to release it when they are done.
A git_buf may also be used for the caller to pass in a reference to a block of memory they hold. In this case, libgit2 will not resize or free the memory, but will read from it as needed.
A git_buf is a public structure with three fields:
ptr points to the start of the allocated memory. If it is NULL, then the git_buf is considered empty and libgit2 will feel free to overwrite it with new data.
size holds the size (in bytes) of the data that is actually used.
asize holds the known total amount of allocated memory if the ptr was allocated by libgit2. It may be larger than size. If ptr was not allocated by libgit2 and should not be resized and/or freed, then asize will be set to zero.
Some APIs may occasionally do something slightly unusual with a buffer, such as setting ptr to a value that was passed in by the user. In those cases, the behavior will be clearly documented by the API.
Sometimes libgit2 wants to return an allocated data buffer to the caller and have the caller take responsibility for freeing that memory. This can be awkward if the caller does not have easy access to the same allocation functions that libgit2 is using. In those cases, libgit2 will fill in a git_buf and the caller can use git_buf_dispose() to release it when they are done.
A git_buf may also be used for the caller to pass in a reference to a block of memory they hold. In this case, libgit2 will not resize or free the memory, but will read from it as needed.
Some APIs may occasionally do something slightly unusual with a buffer, such as setting ptr to a value that was passed in by the user. In those cases, the behavior will be clearly documented by the API.
Zero out for defaults. Initialize with GIT_CHECKOUT_OPTIONS_INIT macro to correctly set the version field. E.g.
git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;\n\n",
+ "comments": "Initialize with GIT_CHECKOUT_OPTIONS_INIT. Alternatively, you can use git_checkout_options_init.
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.
\n\nYou give checkout one of three strategies for update:
\n\nGIT_CHECKOUT_NONE is a dry-run strategy that checks for conflicts, etc., but doesn't make any actual changes.
GIT_CHECKOUT_FORCE is at the opposite extreme, taking any action to make the working directory match the target (including potentially discarding modified files).
GIT_CHECKOUT_SAFE is between these two options, it will only make modifications that will not lose changes.
| 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 | | | ---------------------|-----------------------|----------------------|\nTo 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 modified the behavior of checkout:
\n\nGIT_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.
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.
\n\nYou give checkout one of three strategies for update:
\n\nGIT_CHECKOUT_NONE is a dry-run strategy that checks for conflicts, etc., but doesn't make any actual changes.
GIT_CHECKOUT_FORCE is at the opposite extreme, taking any action to make the working directory match the target (including potentially discarding modified files).
GIT_CHECKOUT_SAFE is between these two options, it will only make modifications that will not lose changes.
| 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 | | | ---------------------|-----------------------|----------------------|\nTo 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:
\n\nGIT_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.
Allow safe updates that cannot overwrite uncommitted data
\n", + "comments": "Allow safe updates that cannot overwrite uncommitted data.\n If the uncommitted changes don't conflict with the checked out files,\n the checkout will still proceed, leaving the changes intact.
\n\nMutually exclusive with GIT_CHECKOUT_FORCE.\n GIT_CHECKOUT_FORCE takes precedence over GIT_CHECKOUT_SAFE.
\n", "value": 1 }, { "type": "int", "name": "GIT_CHECKOUT_FORCE", - "comments": "Allow all updates to force working directory to look like index
\n", + "comments": "Allow all updates to force working directory to look like index.
\n\nMutually exclusive with GIT_CHECKOUT_SAFE.\n GIT_CHECKOUT_FORCE takes precedence over GIT_CHECKOUT_SAFE.
\n", "value": 2 }, { @@ -27564,7 +27409,7 @@ ], "type": "struct", "value": "git_cherrypick_options", - "file": "cherrypick.h", + "file": "git2/cherrypick.h", "line": 26, "lineto": 34, "block": "unsigned int version\nunsigned int mainline\ngit_merge_options merge_opts\ngit_checkout_options checkout_opts", @@ -27597,7 +27442,7 @@ "returns": [], "needs": [ "git_cherrypick", - "git_cherrypick_init_options" + "git_cherrypick_options_init" ] } } @@ -27612,7 +27457,7 @@ "GIT_CLONE_LOCAL_NO_LINKS" ], "type": "enum", - "file": "clone.h", + "file": "git2/clone.h", "line": 33, "lineto": 53, "block": "GIT_CLONE_LOCAL_AUTO\nGIT_CLONE_LOCAL\nGIT_CLONE_NO_LOCAL\nGIT_CLONE_LOCAL_NO_LINKS", @@ -27668,13 +27513,13 @@ ], "type": "struct", "value": "git_clone_options", - "file": "clone.h", + "file": "git2/clone.h", "line": 103, "lineto": 164, "block": "unsigned int version\ngit_checkout_options checkout_opts\ngit_fetch_options fetch_opts\nint bare\ngit_clone_local_t local\nconst char * checkout_branch\ngit_repository_create_cb repository_cb\nvoid * repository_cb_payload\ngit_remote_create_cb remote_cb\nvoid * remote_cb_payload", "tdef": "typedef", "description": " Clone options structure", - "comments": "Use the GIT_CLONE_OPTIONS_INIT to get the default settings, like this:
\n\n git_clone_options opts = GIT_CLONE_OPTIONS_INIT;\n\n",
+ "comments": "Initialize with GIT_CLONE_OPTIONS_INIT. Alternatively, you can use git_clone_options_init.
struct my_iterator { git_config_iterator parent; ... }\n\n\nand assign iter->parent.backend to your git_config_backend.
This represents the various types of authentication methods supported by the library.
\n", "fields": [ { "type": "int", "name": "GIT_CREDTYPE_USERPASS_PLAINTEXT", - "comments": "", + "comments": "A vanilla user/password request
\n", "value": 1 }, { "type": "int", "name": "GIT_CREDTYPE_SSH_KEY", - "comments": "", + "comments": "An SSH key-based authentication request
\n", "value": 2 }, { "type": "int", "name": "GIT_CREDTYPE_SSH_CUSTOM", - "comments": "", + "comments": "An SSH key-based authentication request, with a custom signature
\n", "value": 4 }, { "type": "int", "name": "GIT_CREDTYPE_DEFAULT", - "comments": "", + "comments": "An NTLM/Negotiate-based authentication request.
\n", "value": 8 }, { "type": "int", "name": "GIT_CREDTYPE_SSH_INTERACTIVE", - "comments": "", + "comments": "An SSH interactive authentication request
\n", "value": 16 }, { "type": "int", "name": "GIT_CREDTYPE_USERNAME", - "comments": "Username-only information
\n\nIf the SSH transport does not know which username to use,\n it will ask via this credential type.
\n", + "comments": "Username-only authentication request
\n\nUsed as a pre-authentication step if the underlying transport\n (eg. SSH, with no username in its URL) does not know which username\n to use.
\n", "value": 32 }, { "type": "int", "name": "GIT_CREDTYPE_SSH_MEMORY", - "comments": "Credentials read from memory.
\n\nOnly available for libssh2+OpenSSL for now.
\n", + "comments": "An SSH key-based authentication request
\n\nAllows credentials to be read from memory instead of files.\n Note that because of differences in crypto backend support, it might\n not be functional.
\n", "value": 64 } ], @@ -28482,98 +28369,6 @@ } } ], - [ - "git_cvar_map", - { - "decl": [ - "git_cvar_t cvar_type", - "const char * str_match", - "int map_value" - ], - "type": "struct", - "value": "git_cvar_map", - "file": "config.h", - "line": 93, - "lineto": 97, - "block": "git_cvar_t cvar_type\nconst char * str_match\nint map_value", - "tdef": "typedef", - "description": " Mapping from config variables to values.", - "comments": "", - "fields": [ - { - "type": "git_cvar_t", - "name": "cvar_type", - "comments": "" - }, - { - "type": "const char *", - "name": "str_match", - "comments": "" - }, - { - "type": "int", - "name": "map_value", - "comments": "" - } - ], - "used": { - "returns": [], - "needs": [ - "git_config_get_mapped", - "git_config_lookup_map_value" - ] - } - } - ], - [ - "git_cvar_t", - { - "decl": [ - "GIT_CVAR_FALSE", - "GIT_CVAR_TRUE", - "GIT_CVAR_INT32", - "GIT_CVAR_STRING" - ], - "type": "enum", - "file": "config.h", - "line": 83, - "lineto": 88, - "block": "GIT_CVAR_FALSE\nGIT_CVAR_TRUE\nGIT_CVAR_INT32\nGIT_CVAR_STRING", - "tdef": "typedef", - "description": " Config var type", - "comments": "", - "fields": [ - { - "type": "int", - "name": "GIT_CVAR_FALSE", - "comments": "", - "value": 0 - }, - { - "type": "int", - "name": "GIT_CVAR_TRUE", - "comments": "", - "value": 1 - }, - { - "type": "int", - "name": "GIT_CVAR_INT32", - "comments": "", - "value": 2 - }, - { - "type": "int", - "name": "GIT_CVAR_STRING", - "comments": "", - "value": 3 - } - ], - "used": { - "returns": [], - "needs": [] - } - } - ], [ "git_delta_t", { @@ -28591,9 +28386,9 @@ "GIT_DELTA_CONFLICTED" ], "type": "enum", - "file": "diff.h", - "line": 252, - "lineto": 264, + "file": "git2/diff.h", + "line": 220, + "lineto": 232, "block": "GIT_DELTA_UNMODIFIED\nGIT_DELTA_ADDED\nGIT_DELTA_DELETED\nGIT_DELTA_MODIFIED\nGIT_DELTA_RENAMED\nGIT_DELTA_COPIED\nGIT_DELTA_IGNORED\nGIT_DELTA_UNTRACKED\nGIT_DELTA_TYPECHANGE\nGIT_DELTA_UNREADABLE\nGIT_DELTA_CONFLICTED", "tdef": "typedef", "description": " What type of change is described by a git_diff_delta?", @@ -28686,13 +28481,13 @@ ], "type": "struct", "value": "git_describe_format_options", - "file": "describe.h", - "line": 78, - "lineto": 98, + "file": "git2/describe.h", + "line": 91, + "lineto": 111, "block": "unsigned int version\nunsigned int abbreviated_size\nint always_use_long_format\nconst char * dirty_suffix", "tdef": "typedef", - "description": " Options for formatting the describe string", - "comments": "", + "description": " Describe format options structure", + "comments": "Initialize with GIT_DESCRIBE_FORMAT_OPTIONS_INIT. Alternatively, you can use git_describe_format_options_init.
Initialize with GIT_DESCRIBE_OPTIONS_INIT macro to correctly set the version field. E.g.
git_describe_options opts = GIT_DESCRIBE_OPTIONS_INIT;\n\n",
+ "comments": "Initialize with GIT_DESCRIBE_OPTIONS_INIT. Alternatively, you can use git_describe_options_init.
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.
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.
\n\nThis 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.
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.
When iterating over a diff, this will be passed to most callbacks and you can use the contents to understand exactly what has changed.
\n\nThe 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).
\n\nUnder 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)).
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.
\n\nThe 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).
\n\nUnder 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)).
These options mostly mimic parameters that can be passed to git-diff.
\n\nrename_threshold is the same as the -M option with a value - copy_threshold is the same as the -C option with a value - rename_from_rewrite_threshold matches the top of the -B option - break_rewrite_threshold matches the bottom of the -B option - rename_limit is the maximum number of matches to consider for a particular file. This is a little different from the -l option to regular Git because we will still process up to this many matches before abandoning the search.The metric option allows you to plug in a custom similarity metric. Set it to NULL for the default internal metric which is based on sampling hashes of ranges of data in the file. The default metric is a pretty good similarity approximation that should work fairly well for both text and binary data, and is pretty fast with fixed memory overhead.
These options mostly mimic parameters that can be passed to git-diff.
\n", "fields": [ { "type": "unsigned int", @@ -29228,38 +29024,38 @@ { "type": "uint16_t", "name": "rename_threshold", - "comments": " Similarity to consider a file renamed (default 50) " + "comments": " Threshold above which similar files will be considered renames.\n This is equivalent to the -M option. Defaults to 50." }, { "type": "uint16_t", "name": "rename_from_rewrite_threshold", - "comments": " Similarity of modified to be eligible rename source (default 50) " + "comments": " Threshold below which similar files will be eligible to be a rename source.\n This is equivalent to the first part of the -B option. Defaults to 50." }, { "type": "uint16_t", "name": "copy_threshold", - "comments": " Similarity to consider a file a copy (default 50) " + "comments": " Threshold above which similar files will be considered copies.\n This is equivalent to the -C option. Defaults to 50." }, { "type": "uint16_t", "name": "break_rewrite_threshold", - "comments": " Similarity to split modify into delete/add pair (default 60) " + "comments": " Treshold below which similar files will be split into a delete/add pair.\n This is equivalent to the last part of the -B option. Defaults to 60." }, { "type": "size_t", "name": "rename_limit", - "comments": " Maximum similarity sources to examine for a file (somewhat like\n git-diff's `-l` option or `diff.renameLimit` config) (default 200)" + "comments": " Maximum number of matches to consider for a particular file.\n\n This is a little different from the `-l` option from Git because we\n will still process up to this many matches before abandoning the search.\n Defaults to 200." }, { "type": "git_diff_similarity_metric *", "name": "metric", - "comments": " Pluggable similarity metric; pass NULL to use internal metric " + "comments": " The `metric` option allows you to plug in a custom similarity metric.\n\n Set it to NULL to use the default internal metric.\n\n The default metric is based on sampling hashes of ranges of data in\n the file, which is a pretty good similarity approximation that should\n work fairly well for both text and binary data while still being\n pretty fast with a fixed memory overhead." } ], "used": { "returns": [], "needs": [ - "git_diff_find_init_options", + "git_diff_find_options_init", "git_diff_find_similar" ] } @@ -29287,9 +29083,9 @@ "GIT_DIFF_FIND_REMOVE_UNMODIFIED" ], "type": "enum", - "file": "diff.h", - "line": 597, - "lineto": 666, + "file": "git2/diff.h", + "line": 627, + "lineto": 696, "block": "GIT_DIFF_FIND_BY_CONFIG\nGIT_DIFF_FIND_RENAMES\nGIT_DIFF_FIND_RENAMES_FROM_REWRITES\nGIT_DIFF_FIND_COPIES\nGIT_DIFF_FIND_COPIES_FROM_UNMODIFIED\nGIT_DIFF_FIND_REWRITES\nGIT_DIFF_BREAK_REWRITES\nGIT_DIFF_FIND_AND_BREAK_REWRITES\nGIT_DIFF_FIND_FOR_UNTRACKED\nGIT_DIFF_FIND_ALL\nGIT_DIFF_FIND_IGNORE_LEADING_WHITESPACE\nGIT_DIFF_FIND_IGNORE_WHITESPACE\nGIT_DIFF_FIND_DONT_IGNORE_WHITESPACE\nGIT_DIFF_FIND_EXACT_MATCH_ONLY\nGIT_DIFF_BREAK_REWRITES_FOR_RENAMES_ONLY\nGIT_DIFF_FIND_REMOVE_UNMODIFIED", "tdef": "typedef", "description": " Flags to control the behavior of diff rename/copy detection.", @@ -29408,9 +29204,9 @@ "GIT_DIFF_FLAG_EXISTS" ], "type": "enum", - "file": "diff.h", - "line": 235, - "lineto": 240, + "file": "git2/diff.h", + "line": 203, + "lineto": 208, "block": "GIT_DIFF_FLAG_BINARY\nGIT_DIFF_FLAG_NOT_BINARY\nGIT_DIFF_FLAG_VALID_ID\nGIT_DIFF_FLAG_EXISTS", "tdef": "typedef", "description": " Flags for the delta object and the file objects on each side.", @@ -29455,9 +29251,9 @@ "GIT_DIFF_FORMAT_EMAIL_EXCLUDE_SUBJECT_PATCH_MARKER" ], "type": "enum", - "file": "diff.h", - "line": 1321, - "lineto": 1328, + "file": "git2/diff.h", + "line": 1366, + "lineto": 1373, "block": "GIT_DIFF_FORMAT_EMAIL_NONE\nGIT_DIFF_FORMAT_EMAIL_EXCLUDE_SUBJECT_PATCH_MARKER", "tdef": "typedef", "description": " Formatting options for diff e-mail generation", @@ -29499,9 +29295,9 @@ ], "type": "struct", "value": "git_diff_format_email_options", - "file": "diff.h", - "line": 1333, - "lineto": 1355, + "file": "git2/diff.h", + "line": 1378, + "lineto": 1400, "block": "unsigned int version\ngit_diff_format_email_flags_t flags\nsize_t patch_no\nsize_t total_patches\nconst git_oid * id\nconst char * summary\nconst char * body\nconst git_signature * author", "tdef": "typedef", "description": " Options for controlling the formatting of the generated e-mail.", @@ -29552,7 +29348,7 @@ "returns": [], "needs": [ "git_diff_format_email", - "git_diff_format_email_init_options" + "git_diff_format_email_options_init" ] } } @@ -29568,9 +29364,9 @@ "GIT_DIFF_FORMAT_NAME_STATUS" ], "type": "enum", - "file": "diff.h", - "line": 1045, - "lineto": 1051, + "file": "git2/diff.h", + "line": 1090, + "lineto": 1096, "block": "GIT_DIFF_FORMAT_PATCH\nGIT_DIFF_FORMAT_PATCH_HEADER\nGIT_DIFF_FORMAT_RAW\nGIT_DIFF_FORMAT_NAME_ONLY\nGIT_DIFF_FORMAT_NAME_STATUS", "tdef": "typedef", "description": " Possible output formats for diff data", @@ -29629,13 +29425,13 @@ ], "type": "struct", "value": "git_diff_hunk", - "file": "diff.h", - "line": 523, - "lineto": 530, + "file": "git2/diff.h", + "line": 545, + "lineto": 552, "block": "int old_start\nint old_lines\nint new_start\nint new_lines\nsize_t header_len\nchar [128] header", "tdef": "typedef", "description": " Structure describing a hunk of a diff.", - "comments": "", + "comments": "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.
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.
Include unreadable files in the diff
\n", "value": 131072 }, + { + "type": "int", + "name": "GIT_DIFF_INDENT_HEURISTIC", + "comments": "Use a heuristic that takes indentation and whitespace into account\n which generally can produce better diffs when dealing with ambiguous\n diff hunks.
\n", + "value": 262144 + }, { "type": "int", "name": "GIT_DIFF_FORCE_TEXT", @@ -30060,12 +29859,6 @@ "name": "GIT_DIFF_SHOW_BINARY", "comments": "Include the necessary deflate / delta information so that git-apply\n can apply given diff information to binary files.
Use a heuristic that takes indentation and whitespace into account\n which generally can produce better diffs when dealing with ambiguous\n diff hunks.
\n", - "value": -2147483648 } ], "used": { @@ -30094,13 +29887,13 @@ ], "type": "struct", "value": "git_diff_options", - "file": "diff.h", - "line": 408, - "lineto": 428, + "file": "git2/diff.h", + "line": 361, + "lineto": 433, "block": "unsigned int version\nuint32_t flags\ngit_submodule_ignore_t ignore_submodules\ngit_strarray pathspec\ngit_diff_notify_cb notify_cb\ngit_diff_progress_cb progress_cb\nvoid * payload\nuint32_t context_lines\nuint32_t interhunk_lines\nuint16_t id_abbrev\ngit_off_t max_size\nconst char * old_prefix\nconst char * new_prefix", "tdef": "typedef", "description": " Structure describing options about how the diff should be executed.", - "comments": "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.
\n\nflags is a combination of the git_diff_option_t values above - context_lines is the number of unchanged lines that define the boundary of a hunk (and to display before and after) - interhunk_lines is the maximum number of unchanged lines between hunk boundaries before the hunks will be merged into a one. - old_prefix is the virtual "directory" to prefix to old file names in hunk headers (default "a") - new_prefix is the virtual "directory" to prefix to new file names in hunk headers (default "b") - pathspec is an array of paths / fnmatch patterns to constrain diff - max_size is a file size (in bytes) above which a blob will be marked as binary automatically; pass a negative value to disable. - notify_cb is an optional callback function, notifying the consumer of changes to the diff as new deltas are added. - progress_cb is an optional callback function, notifying the consumer of which files are being examined as the diff is generated. - payload is the payload to pass to the callback functions. - ignore_submodules overrides the submodule ignore setting for all submodules in the diff.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.
\n", "fields": [ { "type": "unsigned int", @@ -30110,62 +29903,62 @@ { "type": "uint32_t", "name": "flags", - "comments": " defaults to GIT_DIFF_NORMAL " + "comments": " A combination of `git_diff_option_t` values above.\n Defaults to GIT_DIFF_NORMAL" }, { "type": "git_submodule_ignore_t", "name": "ignore_submodules", - "comments": " submodule ignore rule " + "comments": " Overrides the submodule ignore setting for all submodules in the diff. " }, { "type": "git_strarray", "name": "pathspec", - "comments": " defaults to include all paths " + "comments": " An array of paths / fnmatch patterns to constrain diff.\n All paths are included by default." }, { "type": "git_diff_notify_cb", "name": "notify_cb", - "comments": "" + "comments": " An optional callback function, notifying the consumer of changes to\n the diff as new deltas are added." }, { "type": "git_diff_progress_cb", "name": "progress_cb", - "comments": "" + "comments": " An optional callback function, notifying the consumer of which files\n are being examined as the diff is generated." }, { "type": "void *", "name": "payload", - "comments": "" + "comments": " The payload to pass to the callback functions. " }, { "type": "uint32_t", "name": "context_lines", - "comments": " defaults to 3 " + "comments": " The number of unchanged lines that define the boundary of a hunk\n (and to display before and after). Defaults to 3." }, { "type": "uint32_t", "name": "interhunk_lines", - "comments": " defaults to 0 " + "comments": " The maximum number of unchanged lines between hunk boundaries before\n the hunks will be merged into one. Defaults to 0." }, { "type": "uint16_t", "name": "id_abbrev", - "comments": " default 'core.abbrev' or 7 if unset " + "comments": " The abbreviation length to use when formatting object ids.\n Defaults to the value of 'core.abbrev' from the config, or 7 if unset." }, { "type": "git_off_t", "name": "max_size", - "comments": " defaults to 512MB " + "comments": " A size (in bytes) above which a blob will be marked as binary\n automatically; pass a negative value to disable.\n Defaults to 512MB." }, { "type": "const char *", "name": "old_prefix", - "comments": " defaults to \"a\" " + "comments": " The virtual \"directory\" prefix for old file names in hunk headers.\n Default is \"a\"." }, { "type": "const char *", "name": "new_prefix", - "comments": " defaults to \"b\" " + "comments": " The virtual \"directory\" prefix for new file names in hunk headers.\n Defaults to \"b\"." } ], "used": { @@ -30177,7 +29970,7 @@ "git_diff_commit_as_email", "git_diff_index_to_index", "git_diff_index_to_workdir", - "git_diff_init_options", + "git_diff_options_init", "git_diff_tree_to_index", "git_diff_tree_to_tree", "git_diff_tree_to_workdir", @@ -30197,13 +29990,13 @@ ], "type": "struct", "value": "git_diff_patchid_options", - "file": "diff.h", - "line": 1415, - "lineto": 1417, + "file": "git2/diff.h", + "line": 1462, + "lineto": 1464, "block": "unsigned int version", "tdef": "typedef", "description": " Patch ID options structure", - "comments": "Initialize with GIT_DIFF_PATCHID_OPTIONS_INIT macro to correctly set the default values and version.
Initialize with GIT_PATCHID_OPTIONS_INIT. Alternatively, you can use git_diff_patchid_options_init.
GIT_EUSER is a special error that is never generated by libgit2\n code. You can return it from a callback (e.g to stop an iteration)\n to know that it was generated by the callback and not by libgit2.
\n", "value": -7 }, { @@ -30662,7 +30415,7 @@ { "type": "int", "name": "GIT_PASSTHROUGH", - "comments": "Internal only
\n", + "comments": "A user-configured callback refused to act
\n", "value": -30 }, { @@ -30682,6 +30435,18 @@ "name": "GIT_EMISMATCH", "comments": "Hashsum mismatch in object
\n", "value": -33 + }, + { + "type": "int", + "name": "GIT_EINDEXDIRTY", + "comments": "Unsaved changes in the index would be overwritten
\n", + "value": -34 + }, + { + "type": "int", + "name": "GIT_EAPPLYFAIL", + "comments": "Patch application failed
\n", + "value": -35 } ], "used": { @@ -30694,251 +30459,251 @@ "git_error_t", { "decl": [ - "GITERR_NONE", - "GITERR_NOMEMORY", - "GITERR_OS", - "GITERR_INVALID", - "GITERR_REFERENCE", - "GITERR_ZLIB", - "GITERR_REPOSITORY", - "GITERR_CONFIG", - "GITERR_REGEX", - "GITERR_ODB", - "GITERR_INDEX", - "GITERR_OBJECT", - "GITERR_NET", - "GITERR_TAG", - "GITERR_TREE", - "GITERR_INDEXER", - "GITERR_SSL", - "GITERR_SUBMODULE", - "GITERR_THREAD", - "GITERR_STASH", - "GITERR_CHECKOUT", - "GITERR_FETCHHEAD", - "GITERR_MERGE", - "GITERR_SSH", - "GITERR_FILTER", - "GITERR_REVERT", - "GITERR_CALLBACK", - "GITERR_CHERRYPICK", - "GITERR_DESCRIBE", - "GITERR_REBASE", - "GITERR_FILESYSTEM", - "GITERR_PATCH", - "GITERR_WORKTREE", - "GITERR_SHA1" + "GIT_ERROR_NONE", + "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_SHA1" ], "type": "enum", - "file": "errors.h", - "line": 72, - "lineto": 107, - "block": "GITERR_NONE\nGITERR_NOMEMORY\nGITERR_OS\nGITERR_INVALID\nGITERR_REFERENCE\nGITERR_ZLIB\nGITERR_REPOSITORY\nGITERR_CONFIG\nGITERR_REGEX\nGITERR_ODB\nGITERR_INDEX\nGITERR_OBJECT\nGITERR_NET\nGITERR_TAG\nGITERR_TREE\nGITERR_INDEXER\nGITERR_SSL\nGITERR_SUBMODULE\nGITERR_THREAD\nGITERR_STASH\nGITERR_CHECKOUT\nGITERR_FETCHHEAD\nGITERR_MERGE\nGITERR_SSH\nGITERR_FILTER\nGITERR_REVERT\nGITERR_CALLBACK\nGITERR_CHERRYPICK\nGITERR_DESCRIBE\nGITERR_REBASE\nGITERR_FILESYSTEM\nGITERR_PATCH\nGITERR_WORKTREE\nGITERR_SHA1", + "file": "git2/errors.h", + "line": 75, + "lineto": 110, + "block": "GIT_ERROR_NONE\nGIT_ERROR_NOMEMORY\nGIT_ERROR_OS\nGIT_ERROR_INVALID\nGIT_ERROR_REFERENCE\nGIT_ERROR_ZLIB\nGIT_ERROR_REPOSITORY\nGIT_ERROR_CONFIG\nGIT_ERROR_REGEX\nGIT_ERROR_ODB\nGIT_ERROR_INDEX\nGIT_ERROR_OBJECT\nGIT_ERROR_NET\nGIT_ERROR_TAG\nGIT_ERROR_TREE\nGIT_ERROR_INDEXER\nGIT_ERROR_SSL\nGIT_ERROR_SUBMODULE\nGIT_ERROR_THREAD\nGIT_ERROR_STASH\nGIT_ERROR_CHECKOUT\nGIT_ERROR_FETCHHEAD\nGIT_ERROR_MERGE\nGIT_ERROR_SSH\nGIT_ERROR_FILTER\nGIT_ERROR_REVERT\nGIT_ERROR_CALLBACK\nGIT_ERROR_CHERRYPICK\nGIT_ERROR_DESCRIBE\nGIT_ERROR_REBASE\nGIT_ERROR_FILESYSTEM\nGIT_ERROR_PATCH\nGIT_ERROR_WORKTREE\nGIT_ERROR_SHA1", "tdef": "typedef", "description": " Error classes ", "comments": "", "fields": [ { "type": "int", - "name": "GITERR_NONE", + "name": "GIT_ERROR_NONE", "comments": "", "value": 0 }, { "type": "int", - "name": "GITERR_NOMEMORY", + "name": "GIT_ERROR_NOMEMORY", "comments": "", "value": 1 }, { "type": "int", - "name": "GITERR_OS", + "name": "GIT_ERROR_OS", "comments": "", "value": 2 }, { "type": "int", - "name": "GITERR_INVALID", + "name": "GIT_ERROR_INVALID", "comments": "", "value": 3 }, { "type": "int", - "name": "GITERR_REFERENCE", + "name": "GIT_ERROR_REFERENCE", "comments": "", "value": 4 }, { "type": "int", - "name": "GITERR_ZLIB", + "name": "GIT_ERROR_ZLIB", "comments": "", "value": 5 }, { "type": "int", - "name": "GITERR_REPOSITORY", + "name": "GIT_ERROR_REPOSITORY", "comments": "", "value": 6 }, { "type": "int", - "name": "GITERR_CONFIG", + "name": "GIT_ERROR_CONFIG", "comments": "", "value": 7 }, { "type": "int", - "name": "GITERR_REGEX", + "name": "GIT_ERROR_REGEX", "comments": "", "value": 8 }, { "type": "int", - "name": "GITERR_ODB", + "name": "GIT_ERROR_ODB", "comments": "", "value": 9 }, { "type": "int", - "name": "GITERR_INDEX", + "name": "GIT_ERROR_INDEX", "comments": "", "value": 10 }, { "type": "int", - "name": "GITERR_OBJECT", + "name": "GIT_ERROR_OBJECT", "comments": "", "value": 11 }, { "type": "int", - "name": "GITERR_NET", + "name": "GIT_ERROR_NET", "comments": "", "value": 12 }, { "type": "int", - "name": "GITERR_TAG", + "name": "GIT_ERROR_TAG", "comments": "", "value": 13 }, { "type": "int", - "name": "GITERR_TREE", + "name": "GIT_ERROR_TREE", "comments": "", "value": 14 }, { "type": "int", - "name": "GITERR_INDEXER", + "name": "GIT_ERROR_INDEXER", "comments": "", "value": 15 }, { "type": "int", - "name": "GITERR_SSL", + "name": "GIT_ERROR_SSL", "comments": "", "value": 16 }, { "type": "int", - "name": "GITERR_SUBMODULE", + "name": "GIT_ERROR_SUBMODULE", "comments": "", "value": 17 }, { "type": "int", - "name": "GITERR_THREAD", + "name": "GIT_ERROR_THREAD", "comments": "", "value": 18 }, { "type": "int", - "name": "GITERR_STASH", + "name": "GIT_ERROR_STASH", "comments": "", "value": 19 }, { "type": "int", - "name": "GITERR_CHECKOUT", + "name": "GIT_ERROR_CHECKOUT", "comments": "", "value": 20 }, { "type": "int", - "name": "GITERR_FETCHHEAD", + "name": "GIT_ERROR_FETCHHEAD", "comments": "", "value": 21 }, { "type": "int", - "name": "GITERR_MERGE", + "name": "GIT_ERROR_MERGE", "comments": "", "value": 22 }, { "type": "int", - "name": "GITERR_SSH", + "name": "GIT_ERROR_SSH", "comments": "", "value": 23 }, { "type": "int", - "name": "GITERR_FILTER", + "name": "GIT_ERROR_FILTER", "comments": "", "value": 24 }, { "type": "int", - "name": "GITERR_REVERT", + "name": "GIT_ERROR_REVERT", "comments": "", "value": 25 }, { "type": "int", - "name": "GITERR_CALLBACK", + "name": "GIT_ERROR_CALLBACK", "comments": "", "value": 26 }, { "type": "int", - "name": "GITERR_CHERRYPICK", + "name": "GIT_ERROR_CHERRYPICK", "comments": "", "value": 27 }, { "type": "int", - "name": "GITERR_DESCRIBE", + "name": "GIT_ERROR_DESCRIBE", "comments": "", "value": 28 }, { "type": "int", - "name": "GITERR_REBASE", + "name": "GIT_ERROR_REBASE", "comments": "", "value": 29 }, { "type": "int", - "name": "GITERR_FILESYSTEM", + "name": "GIT_ERROR_FILESYSTEM", "comments": "", "value": 30 }, { "type": "int", - "name": "GITERR_PATCH", + "name": "GIT_ERROR_PATCH", "comments": "", "value": 31 }, { "type": "int", - "name": "GITERR_WORKTREE", + "name": "GIT_ERROR_WORKTREE", "comments": "", "value": 32 }, { "type": "int", - "name": "GITERR_SHA1", + "name": "GIT_ERROR_SHA1", "comments": "", "value": 33 } @@ -30959,9 +30724,9 @@ "GIT_FEATURE_NSEC" ], "type": "enum", - "file": "common.h", - "line": 111, - "lineto": 134, + "file": "git2/common.h", + "line": 127, + "lineto": 150, "block": "GIT_FEATURE_THREADS\nGIT_FEATURE_HTTPS\nGIT_FEATURE_SSH\nGIT_FEATURE_NSEC", "tdef": "typedef", "description": " Combinations of these values describe the features with which libgit2\n was compiled", @@ -31012,9 +30777,9 @@ ], "type": "struct", "value": "git_fetch_options", - "file": "remote.h", - "line": 555, - "lineto": 592, + "file": "git2/remote.h", + "line": 652, + "lineto": 689, "block": "int version\ngit_remote_callbacks callbacks\ngit_fetch_prune_t prune\nint update_fetchhead\ngit_remote_autotag_option_t download_tags\ngit_proxy_options proxy_opts\ngit_strarray custom_headers", "tdef": "typedef", "description": " Fetch options structure.", @@ -31059,13 +30824,55 @@ "used": { "returns": [], "needs": [ - "git_fetch_init_options", + "git_fetch_options_init", "git_remote_download", "git_remote_fetch" ] } } ], + [ + "git_fetch_prune_t", + { + "decl": [ + "GIT_FETCH_PRUNE_UNSPECIFIED", + "GIT_FETCH_PRUNE", + "GIT_FETCH_NO_PRUNE" + ], + "type": "enum", + "file": "git2/remote.h", + "line": 604, + "lineto": 617, + "block": "GIT_FETCH_PRUNE_UNSPECIFIED\nGIT_FETCH_PRUNE\nGIT_FETCH_NO_PRUNE", + "tdef": "typedef", + "description": " Acceptable prune settings when fetching ", + "comments": "", + "fields": [ + { + "type": "int", + "name": "GIT_FETCH_PRUNE_UNSPECIFIED", + "comments": "Use the setting from the configuration
\n", + "value": 0 + }, + { + "type": "int", + "name": "GIT_FETCH_PRUNE", + "comments": "Force pruning on
\n", + "value": 1 + }, + { + "type": "int", + "name": "GIT_FETCH_NO_PRUNE", + "comments": "Force pruning off
\n", + "value": 2 + } + ], + "used": { + "returns": [], + "needs": [] + } + } + ], [ "git_filemode_t", { @@ -31078,9 +30885,9 @@ "GIT_FILEMODE_COMMIT" ], "type": "enum", - "file": "types.h", - "line": 209, - "lineto": 216, + "file": "git2/types.h", + "line": 210, + "lineto": 217, "block": "GIT_FILEMODE_UNREADABLE\nGIT_FILEMODE_TREE\nGIT_FILEMODE_BLOB\nGIT_FILEMODE_BLOB_EXECUTABLE\nGIT_FILEMODE_LINK\nGIT_FILEMODE_COMMIT", "tdef": "typedef", "description": " Valid modes for index and tree entries. ", @@ -31137,98 +30944,27 @@ [ "git_filter", { - "decl": [ - "unsigned int version", - "const char * attributes", - "git_filter_init_fn initialize", - "git_filter_shutdown_fn shutdown", - "git_filter_check_fn check", - "git_filter_apply_fn apply", - "git_filter_stream_fn stream", - "git_filter_cleanup_fn cleanup" - ], + "decl": "git_filter", "type": "struct", "value": "git_filter", - "file": "sys/filter.h", - "line": 226, - "lineto": 271, - "tdef": null, - "description": " Filter structure used to register custom filters.", - "comments": "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.
This represents a filter that can be used to transform or even replace file data. Libgit2 includes one built in filter and it is possible to write your own (see git2/sys/filter.h for information on that).
\n\nThe two builtin filters are:
\n\nIn 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_IDXENTRY_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.
Reserved for future extension
\n", - "value": 32768 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_EXTENDED_FLAGS", - "comments": "Reserved for future extension
\n", - "value": 24576 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_UPDATE", - "comments": "Reserved for future extension
\n", - "value": 1 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_REMOVE", - "comments": "Reserved for future extension
\n", - "value": 2 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_UPTODATE", - "comments": "Reserved for future extension
\n", - "value": 4 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_ADDED", - "comments": "Reserved for future extension
\n", - "value": 8 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_HASHED", - "comments": "Reserved for future extension
\n", - "value": 16 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_UNHASHED", - "comments": "Reserved for future extension
\n", - "value": 32 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_WT_REMOVE", - "comments": "remove in work directory
\n", - "value": 64 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_CONFLICTED", - "comments": "", - "value": 128 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_UNPACKED", - "comments": "", - "value": 256 - }, - { - "type": "int", - "name": "GIT_IDXENTRY_NEW_SKIP_WORKTREE", - "comments": "", - "value": 512 - } - ], "used": { "returns": [], "needs": [] @@ -31580,18 +31156,20 @@ "decl": "git_index", "type": "struct", "value": "git_index", - "file": "types.h", - "line": 135, - "lineto": 135, + "file": "git2/types.h", + "line": 136, + "lineto": 136, "tdef": "typedef", "description": " Memory representation of an index file. ", "comments": "", "used": { "returns": [ "git_index_get_byindex", - "git_index_get_bypath" + "git_index_get_bypath", + "git_remote_stats" ], "needs": [ + "git_apply_to_tree", "git_checkout_index", "git_cherrypick_commit", "git_diff_index_to_index", @@ -31600,7 +31178,7 @@ "git_index_add", "git_index_add_all", "git_index_add_bypath", - "git_index_add_frombuffer", + "git_index_add_from_buffer", "git_index_caps", "git_index_checksum", "git_index_clear", @@ -31620,6 +31198,9 @@ "git_index_get_byindex", "git_index_get_bypath", "git_index_has_conflicts", + "git_index_iterator_free", + "git_index_iterator_new", + "git_index_iterator_next", "git_index_new", "git_index_open", "git_index_owner", @@ -31642,13 +31223,16 @@ "git_indexer_free", "git_indexer_hash", "git_indexer_new", + "git_indexer_options_init", + "git_indexer_progress_cb", "git_merge_commits", "git_merge_file_from_index", "git_merge_trees", + "git_odb_write_pack", + "git_packbuilder_write", "git_pathspec_match_index", "git_rebase_inmemory_index", "git_repository_index", - "git_repository_set_index", "git_revert_commit" ] } @@ -31664,9 +31248,9 @@ "GIT_INDEX_ADD_CHECK_PATHSPEC" ], "type": "enum", - "file": "index.h", - "line": 150, - "lineto": 155, + "file": "git2/index.h", + "line": 139, + "lineto": 144, "block": "GIT_INDEX_ADD_DEFAULT\nGIT_INDEX_ADD_FORCE\nGIT_INDEX_ADD_DISABLE_PATHSPEC_MATCH\nGIT_INDEX_ADD_CHECK_PATHSPEC", "tdef": "typedef", "description": " Flags for APIs that add files matching pathspec ", @@ -31703,15 +31287,64 @@ } } ], + [ + "git_index_capability_t", + { + "decl": [ + "GIT_INDEX_CAPABILITY_IGNORE_CASE", + "GIT_INDEX_CAPABILITY_NO_FILEMODE", + "GIT_INDEX_CAPABILITY_NO_SYMLINKS", + "GIT_INDEX_CAPABILITY_FROM_OWNER" + ], + "type": "enum", + "file": "git2/index.h", + "line": 126, + "lineto": 131, + "block": "GIT_INDEX_CAPABILITY_IGNORE_CASE\nGIT_INDEX_CAPABILITY_NO_FILEMODE\nGIT_INDEX_CAPABILITY_NO_SYMLINKS\nGIT_INDEX_CAPABILITY_FROM_OWNER", + "tdef": "typedef", + "description": " Capabilities of system that affect index actions. ", + "comments": "", + "fields": [ + { + "type": "int", + "name": "GIT_INDEX_CAPABILITY_IGNORE_CASE", + "comments": "", + "value": 1 + }, + { + "type": "int", + "name": "GIT_INDEX_CAPABILITY_NO_FILEMODE", + "comments": "", + "value": 2 + }, + { + "type": "int", + "name": "GIT_INDEX_CAPABILITY_NO_SYMLINKS", + "comments": "", + "value": 4 + }, + { + "type": "int", + "name": "GIT_INDEX_CAPABILITY_FROM_OWNER", + "comments": "", + "value": -1 + } + ], + "used": { + "returns": [], + "needs": [] + } + } + ], [ "git_index_conflict_iterator", { "decl": "git_index_conflict_iterator", "type": "struct", "value": "git_index_conflict_iterator", - "file": "types.h", - "line": 138, - "lineto": 138, + "file": "git2/types.h", + "line": 142, + "lineto": 142, "tdef": "typedef", "description": " An iterator for conflicts in the index. ", "comments": "", @@ -31744,13 +31377,13 @@ ], "type": "struct", "value": "git_index_entry", - "file": "index.h", + "file": "git2/index.h", "line": 53, "lineto": 70, "block": "git_index_time ctime\ngit_index_time mtime\nuint32_t dev\nuint32_t ino\nuint32_t mode\nuint32_t uid\nuint32_t gid\nuint32_t file_size\ngit_oid id\nuint16_t flags\nuint16_t flags_extended\nconst char * path", "tdef": "typedef", "description": " In-memory representation of a file entry in the index.", - "comments": "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").
\n\nThe flags field consists of a number of bit fields which can be accessed via the first set of GIT_IDXENTRY_... 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_IDXENTRY_... 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.
\n", + "comments": "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").
\n\nThe 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.
\n", "fields": [ { "type": "git_index_time", @@ -31820,17 +31453,180 @@ ], "needs": [ "git_index_add", - "git_index_add_frombuffer", + "git_index_add_from_buffer", "git_index_conflict_add", "git_index_conflict_get", "git_index_conflict_next", "git_index_entry_is_conflict", "git_index_entry_stage", + "git_index_iterator_next", "git_merge_file_from_index" ] } } ], + [ + "git_index_entry_extended_flag_t", + { + "decl": [ + "GIT_INDEX_ENTRY_INTENT_TO_ADD", + "GIT_INDEX_ENTRY_SKIP_WORKTREE", + "GIT_INDEX_ENTRY_EXTENDED_FLAGS", + "GIT_INDEX_ENTRY_UPTODATE" + ], + "type": "enum", + "file": "git2/index.h", + "line": 116, + "lineto": 123, + "block": "GIT_INDEX_ENTRY_INTENT_TO_ADD\nGIT_INDEX_ENTRY_SKIP_WORKTREE\nGIT_INDEX_ENTRY_EXTENDED_FLAGS\nGIT_INDEX_ENTRY_UPTODATE", + "tdef": "typedef", + "description": " Bitmasks for on-disk fields of `git_index_entry`'s `flags_extended`", + "comments": "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.
Match any index stage.
\n\nSome index APIs take a stage to match; pass this value to match\n any entry matching the path regardless of stage.
\n", + "value": -1 + }, + { + "type": "int", + "name": "GIT_INDEX_STAGE_NORMAL", + "comments": "A normal staged file in the index.
\n", + "value": 0 + }, + { + "type": "int", + "name": "GIT_INDEX_STAGE_ANCESTOR", + "comments": "The ancestor side of a conflict.
\n", + "value": 1 + }, + { + "type": "int", + "name": "GIT_INDEX_STAGE_OURS", + "comments": "The "ours" side of a conflict.
\n", + "value": 2 + }, + { + "type": "int", + "name": "GIT_INDEX_STAGE_THEIRS", + "comments": "The "theirs" side of a conflict.
\n", + "value": 3 + } + ], + "used": { + "returns": [], + "needs": [] + } + } + ], [ "git_index_time", { @@ -31840,7 +31636,7 @@ ], "type": "struct", "value": "git_index_time", - "file": "index.h", + "file": "git2/index.h", "line": 26, "lineto": 30, "block": "int32_t seconds\nuint32_t nanoseconds", @@ -31866,86 +31662,153 @@ } ], [ - "git_indexcap_t", + "git_indexer", + { + "decl": "git_indexer", + "type": "struct", + "value": "git_indexer", + "file": "git2/indexer.h", + "line": 17, + "lineto": 17, + "tdef": "typedef", + "description": " A git indexer object ", + "comments": "", + "used": { + "returns": [ + "git_remote_stats" + ], + "needs": [ + "git_indexer_append", + "git_indexer_commit", + "git_indexer_free", + "git_indexer_hash", + "git_indexer_new", + "git_indexer_options_init", + "git_indexer_progress_cb", + "git_odb_write_pack", + "git_packbuilder_write" + ] + } + } + ], + [ + "git_indexer_options", { "decl": [ - "GIT_INDEXCAP_IGNORE_CASE", - "GIT_INDEXCAP_NO_FILEMODE", - "GIT_INDEXCAP_NO_SYMLINKS", - "GIT_INDEXCAP_FROM_OWNER" + "unsigned int version", + "git_indexer_progress_cb progress_cb", + "void * progress_cb_payload", + "unsigned char verify" ], - "type": "enum", - "file": "index.h", - "line": 138, - "lineto": 143, - "block": "GIT_INDEXCAP_IGNORE_CASE\nGIT_INDEXCAP_NO_FILEMODE\nGIT_INDEXCAP_NO_SYMLINKS\nGIT_INDEXCAP_FROM_OWNER", + "type": "struct", + "value": "git_indexer_options", + "file": "git2/indexer.h", + "line": 62, + "lineto": 72, + "block": "unsigned int version\ngit_indexer_progress_cb progress_cb\nvoid * progress_cb_payload\nunsigned char verify", "tdef": "typedef", - "description": " Capabilities of system that affect index actions. ", + "description": " Options for indexer configuration", "comments": "", "fields": [ { - "type": "int", - "name": "GIT_INDEXCAP_IGNORE_CASE", - "comments": "", - "value": 1 + "type": "unsigned int", + "name": "version", + "comments": "" }, { - "type": "int", - "name": "GIT_INDEXCAP_NO_FILEMODE", - "comments": "", - "value": 2 + "type": "git_indexer_progress_cb", + "name": "progress_cb", + "comments": " progress_cb function to call with progress information " }, { - "type": "int", - "name": "GIT_INDEXCAP_NO_SYMLINKS", - "comments": "", - "value": 4 + "type": "void *", + "name": "progress_cb_payload", + "comments": " progress_cb_payload payload for the progress callback " }, { - "type": "int", - "name": "GIT_INDEXCAP_FROM_OWNER", - "comments": "", - "value": -1 + "type": "unsigned char", + "name": "verify", + "comments": " Do connectivity checks for the received pack " } ], "used": { "returns": [], - "needs": [] + "needs": [ + "git_indexer_new", + "git_indexer_options_init" + ] } } ], [ - "git_indxentry_flag_t", + "git_indexer_progress", { "decl": [ - "GIT_IDXENTRY_EXTENDED", - "GIT_IDXENTRY_VALID" + "unsigned int total_objects", + "unsigned int indexed_objects", + "unsigned int received_objects", + "unsigned int local_objects", + "unsigned int total_deltas", + "unsigned int indexed_deltas", + "size_t received_bytes" ], - "type": "enum", - "file": "index.h", - "line": 86, - "lineto": 89, - "block": "GIT_IDXENTRY_EXTENDED\nGIT_IDXENTRY_VALID", + "type": "struct", + "value": "git_indexer_progress", + "file": "git2/indexer.h", + "line": 24, + "lineto": 48, + "block": "unsigned int total_objects\nunsigned int indexed_objects\nunsigned int received_objects\nunsigned int local_objects\nunsigned int total_deltas\nunsigned int indexed_deltas\nsize_t received_bytes", "tdef": "typedef", - "description": " Flags for index entries", + "description": " This structure is used to provide callers information about the\n progress of indexing a packfile, either directly or part of a\n fetch or clone that downloads a packfile.", "comments": "", "fields": [ { - "type": "int", - "name": "GIT_IDXENTRY_EXTENDED", - "comments": "", - "value": 16384 + "type": "unsigned int", + "name": "total_objects", + "comments": " number of objects in the packfile being indexed " }, { - "type": "int", - "name": "GIT_IDXENTRY_VALID", - "comments": "", - "value": 32768 + "type": "unsigned int", + "name": "indexed_objects", + "comments": " received objects that have been hashed " + }, + { + "type": "unsigned int", + "name": "received_objects", + "comments": " received_objects: objects which have been downloaded " + }, + { + "type": "unsigned int", + "name": "local_objects", + "comments": " locally-available objects that have been injected in order\n to fix a thin pack" + }, + { + "type": "unsigned int", + "name": "total_deltas", + "comments": " number of deltas in the packfile being indexed " + }, + { + "type": "unsigned int", + "name": "indexed_deltas", + "comments": " received deltas that have been indexed " + }, + { + "type": "size_t", + "name": "received_bytes", + "comments": " size of the packfile received up to now " } ], "used": { - "returns": [], - "needs": [] + "returns": [ + "git_remote_stats" + ], + "needs": [ + "git_indexer_append", + "git_indexer_commit", + "git_indexer_progress_cb", + "git_odb_write_pack", + "git_packbuilder_write" + ] } } ], @@ -31975,13 +31838,18 @@ "GIT_OPT_ENABLE_FSYNC_GITDIR", "GIT_OPT_GET_WINDOWS_SHAREMODE", "GIT_OPT_SET_WINDOWS_SHAREMODE", - "GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION" + "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" ], "type": "enum", - "file": "common.h", - "line": 162, - "lineto": 186, - "block": "GIT_OPT_GET_MWINDOW_SIZE\nGIT_OPT_SET_MWINDOW_SIZE\nGIT_OPT_GET_MWINDOW_MAPPED_LIMIT\nGIT_OPT_SET_MWINDOW_MAPPED_LIMIT\nGIT_OPT_GET_SEARCH_PATH\nGIT_OPT_SET_SEARCH_PATH\nGIT_OPT_SET_CACHE_OBJECT_LIMIT\nGIT_OPT_SET_CACHE_MAX_SIZE\nGIT_OPT_ENABLE_CACHING\nGIT_OPT_GET_CACHED_MEMORY\nGIT_OPT_GET_TEMPLATE_PATH\nGIT_OPT_SET_TEMPLATE_PATH\nGIT_OPT_SET_SSL_CERT_LOCATIONS\nGIT_OPT_SET_USER_AGENT\nGIT_OPT_ENABLE_STRICT_OBJECT_CREATION\nGIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION\nGIT_OPT_SET_SSL_CIPHERS\nGIT_OPT_GET_USER_AGENT\nGIT_OPT_ENABLE_OFS_DELTA\nGIT_OPT_ENABLE_FSYNC_GITDIR\nGIT_OPT_GET_WINDOWS_SHAREMODE\nGIT_OPT_SET_WINDOWS_SHAREMODE\nGIT_OPT_ENABLE_STRICT_HASH_VERIFICATION", + "file": "git2/common.h", + "line": 178, + "lineto": 207, + "block": "GIT_OPT_GET_MWINDOW_SIZE\nGIT_OPT_SET_MWINDOW_SIZE\nGIT_OPT_GET_MWINDOW_MAPPED_LIMIT\nGIT_OPT_SET_MWINDOW_MAPPED_LIMIT\nGIT_OPT_GET_SEARCH_PATH\nGIT_OPT_SET_SEARCH_PATH\nGIT_OPT_SET_CACHE_OBJECT_LIMIT\nGIT_OPT_SET_CACHE_MAX_SIZE\nGIT_OPT_ENABLE_CACHING\nGIT_OPT_GET_CACHED_MEMORY\nGIT_OPT_GET_TEMPLATE_PATH\nGIT_OPT_SET_TEMPLATE_PATH\nGIT_OPT_SET_SSL_CERT_LOCATIONS\nGIT_OPT_SET_USER_AGENT\nGIT_OPT_ENABLE_STRICT_OBJECT_CREATION\nGIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION\nGIT_OPT_SET_SSL_CIPHERS\nGIT_OPT_GET_USER_AGENT\nGIT_OPT_ENABLE_OFS_DELTA\nGIT_OPT_ENABLE_FSYNC_GITDIR\nGIT_OPT_GET_WINDOWS_SHAREMODE\nGIT_OPT_SET_WINDOWS_SHAREMODE\nGIT_OPT_ENABLE_STRICT_HASH_VERIFICATION\nGIT_OPT_SET_ALLOCATOR\nGIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY\nGIT_OPT_GET_PACK_MAX_OBJECTS\nGIT_OPT_SET_PACK_MAX_OBJECTS\nGIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS", "tdef": "typedef", "description": " Global library options", "comments": "These are used to select which global option to set or get and are used in git_libgit2_opts().
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.
Object can be any of the following
\n", + "value": -2 + }, + { + "type": "int", + "name": "GIT_OBJECT_INVALID", + "comments": "Object is invalid.
\n", + "value": -1 + }, + { + "type": "int", + "name": "GIT_OBJECT_COMMIT", + "comments": "A commit object.
\n", + "value": 1 + }, + { + "type": "int", + "name": "GIT_OBJECT_TREE", + "comments": "A tree (directory listing) object.
\n", + "value": 2 + }, + { + "type": "int", + "name": "GIT_OBJECT_BLOB", + "comments": "A file revision object.
\n", + "value": 3 + }, + { + "type": "int", + "name": "GIT_OBJECT_TAG", + "comments": "An annotated tag object.
\n", + "value": 4 + }, + { + "type": "int", + "name": "GIT_OBJECT_OFS_DELTA", + "comments": "A delta, base is given by an offset.
\n", + "value": 6 + }, + { + "type": "int", + "name": "GIT_OBJECT_REF_DELTA", + "comments": "A delta, base is given by object id.
\n", + "value": 7 + } + ], + "used": { + "returns": [ + "git_object_string2type", + "git_object_type", + "git_odb_object_type", + "git_tag_target_type", + "git_tree_entry_type" + ], + "needs": [ + "git_object_lookup", + "git_object_lookup_bypath", + "git_object_lookup_prefix", + "git_object_peel", + "git_object_size", + "git_object_type2string", + "git_object_typeisloose", + "git_odb_hash", + "git_odb_hashfile", + "git_odb_open_rstream", + "git_odb_open_wstream", + "git_odb_read_header", + "git_odb_write", + "git_reference_peel", + "git_repository_hashfile" + ] + } + } + ], [ "git_odb", { "decl": "git_odb", "type": "struct", "value": "git_odb", - "file": "types.h", - "line": 81, - "lineto": 81, + "file": "git2/types.h", + "line": 82, + "lineto": 82, "tdef": "typedef", "description": " An open object database handle. ", "comments": "", @@ -32955,9 +32930,6 @@ "returns": [], "needs": [ "git_indexer_new", - "git_mempack_dump", - "git_mempack_new", - "git_mempack_reset", "git_odb_add_alternate", "git_odb_add_backend", "git_odb_add_disk_alternate", @@ -32970,7 +32942,6 @@ "git_odb_foreach", "git_odb_free", "git_odb_get_backend", - "git_odb_init_backend", "git_odb_new", "git_odb_num_backends", "git_odb_object_data", @@ -32993,7 +32964,6 @@ "git_odb_write", "git_odb_write_pack", "git_repository_odb", - "git_repository_set_odb", "git_repository_wrap_odb" ] } @@ -33005,103 +32975,21 @@ "decl": "git_odb_backend", "type": "struct", "value": "git_odb_backend", - "file": "types.h", - "line": 84, - "lineto": 84, - "block": "unsigned int version\ngit_odb * odb\nint (*)(void **, size_t *, git_otype *, git_odb_backend *, const git_oid *) read\nint (*)(git_oid *, void **, size_t *, git_otype *, git_odb_backend *, const git_oid *, size_t) read_prefix\nint (*)(size_t *, git_otype *, git_odb_backend *, const git_oid *) read_header\nint (*)(git_odb_backend *, const git_oid *, const void *, size_t, git_otype) write\nint (*)(git_odb_stream **, git_odb_backend *, git_off_t, git_otype) writestream\nint (*)(git_odb_stream **, size_t *, git_otype *, git_odb_backend *, const git_oid *) readstream\nint (*)(git_odb_backend *, const git_oid *) exists\nint (*)(git_oid *, git_odb_backend *, const git_oid *, size_t) exists_prefix\nint (*)(git_odb_backend *) refresh\nint (*)(git_odb_backend *, git_odb_foreach_cb, void *) foreach\nint (*)(git_odb_writepack **, git_odb_backend *, git_odb *, git_transfer_progress_cb, void *) writepack\nint (*)(git_odb_backend *, const git_oid *) freshen\nvoid (*)(git_odb_backend *) free", + "file": "git2/types.h", + "line": 85, + "lineto": 85, "tdef": "typedef", "description": " A custom backend in an ODB ", "comments": "", - "fields": [ - { - "type": "unsigned int", - "name": "version", - "comments": "" - }, - { - "type": "git_odb *", - "name": "odb", - "comments": "" - }, - { - "type": "int (*)(void **, size_t *, git_otype *, git_odb_backend *, const git_oid *)", - "name": "read", - "comments": "" - }, - { - "type": "int (*)(git_oid *, void **, size_t *, git_otype *, git_odb_backend *, const git_oid *, size_t)", - "name": "read_prefix", - "comments": "" - }, - { - "type": "int (*)(size_t *, git_otype *, git_odb_backend *, const git_oid *)", - "name": "read_header", - "comments": "" - }, - { - "type": "int (*)(git_odb_backend *, const git_oid *, const void *, size_t, git_otype)", - "name": "write", - "comments": " Write an object into the backend. The id of the object has\n already been calculated and is passed in." - }, - { - "type": "int (*)(git_odb_stream **, git_odb_backend *, git_off_t, git_otype)", - "name": "writestream", - "comments": "" - }, - { - "type": "int (*)(git_odb_stream **, size_t *, git_otype *, git_odb_backend *, const git_oid *)", - "name": "readstream", - "comments": "" - }, - { - "type": "int (*)(git_odb_backend *, const git_oid *)", - "name": "exists", - "comments": "" - }, - { - "type": "int (*)(git_oid *, git_odb_backend *, const git_oid *, size_t)", - "name": "exists_prefix", - "comments": "" - }, - { - "type": "int (*)(git_odb_backend *)", - "name": "refresh", - "comments": " If the backend implements a refreshing mechanism, it should be exposed\n through this endpoint. Each call to `git_odb_refresh()` will invoke it.\n\n However, the backend implementation should try to stay up-to-date as much\n as possible by itself as libgit2 will not automatically invoke\n `git_odb_refresh()`. For instance, a potential strategy for the backend\n implementation to achieve this could be to internally invoke this\n endpoint on failed lookups (ie. `exists()`, `read()`, `read_header()`)." - }, - { - "type": "int (*)(git_odb_backend *, git_odb_foreach_cb, void *)", - "name": "foreach", - "comments": "" - }, - { - "type": "int (*)(git_odb_writepack **, git_odb_backend *, git_odb *, git_transfer_progress_cb, void *)", - "name": "writepack", - "comments": "" - }, - { - "type": "int (*)(git_odb_backend *, const git_oid *)", - "name": "freshen", - "comments": " \"Freshens\" an already existing object, updating its last-used\n time. This occurs when `git_odb_write` was called, but the\n object already existed (and will not be re-written). The\n underlying implementation may want to update last-used timestamps.\n\n If callers implement this, they should return `0` if the object\n exists and was freshened, and non-zero otherwise." - }, - { - "type": "void (*)(git_odb_backend *)", - "name": "free", - "comments": " Frees any resources held by the odb (including the `git_odb_backend`\n itself). An odb backend implementation must provide this function." - } - ], "used": { "returns": [], "needs": [ - "git_mempack_dump", - "git_mempack_new", - "git_mempack_reset", "git_odb_add_alternate", "git_odb_add_backend", "git_odb_backend_loose", "git_odb_backend_one_pack", "git_odb_backend_pack", - "git_odb_get_backend", - "git_odb_init_backend" + "git_odb_get_backend" ] } } @@ -33112,14 +33000,14 @@ "decl": [ "git_oid id", "unsigned short length", - "git_otype type" + "git_object_t type" ], "type": "struct", "value": "git_odb_expand_id", - "file": "odb.h", - "line": 180, - "lineto": 195, - "block": "git_oid id\nunsigned short length\ngit_otype type", + "file": "git2/odb.h", + "line": 181, + "lineto": 196, + "block": "git_oid id\nunsigned short length\ngit_object_t type", "tdef": "typedef", "description": " The information about object IDs to query in `git_odb_expand_ids`,\n which will be populated upon return.", "comments": "", @@ -33135,9 +33023,9 @@ "comments": " The length of the object ID (in nibbles, or packets of 4 bits; the\n number of hex characters)" }, { - "type": "git_otype", + "type": "git_object_t", "name": "type", - "comments": " The (optional) type of the object to search for; leave as `0` or set\n to `GIT_OBJ_ANY` to query for any object matching the ID." + "comments": " The (optional) type of the object to search for; leave as `0` or set\n to `GIT_OBJECT_ANY` to query for any object matching the ID." } ], "used": { @@ -33154,9 +33042,9 @@ "decl": "git_odb_object", "type": "struct", "value": "git_odb_object", - "file": "types.h", - "line": 87, - "lineto": 87, + "file": "git2/types.h", + "line": 88, + "lineto": 88, "tdef": "typedef", "description": " An object read from the ODB ", "comments": "", @@ -33181,10 +33069,10 @@ "decl": "git_odb_stream", "type": "struct", "value": "git_odb_stream", - "file": "types.h", - "line": 90, - "lineto": 90, - "block": "git_odb_backend * backend\nunsigned int mode\nvoid * hash_ctx\ngit_off_t declared_size\ngit_off_t received_bytes\nint (*)(git_odb_stream *, char *, size_t) read\nint (*)(git_odb_stream *, const char *, size_t) write\nint (*)(git_odb_stream *, const int *) finalize_write\nvoid (*)(git_odb_stream *) free", + "file": "git2/types.h", + "line": 91, + "lineto": 91, + "block": "git_odb_backend * backend\nunsigned int mode\nvoid * hash_ctx\ngit_off_t declared_size\ngit_off_t received_bytes\nint (*)(git_odb_stream *, char *, size_t) read\nint (*)(git_odb_stream *, const char *, size_t) write\nint (*)(git_odb_stream *, const git_oid *) finalize_write\nvoid (*)(git_odb_stream *) free", "tdef": "typedef", "description": " A stream to read/write from the ODB ", "comments": "", @@ -33217,22 +33105,22 @@ { "type": "int (*)(git_odb_stream *, char *, size_t)", "name": "read", - "comments": " Write at most `len` bytes into `buffer` and advance the stream." + "comments": "" }, { "type": "int (*)(git_odb_stream *, const char *, size_t)", "name": "write", - "comments": " Write `len` bytes from `buffer` into the stream." + "comments": "" }, { - "type": "int (*)(git_odb_stream *, const int *)", + "type": "int (*)(git_odb_stream *, const git_oid *)", "name": "finalize_write", - "comments": " Store the contents of the stream as an object with the id\n specified in `oid`.\n\n This method might not be invoked if:\n - an error occurs earlier with the `write` callback,\n - the object referred to by `oid` already exists in any backend, or\n - the final number of received bytes differs from the size declared\n with `git_odb_open_wstream()`" + "comments": "" }, { "type": "void (*)(git_odb_stream *)", "name": "free", - "comments": " Free the stream's memory.\n\n This method might be called without a call to `finalize_write` if\n an error occurs or if the object is already present in the ODB." + "comments": "" } ], "used": { @@ -33257,9 +33145,9 @@ "GIT_STREAM_RW" ], "type": "enum", - "file": "odb_backend.h", - "line": 70, - "lineto": 74, + "file": "git2/odb_backend.h", + "line": 71, + "lineto": 75, "block": "GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW", "tdef": "typedef", "description": " Streaming mode ", @@ -33296,10 +33184,10 @@ "decl": "git_odb_writepack", "type": "struct", "value": "git_odb_writepack", - "file": "types.h", - "line": 93, - "lineto": 93, - "block": "git_odb_backend * backend\nint (*)(git_odb_writepack *, const void *, size_t, git_transfer_progress *) append\nint (*)(git_odb_writepack *, git_transfer_progress *) commit\nvoid (*)(git_odb_writepack *) free", + "file": "git2/types.h", + "line": 94, + "lineto": 94, + "block": "git_odb_backend * backend\nint (*)(git_odb_writepack *, const void *, size_t, git_indexer_progress *) append\nint (*)(git_odb_writepack *, git_indexer_progress *) commit\nvoid (*)(git_odb_writepack *) free", "tdef": "typedef", "description": " A stream to write a packfile to the ODB ", "comments": "", @@ -33310,12 +33198,12 @@ "comments": "" }, { - "type": "int (*)(git_odb_writepack *, const void *, size_t, git_transfer_progress *)", + "type": "int (*)(git_odb_writepack *, const void *, size_t, git_indexer_progress *)", "name": "append", "comments": "" }, { - "type": "int (*)(git_odb_writepack *, git_transfer_progress *)", + "type": "int (*)(git_odb_writepack *, git_indexer_progress *)", "name": "commit", "comments": "" }, @@ -33341,7 +33229,7 @@ ], "type": "struct", "value": "git_oid", - "file": "oid.h", + "file": "git2/oid.h", "line": 33, "lineto": 36, "block": "unsigned char [20] id", @@ -33362,7 +33250,6 @@ "git_commit_id", "git_commit_parent_id", "git_commit_tree_id", - "git_filter_source_id", "git_index_checksum", "git_indexer_hash", "git_note_id", @@ -33370,6 +33257,8 @@ "git_odb_object_id", "git_oid_shorten_new", "git_packbuilder_hash", + "git_rebase_onto_id", + "git_rebase_orig_head_id", "git_reference_target", "git_reference_target_peel", "git_reflog_entry_id_new", @@ -33385,16 +33274,15 @@ "needs": [ "git_annotated_commit_from_fetchhead", "git_annotated_commit_lookup", - "git_blob_create_frombuffer", - "git_blob_create_fromdisk", - "git_blob_create_fromstream_commit", + "git_blob_create_from_buffer", + "git_blob_create_from_disk", + "git_blob_create_from_stream_commit", + "git_blob_create_from_workdir", "git_blob_create_fromworkdir", "git_blob_lookup", "git_blob_lookup_prefix", "git_commit_amend", "git_commit_create", - "git_commit_create_from_callback", - "git_commit_create_from_ids", "git_commit_create_v", "git_commit_create_with_signature", "git_commit_extract_signature", @@ -33439,6 +33327,7 @@ "git_oid_fromstr", "git_oid_fromstrn", "git_oid_fromstrp", + "git_oid_is_zero", "git_oid_iszero", "git_oid_ncmp", "git_oid_nfmt", @@ -33455,24 +33344,29 @@ "git_packbuilder_insert_recur", "git_packbuilder_insert_tree", "git_rebase_commit", - "git_reference__alloc", "git_reference_create", "git_reference_create_matching", "git_reference_name_to_id", "git_reference_set_target", "git_reflog_append", + "git_repository_fetchhead_foreach_cb", "git_repository_hashfile", + "git_repository_mergehead_foreach_cb", "git_repository_set_head_detached", "git_revwalk_hide", "git_revwalk_hide_cb", "git_revwalk_next", "git_revwalk_push", + "git_stash_cb", + "git_stash_save", "git_tag_annotation_create", "git_tag_create", - "git_tag_create_frombuffer", + "git_tag_create_from_buffer", "git_tag_create_lightweight", + "git_tag_foreach_cb", "git_tag_lookup", "git_tag_lookup_prefix", + "git_transaction_set_target", "git_tree_create_updated", "git_tree_entry_byid", "git_tree_lookup", @@ -33490,7 +33384,7 @@ "decl": "git_oid_shorten", "type": "struct", "value": "git_oid_shorten", - "file": "oid.h", + "file": "git2/oid.h", "line": 215, "lineto": 215, "tdef": "typedef", @@ -33516,7 +33410,7 @@ ], "type": "struct", "value": "git_oidarray", - "file": "oidarray.h", + "file": "git2/oidarray.h", "line": 16, "lineto": 19, "block": "git_oid * ids\nsize_t count", @@ -33545,128 +33439,15 @@ } } ], - [ - "git_otype", - { - "decl": [ - "GIT_OBJ_ANY", - "GIT_OBJ_BAD", - "GIT_OBJ__EXT1", - "GIT_OBJ_COMMIT", - "GIT_OBJ_TREE", - "GIT_OBJ_BLOB", - "GIT_OBJ_TAG", - "GIT_OBJ__EXT2", - "GIT_OBJ_OFS_DELTA", - "GIT_OBJ_REF_DELTA" - ], - "type": "enum", - "file": "types.h", - "line": 67, - "lineto": 78, - "block": "GIT_OBJ_ANY\nGIT_OBJ_BAD\nGIT_OBJ__EXT1\nGIT_OBJ_COMMIT\nGIT_OBJ_TREE\nGIT_OBJ_BLOB\nGIT_OBJ_TAG\nGIT_OBJ__EXT2\nGIT_OBJ_OFS_DELTA\nGIT_OBJ_REF_DELTA", - "tdef": "typedef", - "description": " Basic type (loose or packed) of any Git object. ", - "comments": "", - "fields": [ - { - "type": "int", - "name": "GIT_OBJ_ANY", - "comments": "Object can be any of the following
\n", - "value": -2 - }, - { - "type": "int", - "name": "GIT_OBJ_BAD", - "comments": "Object is invalid.
\n", - "value": -1 - }, - { - "type": "int", - "name": "GIT_OBJ__EXT1", - "comments": "Reserved for future use.
\n", - "value": 0 - }, - { - "type": "int", - "name": "GIT_OBJ_COMMIT", - "comments": "A commit object.
\n", - "value": 1 - }, - { - "type": "int", - "name": "GIT_OBJ_TREE", - "comments": "A tree (directory listing) object.
\n", - "value": 2 - }, - { - "type": "int", - "name": "GIT_OBJ_BLOB", - "comments": "A file revision object.
\n", - "value": 3 - }, - { - "type": "int", - "name": "GIT_OBJ_TAG", - "comments": "An annotated tag object.
\n", - "value": 4 - }, - { - "type": "int", - "name": "GIT_OBJ__EXT2", - "comments": "Reserved for future use.
\n", - "value": 5 - }, - { - "type": "int", - "name": "GIT_OBJ_OFS_DELTA", - "comments": "A delta, base is given by an offset.
\n", - "value": 6 - }, - { - "type": "int", - "name": "GIT_OBJ_REF_DELTA", - "comments": "A delta, base is given by object id.
\n", - "value": 7 - } - ], - "used": { - "returns": [ - "git_object_string2type", - "git_object_type", - "git_odb_object_type", - "git_tag_target_type", - "git_tree_entry_type" - ], - "needs": [ - "git_object__size", - "git_object_lookup", - "git_object_lookup_bypath", - "git_object_lookup_prefix", - "git_object_peel", - "git_object_type2string", - "git_object_typeisloose", - "git_odb_hash", - "git_odb_hashfile", - "git_odb_open_rstream", - "git_odb_open_wstream", - "git_odb_read_header", - "git_odb_write", - "git_reference_peel", - "git_repository_hashfile" - ] - } - } - ], [ "git_packbuilder", { "decl": "git_packbuilder", "type": "struct", "value": "git_packbuilder", - "file": "types.h", - "line": 156, - "lineto": 156, + "file": "git2/types.h", + "line": 160, + "lineto": 160, "tdef": "typedef", "description": " Representation of a git packbuilder ", "comments": "", @@ -33686,6 +33467,7 @@ "git_packbuilder_set_callbacks", "git_packbuilder_set_threads", "git_packbuilder_write", + "git_packbuilder_write_buf", "git_packbuilder_written" ] } @@ -33699,9 +33481,9 @@ "GIT_PACKBUILDER_DELTAFICATION" ], "type": "enum", - "file": "pack.h", - "line": 51, - "lineto": 54, + "file": "git2/pack.h", + "line": 52, + "lineto": 55, "block": "GIT_PACKBUILDER_ADDING_OBJECTS\nGIT_PACKBUILDER_DELTAFICATION", "tdef": "typedef", "description": " Stages that are reported by the packbuilder progress callback.", @@ -33732,7 +33514,7 @@ "decl": "git_patch", "type": "struct", "value": "git_patch", - "file": "patch.h", + "file": "git2/patch.h", "line": 29, "lineto": 29, "tdef": "typedef", @@ -33759,13 +33541,55 @@ } } ], + [ + "git_path_fs", + { + "decl": [ + "GIT_PATH_FS_GENERIC", + "GIT_PATH_FS_NTFS", + "GIT_PATH_FS_HFS" + ], + "type": "enum", + "file": "git2/sys/path.h", + "line": 34, + "lineto": 41, + "block": "GIT_PATH_FS_GENERIC\nGIT_PATH_FS_NTFS\nGIT_PATH_FS_HFS", + "tdef": "typedef", + "description": " The kinds of checks to perform according to which filesystem we are trying to\n protect.", + "comments": "", + "fields": [ + { + "type": "int", + "name": "GIT_PATH_FS_GENERIC", + "comments": "Do both NTFS- and HFS-specific checks
\n", + "value": 0 + }, + { + "type": "int", + "name": "GIT_PATH_FS_NTFS", + "comments": "Do NTFS-specific checks only
\n", + "value": 1 + }, + { + "type": "int", + "name": "GIT_PATH_FS_HFS", + "comments": "Do HFS-specific checks only
\n", + "value": 2 + } + ], + "used": { + "returns": [], + "needs": [] + } + } + ], [ "git_pathspec", { "decl": "git_pathspec", "type": "struct", "value": "git_pathspec", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 20, "lineto": 20, "tdef": "typedef", @@ -33804,7 +33628,7 @@ "GIT_PATHSPEC_FAILURES_ONLY" ], "type": "enum", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 30, "lineto": 73, "block": "GIT_PATHSPEC_DEFAULT\nGIT_PATHSPEC_IGNORE_CASE\nGIT_PATHSPEC_USE_CASE\nGIT_PATHSPEC_NO_GLOB\nGIT_PATHSPEC_NO_MATCH_ERROR\nGIT_PATHSPEC_FIND_FAILURES\nGIT_PATHSPEC_FAILURES_ONLY", @@ -33867,7 +33691,7 @@ "decl": "git_pathspec_match_list", "type": "struct", "value": "git_pathspec_match_list", - "file": "pathspec.h", + "file": "git2/pathspec.h", "line": 25, "lineto": 25, "tdef": "typedef", @@ -33903,7 +33727,7 @@ ], "type": "struct", "value": "git_proxy_options", - "file": "proxy.h", + "file": "git2/proxy.h", "line": 42, "lineto": 77, "block": "unsigned int version\ngit_proxy_t type\nconst char * url\ngit_cred_acquire_cb credentials\ngit_transport_certificate_check_cb certificate_check\nvoid * payload", @@ -33934,7 +33758,7 @@ { "type": "git_transport_certificate_check_cb", "name": "certificate_check", - "comments": " If cert verification fails, this will be called to let the\n user make the final decision of whether to allow the\n connection to proceed. Returns 1 to allow the connection, 0\n to disallow it or a negative value to indicate an error." + "comments": " If cert verification fails, this will be called to let the\n user make the final decision of whether to allow the\n connection to proceed. Returns 0 to allow the connection\n or a negative value to indicate an error." }, { "type": "void *", @@ -33945,9 +33769,8 @@ "used": { "returns": [], "needs": [ - "git_proxy_init_options", - "git_remote_connect", - "git_transport_smart_proxy_options" + "git_proxy_options_init", + "git_remote_connect" ] } } @@ -33961,7 +33784,7 @@ "GIT_PROXY_SPECIFIED" ], "type": "enum", - "file": "proxy.h", + "file": "git2/proxy.h", "line": 18, "lineto": 34, "block": "GIT_PROXY_NONE\nGIT_PROXY_AUTO\nGIT_PROXY_SPECIFIED", @@ -34000,17 +33823,17 @@ "decl": "git_push", "type": "struct", "value": "git_push", - "file": "types.h", - "line": 240, - "lineto": 240, + "file": "git2/types.h", + "line": 241, + "lineto": 241, "tdef": "typedef", "description": " Preparation for a push operation. Can be used to configure what to\n push and the level of parallelism of the packfile builder.", "comments": "", "used": { "returns": [], "needs": [ - "git_push_init_options", "git_push_negotiation", + "git_push_options_init", "git_remote_push", "git_remote_upload" ] @@ -34029,9 +33852,9 @@ ], "type": "struct", "value": "git_push_options", - "file": "remote.h", - "line": 615, - "lineto": 642, + "file": "git2/remote.h", + "line": 713, + "lineto": 740, "block": "unsigned int version\nunsigned int pb_parallelism\ngit_remote_callbacks callbacks\ngit_proxy_options proxy_opts\ngit_strarray custom_headers", "tdef": "typedef", "description": " Controls the behavior of a git_push object.", @@ -34066,7 +33889,7 @@ "used": { "returns": [], "needs": [ - "git_push_init_options", + "git_push_options_init", "git_remote_push", "git_remote_upload" ] @@ -34084,9 +33907,9 @@ ], "type": "struct", "value": "git_push_update", - "file": "remote.h", - "line": 359, - "lineto": 376, + "file": "git2/remote.h", + "line": 434, + "lineto": 451, "block": "char * src_refname\nchar * dst_refname\ngit_oid src\ngit_oid dst", "tdef": "typedef", "description": " Represents an update which will be performed on the remote during push", @@ -34127,9 +33950,9 @@ "decl": "git_rebase", "type": "struct", "value": "git_rebase", - "file": "types.h", - "line": 191, - "lineto": 191, + "file": "git2/types.h", + "line": 192, + "lineto": 192, "tdef": "typedef", "description": " Representation of a rebase ", "comments": "", @@ -34143,13 +33966,17 @@ "git_rebase_finish", "git_rebase_free", "git_rebase_init", - "git_rebase_init_options", "git_rebase_inmemory_index", "git_rebase_next", + "git_rebase_onto_id", + "git_rebase_onto_name", "git_rebase_open", "git_rebase_operation_byindex", "git_rebase_operation_current", - "git_rebase_operation_entrycount" + "git_rebase_operation_entrycount", + "git_rebase_options_init", + "git_rebase_orig_head_id", + "git_rebase_orig_head_name" ] } } @@ -34164,9 +33991,9 @@ ], "type": "struct", "value": "git_rebase_operation", - "file": "rebase.h", - "line": 130, - "lineto": 145, + "file": "git2/rebase.h", + "line": 132, + "lineto": 147, "block": "git_rebase_operation_t type\nconst git_oid id\nconst char * exec", "tdef": "typedef", "description": " A rebase operation", @@ -34210,9 +34037,9 @@ "GIT_REBASE_OPERATION_EXEC" ], "type": "enum", - "file": "rebase.h", - "line": 78, - "lineto": 114, + "file": "git2/rebase.h", + "line": 80, + "lineto": 116, "block": "GIT_REBASE_OPERATION_PICK\nGIT_REBASE_OPERATION_REWORD\nGIT_REBASE_OPERATION_EDIT\nGIT_REBASE_OPERATION_SQUASH\nGIT_REBASE_OPERATION_FIXUP\nGIT_REBASE_OPERATION_EXEC", "tdef": "typedef", "description": " Type of rebase operation in-progress after calling `git_rebase_next`.", @@ -34262,53 +34089,64 @@ } ], [ - "git_ref_t", + "git_rebase_options", { "decl": [ - "GIT_REF_INVALID", - "GIT_REF_OID", - "GIT_REF_SYMBOLIC", - "GIT_REF_LISTALL" + "unsigned int version", + "int quiet", + "int inmemory", + "const char * rewrite_notes_ref", + "git_merge_options merge_options", + "git_checkout_options checkout_options" ], - "type": "enum", - "file": "types.h", - "line": 194, - "lineto": 199, - "block": "GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_LISTALL", + "type": "struct", + "value": "git_rebase_options", + "file": "git2/rebase.h", + "line": 31, + "lineto": 75, + "block": "unsigned int version\nint quiet\nint inmemory\nconst char * rewrite_notes_ref\ngit_merge_options merge_options\ngit_checkout_options checkout_options", "tdef": "typedef", - "description": " Basic type of any Git reference. ", - "comments": "", + "description": " Rebase options", + "comments": "Use to tell the rebase machinery how to operate.
\n", "fields": [ { - "type": "int", - "name": "GIT_REF_INVALID", - "comments": "Invalid reference
\n", - "value": 0 + "type": "unsigned int", + "name": "version", + "comments": "" }, { "type": "int", - "name": "GIT_REF_OID", - "comments": "A reference which points at an object id
\n", - "value": 1 + "name": "quiet", + "comments": " Used by `git_rebase_init`, this will instruct other clients working\n on this rebase that you want a quiet rebase experience, which they\n may choose to provide in an application-specific manner. This has no\n effect upon libgit2 directly, but is provided for interoperability\n between Git tools." }, { "type": "int", - "name": "GIT_REF_SYMBOLIC", - "comments": "A reference which points at another reference
\n", - "value": 2 + "name": "inmemory", + "comments": " Used by `git_rebase_init`, this will begin an in-memory rebase,\n which will allow callers to step through the rebase operations and\n commit the rebased changes, but will not rewind HEAD or update the\n repository to be in a rebasing state. This will not interfere with\n the working directory (if there is one)." }, { - "type": "int", - "name": "GIT_REF_LISTALL", - "comments": "", - "value": 3 + "type": "const char *", + "name": "rewrite_notes_ref", + "comments": " Used by `git_rebase_finish`, this is the name of the notes reference\n used to rewrite notes for rebased commits when finishing the rebase;\n if NULL, the contents of the configuration option `notes.rewriteRef`\n is examined, unless the configuration option `notes.rewrite.rebase`\n is set to false. If `notes.rewriteRef` is also NULL, notes will\n not be rewritten." + }, + { + "type": "git_merge_options", + "name": "merge_options", + "comments": " Options to control how trees are merged during `git_rebase_next`." + }, + { + "type": "git_checkout_options", + "name": "checkout_options", + "comments": " Options to control how files are written during `git_rebase_init`,\n `git_rebase_next` and `git_rebase_abort`. Note that a minimum\n strategy of `GIT_CHECKOUT_SAFE` is defaulted in `init` and `next`,\n and a minimum strategy of `GIT_CHECKOUT_FORCE` is defaulted in\n `abort` to match git semantics." } ], "used": { - "returns": [ - "git_reference_type" - ], - "needs": [] + "returns": [], + "needs": [ + "git_rebase_init", + "git_rebase_open", + "git_rebase_options_init" + ] } } ], @@ -34318,24 +34156,20 @@ "decl": "git_refdb", "type": "struct", "value": "git_refdb", - "file": "types.h", - "line": 96, - "lineto": 96, + "file": "git2/types.h", + "line": 97, + "lineto": 97, "tdef": "typedef", "description": " An open refs database handle. ", "comments": "", "used": { "returns": [], "needs": [ - "git_refdb_backend_fs", "git_refdb_compress", "git_refdb_free", - "git_refdb_init_backend", "git_refdb_new", "git_refdb_open", - "git_refdb_set_backend", - "git_repository_refdb", - "git_repository_set_refdb" + "git_repository_refdb" ] } } @@ -34346,107 +34180,15 @@ "decl": "git_refdb_backend", "type": "struct", "value": "git_refdb_backend", - "file": "types.h", - "line": 99, - "lineto": 99, - "block": "unsigned int version\nint (*)(int *, git_refdb_backend *, const char *) exists\nint (*)(git_reference **, git_refdb_backend *, const char *) lookup\nint (*)(git_reference_iterator **, struct git_refdb_backend *, const char *) iterator\nint (*)(git_refdb_backend *, const git_reference *, int, const git_signature *, const char *, const git_oid *, const char *) write\nint (*)(git_reference **, git_refdb_backend *, const char *, const char *, int, const git_signature *, const char *) rename\nint (*)(git_refdb_backend *, const char *, const git_oid *, const char *) del\nint (*)(git_refdb_backend *) compress\nint (*)(git_refdb_backend *, const char *) has_log\nint (*)(git_refdb_backend *, const char *) ensure_log\nvoid (*)(git_refdb_backend *) free\nint (*)(git_reflog **, git_refdb_backend *, const char *) reflog_read\nint (*)(git_refdb_backend *, git_reflog *) reflog_write\nint (*)(git_refdb_backend *, const char *, const char *) reflog_rename\nint (*)(git_refdb_backend *, const char *) reflog_delete\nint (*)(void **, git_refdb_backend *, const char *) lock\nint (*)(git_refdb_backend *, void *, int, int, const git_reference *, const git_signature *, const char *) unlock", + "file": "git2/types.h", + "line": 100, + "lineto": 100, "tdef": "typedef", "description": " A custom backend for refs ", "comments": "", - "fields": [ - { - "type": "unsigned int", - "name": "version", - "comments": "" - }, - { - "type": "int (*)(int *, git_refdb_backend *, const char *)", - "name": "exists", - "comments": " Queries the refdb backend to determine if the given ref_name\n exists. A refdb implementation must provide this function." - }, - { - "type": "int (*)(git_reference **, git_refdb_backend *, const char *)", - "name": "lookup", - "comments": " Queries the refdb backend for a given reference. A refdb\n implementation must provide this function." - }, - { - "type": "int (*)(git_reference_iterator **, struct git_refdb_backend *, const char *)", - "name": "iterator", - "comments": " Allocate an iterator object for the backend.\n\n A refdb implementation must provide this function." - }, - { - "type": "int (*)(git_refdb_backend *, const git_reference *, int, const git_signature *, const char *, const git_oid *, const char *)", - "name": "write", - "comments": "" - }, - { - "type": "int (*)(git_reference **, git_refdb_backend *, const char *, const char *, int, const git_signature *, const char *)", - "name": "rename", - "comments": "" - }, - { - "type": "int (*)(git_refdb_backend *, const char *, const git_oid *, const char *)", - "name": "del", - "comments": " Deletes the given reference (and if necessary its reflog)\n from the refdb. A refdb implementation must provide this\n function." - }, - { - "type": "int (*)(git_refdb_backend *)", - "name": "compress", - "comments": " Suggests that the given refdb compress or optimize its references.\n This mechanism is implementation specific. (For on-disk reference\n databases, this may pack all loose references.) A refdb\n implementation may provide this function; if it is not provided,\n nothing will be done." - }, - { - "type": "int (*)(git_refdb_backend *, const char *)", - "name": "has_log", - "comments": " Query whether a particular reference has a log (may be empty)" - }, - { - "type": "int (*)(git_refdb_backend *, const char *)", - "name": "ensure_log", - "comments": " Make sure a particular reference will have a reflog which\n will be appended to on writes." - }, - { - "type": "void (*)(git_refdb_backend *)", - "name": "free", - "comments": " Frees any resources held by the refdb (including the `git_refdb_backend`\n itself). A refdb backend implementation must provide this function." - }, - { - "type": "int (*)(git_reflog **, git_refdb_backend *, const char *)", - "name": "reflog_read", - "comments": " Read the reflog for the given reference name." - }, - { - "type": "int (*)(git_refdb_backend *, git_reflog *)", - "name": "reflog_write", - "comments": " Write a reflog to disk." - }, - { - "type": "int (*)(git_refdb_backend *, const char *, const char *)", - "name": "reflog_rename", - "comments": " Rename a reflog" - }, - { - "type": "int (*)(git_refdb_backend *, const char *)", - "name": "reflog_delete", - "comments": " Remove a reflog." - }, - { - "type": "int (*)(void **, git_refdb_backend *, const char *)", - "name": "lock", - "comments": " Lock a reference. The opaque parameter will be passed to the unlock function" - }, - { - "type": "int (*)(git_refdb_backend *, void *, int, int, const git_reference *, const git_signature *, const char *)", - "name": "unlock", - "comments": " Unlock a reference. Only one of target or symbolic_target\n will be set. success indicates whether to update the\n reference or discard the lock (if it's false)" - } - ], "used": { "returns": [], - "needs": [ - "git_refdb_backend_fs", - "git_refdb_init_backend", - "git_refdb_set_backend" - ] + "needs": [] } } ], @@ -34456,16 +34198,15 @@ "decl": "git_reference", "type": "struct", "value": "git_reference", - "file": "types.h", - "line": 173, - "lineto": 173, + "file": "git2/types.h", + "line": 177, + "lineto": 177, "tdef": "typedef", "description": " In-memory representation of a reference. ", "comments": "", "used": { "returns": [ - "git_reference__alloc", - "git_reference__alloc_symbolic" + "git_reference_type" ], "needs": [ "git_annotated_commit_from_ref", @@ -34480,6 +34221,7 @@ "git_branch_next", "git_branch_set_upstream", "git_branch_upstream", + "git_merge_analysis_for_ref", "git_reference_cmp", "git_reference_create", "git_reference_create_matching", @@ -34487,6 +34229,7 @@ "git_reference_dup", "git_reference_dwim", "git_reference_foreach", + "git_reference_foreach_cb", "git_reference_foreach_glob", "git_reference_foreach_name", "git_reference_free", @@ -34522,40 +34265,66 @@ } ], [ - "git_reference_iterator", + "git_reference_format_t", { - "decl": "git_reference_iterator", - "type": "struct", - "value": "git_reference_iterator", - "file": "types.h", - "line": 176, - "lineto": 176, - "block": "git_refdb * db\nint (*)(git_reference **, git_reference_iterator *) next\nint (*)(const char **, git_reference_iterator *) next_name\nvoid (*)(git_reference_iterator *) free", + "decl": [ + "GIT_REFERENCE_FORMAT_NORMAL", + "GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL", + "GIT_REFERENCE_FORMAT_REFSPEC_PATTERN", + "GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND" + ], + "type": "enum", + "file": "git2/refs.h", + "line": 658, + "lineto": 687, + "block": "GIT_REFERENCE_FORMAT_NORMAL\nGIT_REFERENCE_FORMAT_ALLOW_ONELEVEL\nGIT_REFERENCE_FORMAT_REFSPEC_PATTERN\nGIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND", "tdef": "typedef", - "description": " Iterator for references ", + "description": " Normalization options for reference lookup", "comments": "", "fields": [ { - "type": "git_refdb *", - "name": "db", - "comments": "" + "type": "int", + "name": "GIT_REFERENCE_FORMAT_NORMAL", + "comments": "No particular normalization.
\n", + "value": 0 }, { - "type": "int (*)(git_reference **, git_reference_iterator *)", - "name": "next", - "comments": " Return the current reference and advance the iterator." + "type": "int", + "name": "GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL", + "comments": "Control whether one-level refnames are accepted\n (i.e., refnames that do not contain multiple /-separated\n components). Those are expected to be written only using\n uppercase letters and underscore (FETCH_HEAD, ...)
\n", + "value": 1 }, { - "type": "int (*)(const char **, git_reference_iterator *)", - "name": "next_name", - "comments": " Return the name of the current reference and advance the iterator" + "type": "int", + "name": "GIT_REFERENCE_FORMAT_REFSPEC_PATTERN", + "comments": "Interpret the provided name as a reference pattern for a\n refspec (as used with remote repositories). If this option\n is enabled, the name is allowed to contain a single * (\n<star
\n\n\n\n", + "value": 2 }, { - "type": "void (*)(git_reference_iterator *)", - "name": "free", - "comments": " Free the iterator" + "type": "int", + "name": "GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND", + "comments": ")\n in place of a one full pathname component\n (e.g., foo/\n<star\n/bar but not foo/bar\n<star\n).
\n
Interpret the name as part of a refspec in shorthand form\n so the ONELEVEL naming rules aren't enforced and 'master'\n becomes a valid name.
No particular normalization.
\n", + "name": "GIT_REFERENCE_INVALID", + "comments": "Invalid reference
\n", "value": 0 }, { "type": "int", - "name": "GIT_REF_FORMAT_ALLOW_ONELEVEL", - "comments": "Control whether one-level refnames are accepted\n (i.e., refnames that do not contain multiple /-separated\n components). Those are expected to be written only using\n uppercase letters and underscore (FETCH_HEAD, ...)
\n", + "name": "GIT_REFERENCE_DIRECT", + "comments": "A reference that points at an object id
\n", "value": 1 }, { "type": "int", - "name": "GIT_REF_FORMAT_REFSPEC_PATTERN", - "comments": "Interpret the provided name as a reference pattern for a\n refspec (as used with remote repositories). If this option\n is enabled, the name is allowed to contain a single * (\n<star
\n\n\n\n", + "name": "GIT_REFERENCE_SYMBOLIC", + "comments": ")\n in place of a one full pathname component\n (e.g., foo/\n<star\n/bar but not foo/bar\n<star\n).
\n
A reference that points at another reference
\n", "value": 2 }, { "type": "int", - "name": "GIT_REF_FORMAT_REFSPEC_SHORTHAND", - "comments": "Interpret the name as part of a refspec in shorthand form\n so the ONELEVEL naming rules aren't enforced and 'master'\n becomes a valid name.
Set the callbacks to be called by the remote when informing the user about the progress of the network operations.
\n", @@ -34820,7 +34622,7 @@ { "type": "unsigned int", "name": "version", - "comments": "" + "comments": " The version " }, { "type": "git_transport_message_cb", @@ -34828,9 +34630,9 @@ "comments": " Textual progress from the remote. Text send over the\n progress side-band will be passed to this function (this is\n the 'counting objects' output)." }, { - "type": "int (*)(git_remote_completion_type, void *)", + "type": "int (*)(git_remote_completion_t, void *)", "name": "completion", - "comments": " Completion is called when different parts of the download\n process are done (currently unused)." + "comments": "" }, { "type": "git_cred_acquire_cb", @@ -34840,17 +34642,17 @@ { "type": "git_transport_certificate_check_cb", "name": "certificate_check", - "comments": " If cert verification fails, this will be called to let the\n user make the final decision of whether to allow the\n connection to proceed. Returns 1 to allow the connection, 0\n to disallow it or a negative value to indicate an error." + "comments": " If cert verification fails, this will be called to let the\n user make the final decision of whether to allow the\n connection to proceed. Returns 0 to allow the connection\n or a negative value to indicate an error." }, { - "type": "git_transfer_progress_cb", + "type": "git_indexer_progress_cb", "name": "transfer_progress", "comments": " During the download of new data, this will be regularly\n called with the current count of progress done by the\n indexer." }, { "type": "int (*)(const char *, const git_oid *, const git_oid *, void *)", "name": "update_tips", - "comments": " Each time a reference is updated locally, this function\n will be called with information about it." + "comments": "" }, { "type": "git_packbuilder_progress", @@ -34858,7 +34660,7 @@ "comments": " Function to call with progress information during pack\n building. Be aware that this is called inline with pack\n building operations, so performance may be affected." }, { - "type": "git_push_transfer_progress", + "type": "git_push_transfer_progress_cb", "name": "push_transfer_progress", "comments": " Function to call with progress information during the\n upload portion of a push. Be aware that this is called\n inline with pack building operations, so performance may be\n affected." }, @@ -34881,6 +34683,11 @@ "type": "void *", "name": "payload", "comments": " This will be passed to each of the callbacks in this struct\n as the last parameter." + }, + { + "type": "git_url_resolve_cb", + "name": "resolve_url", + "comments": " Resolve URL before connecting to remote.\n The returned URL will be used to connect to the remote instead." } ], "used": { @@ -34895,7 +34702,7 @@ } ], [ - "git_remote_completion_type", + "git_remote_completion_t", { "decl": [ "GIT_REMOTE_COMPLETION_DOWNLOAD", @@ -34903,9 +34710,9 @@ "GIT_REMOTE_COMPLETION_ERROR" ], "type": "enum", - "file": "remote.h", - "line": 344, - "lineto": 348, + "file": "git2/remote.h", + "line": 418, + "lineto": 422, "block": "GIT_REMOTE_COMPLETION_DOWNLOAD\nGIT_REMOTE_COMPLETION_INDEXING\nGIT_REMOTE_COMPLETION_ERROR\nGIT_REMOTE_COMPLETION_DOWNLOAD\nGIT_REMOTE_COMPLETION_INDEXING\nGIT_REMOTE_COMPLETION_ERROR", "tdef": "typedef", "description": " Argument to the completion callback which tells it which operation\n finished.", @@ -34936,6 +34743,96 @@ } } ], + [ + "git_remote_create_flags", + { + "decl": [ + "GIT_REMOTE_CREATE_SKIP_INSTEADOF", + "GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC" + ], + "type": "enum", + "file": "git2/remote.h", + "line": 47, + "lineto": 53, + "block": "GIT_REMOTE_CREATE_SKIP_INSTEADOF\nGIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC", + "tdef": "typedef", + "description": " Remote creation options flags", + "comments": "", + "fields": [ + { + "type": "int", + "name": "GIT_REMOTE_CREATE_SKIP_INSTEADOF", + "comments": "Ignore the repository apply.insteadOf configuration
\n", + "value": 1 + }, + { + "type": "int", + "name": "GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC", + "comments": "Don't build a fetchspec from the name if none is set
\n", + "value": 2 + } + ], + "used": { + "returns": [], + "needs": [] + } + } + ], + [ + "git_remote_create_options", + { + "decl": [ + "unsigned int version", + "git_repository * repository", + "const char * name", + "const char * fetchspec", + "unsigned int flags" + ], + "type": "struct", + "value": "git_remote_create_options", + "file": "git2/remote.h", + "line": 62, + "lineto": 82, + "block": "unsigned int version\ngit_repository * repository\nconst char * name\nconst char * fetchspec\nunsigned int flags", + "tdef": "typedef", + "description": " Remote creation options structure", + "comments": "Initialize with GIT_REMOTE_CREATE_OPTIONS_INIT. Alternatively, you can use git_remote_create_options_init.
st_dev changes from the stat system call). (E.g. Searching in a user's home directory "/home/user/source/" will not return "/.git/" as the found repo if "/" is a different filesystem than "/home".) * GIT_REPOSITORY_OPEN_BARE - 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_NO_DOTGIT - 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_FROM_ENV - 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.Only open the repository if it can be immediately found in the\n start_path. Do not walk up from the start_path looking at parent\n directories.
\n", "value": 1 }, { "type": "int", "name": "GIT_REPOSITORY_OPEN_CROSS_FS", - "comments": "", + "comments": "Unless this flag is set, open will not continue searching across\n filesystem boundaries (i.e. when st_dev changes from the stat\n system call). For example, searching in a user's home directory at\n "/home/user/source/" will not return "/.git/" as the found repo if\n "/" is a different filesystem than "/home".
Open repository as a bare repo regardless of core.bare config, and\n defer loading config file for faster setup.\n Unlike git_repository_open_bare, this can follow gitlinks.
Do not check for a repository by appending /.git to the start_path;\n only open the repository if start_path itself points to the git\n directory.
\n", "value": 8 }, { "type": "int", "name": "GIT_REPOSITORY_OPEN_FROM_ENV", - "comments": "", + "comments": "Find and open a git repository, respecting the environment variables\n used by the git command-line tools.\n If set, git_repository_open_ext will ignore the other flags and\n the ceiling_dirs argument, and will allow a NULL path to use\n GIT_DIR or search from the current directory.\n The search for a repository will respect $GIT_CEILING_DIRECTORIES and\n $GIT_DISCOVERY_ACROSS_FILESYSTEM. The opened repository will\n respect $GIT_INDEX_FILE, $GIT_NAMESPACE, $GIT_OBJECT_DIRECTORY, and\n $GIT_ALTERNATE_OBJECT_DIRECTORIES.\n In the future, this flag will also cause git_repository_open_ext\n to respect $GIT_WORK_TREE and $GIT_COMMON_DIR; currently,\n git_repository_open_ext with this flag will error out if either\n $GIT_WORK_TREE or $GIT_COMMON_DIR is set.
This is used to let the smart protocol code know about the protocol which you are implementing.
\n", + "description": " Actions that the smart transport can ask a subtransport to perform ", + "comments": "", "fields": [ { - "type": "git_smart_subtransport_cb", - "name": "callback", - "comments": " The function to use to create the git_smart_subtransport " + "type": "int", + "name": "GIT_SERVICE_UPLOADPACK_LS", + "comments": "", + "value": 1 }, { - "type": "unsigned int", - "name": "rpc", - "comments": " True if the protocol is stateless; false otherwise. For example,\n http:// is stateless, but git:// is not." + "type": "int", + "name": "GIT_SERVICE_UPLOADPACK", + "comments": "", + "value": 2 }, { - "type": "void *", - "name": "param", - "comments": " Param of the callback" + "type": "int", + "name": "GIT_SERVICE_RECEIVEPACK_LS", + "comments": "", + "value": 3 + }, + { + "type": "int", + "name": "GIT_SERVICE_RECEIVEPACK", + "comments": "", + "value": 4 } ], "used": { @@ -36041,7 +35953,7 @@ "GIT_SORT_REVERSE" ], "type": "enum", - "file": "revwalk.h", + "file": "git2/revwalk.h", "line": 26, "lineto": 53, "block": "GIT_SORT_NONE\nGIT_SORT_TOPOLOGICAL\nGIT_SORT_TIME\nGIT_SORT_REVERSE", @@ -36052,13 +35964,13 @@ { "type": "int", "name": "GIT_SORT_NONE", - "comments": "Sort the output with the same default time-order method from git.\n This is the default sorting for new walkers.
\n", + "comments": "Sort the output with the same default method from git: reverse\n chronological order. This is the default sorting for new walkers.
Sort the repository contents in topological order (parents before\n children); this sorting mode can be combined with time sorting to\n produce git's "time-order".
\n", + "comments": "Sort the repository contents in topological order (no parents before\n all of its children are shown); this sorting mode can be combined\n with time sorting to produce git's --date-order`.
Initialize with GIT_STASH_APPLY_OPTIONS_INIT. Alternatively, you can use git_stash_apply_options_init.
Loading the stashed data from the object database.
\n", + "value": 1 + }, + { + "type": "int", + "name": "GIT_STASH_APPLY_PROGRESS_ANALYZE_INDEX", + "comments": "The stored index is being analyzed.
\n", + "value": 2 + }, + { + "type": "int", + "name": "GIT_STASH_APPLY_PROGRESS_ANALYZE_MODIFIED", + "comments": "The modified files are being analyzed.
\n", + "value": 3 + }, + { + "type": "int", + "name": "GIT_STASH_APPLY_PROGRESS_ANALYZE_UNTRACKED", + "comments": "The untracked and ignored files are being analyzed.
\n", + "value": 4 + }, + { + "type": "int", + "name": "GIT_STASH_APPLY_PROGRESS_CHECKOUT_UNTRACKED", + "comments": "The untracked files are being written to disk.
\n", + "value": 5 + }, + { + "type": "int", + "name": "GIT_STASH_APPLY_PROGRESS_CHECKOUT_MODIFIED", + "comments": "The modified files are being written to disk.
\n", + "value": 6 + }, + { + "type": "int", + "name": "GIT_STASH_APPLY_PROGRESS_DONE", + "comments": "The stash was applied successfully.
\n", + "value": 7 + } + ], + "used": { + "returns": [], + "needs": [ + "git_stash_apply_progress_cb" + ] + } + } + ], [ "git_stash_flags", { @@ -36125,9 +36172,9 @@ "GIT_STASH_INCLUDE_IGNORED" ], "type": "enum", - "file": "stash.h", - "line": 24, - "lineto": 47, + "file": "git2/stash.h", + "line": 25, + "lineto": 48, "block": "GIT_STASH_DEFAULT\nGIT_STASH_KEEP_INDEX\nGIT_STASH_INCLUDE_UNTRACKED\nGIT_STASH_INCLUDE_IGNORED", "tdef": "typedef", "description": " Stash flags", @@ -36164,15 +36211,57 @@ } } ], + [ + "git_status_entry", + { + "decl": [ + "git_status_t status", + "git_diff_delta * head_to_index", + "git_diff_delta * index_to_workdir" + ], + "type": "struct", + "value": "git_status_entry", + "file": "git2/status.h", + "line": 230, + "lineto": 234, + "block": "git_status_t status\ngit_diff_delta * head_to_index\ngit_diff_delta * index_to_workdir", + "tdef": "typedef", + "description": " A status entry, providing the differences between the file as it exists\n in HEAD and the index, and providing the differences between the index\n and the working directory.", + "comments": "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.
Initialize with GIT_STATUS_OPTIONS_INIT. Alternatively, you can use git_status_options_init.
struct my_stream { git_stream parent; ... }\n\n\nand fill the functions
\n", + "description": " The type of stream to register.", + "comments": "", "fields": [ { "type": "int", - "name": "version", - "comments": "" - }, - { - "type": "int", - "name": "encrypted", - "comments": "" + "name": "GIT_STREAM_STANDARD", + "comments": "A standard (non-TLS) socket.
\n", + "value": 1 }, { "type": "int", - "name": "proxy_support", - "comments": "" - }, - { - "type": "int (*)(struct git_stream *)", - "name": "connect", - "comments": "" - }, - { - "type": "int (*)(git_cert **, struct git_stream *)", - "name": "certificate", - "comments": "" - }, - { - "type": "int (*)(struct git_stream *, const git_proxy_options *)", - "name": "set_proxy", - "comments": "" - }, - { - "type": "ssize_t (*)(struct git_stream *, void *, size_t)", - "name": "read", - "comments": "" - }, - { - "type": "ssize_t (*)(struct git_stream *, const char *, size_t, int)", - "name": "write", - "comments": "" - }, - { - "type": "int (*)(struct git_stream *)", - "name": "close", - "comments": "" - }, - { - "type": "void (*)(struct git_stream *)", - "name": "free", - "comments": "" + "name": "GIT_STREAM_TLS", + "comments": "A TLS-encrypted socket.
\n", + "value": 2 } ], "used": { "returns": [], - "needs": [ - "git_stream_register_tls" - ] + "needs": [] } } ], @@ -36627,9 +36722,9 @@ "decl": "git_submodule", "type": "struct", "value": "git_submodule", - "file": "types.h", - "line": 339, - "lineto": 339, + "file": "git2/types.h", + "line": 313, + "lineto": 313, "tdef": "typedef", "description": " Opaque structure representing a submodule.", "comments": "", @@ -36666,7 +36761,7 @@ "git_submodule_status", "git_submodule_sync", "git_submodule_update", - "git_submodule_update_init_options", + "git_submodule_update_options_init", "git_submodule_update_strategy", "git_submodule_url", "git_submodule_wd_id" @@ -36685,9 +36780,9 @@ "GIT_SUBMODULE_IGNORE_ALL" ], "type": "enum", - "file": "types.h", - "line": 403, - "lineto": 410, + "file": "git2/types.h", + "line": 377, + "lineto": 384, "block": "GIT_SUBMODULE_IGNORE_UNSPECIFIED\nGIT_SUBMODULE_IGNORE_NONE\nGIT_SUBMODULE_IGNORE_UNTRACKED\nGIT_SUBMODULE_IGNORE_DIRTY\nGIT_SUBMODULE_IGNORE_ALL", "tdef": "typedef", "description": " Submodule ignore values", @@ -36744,9 +36839,9 @@ "GIT_SUBMODULE_RECURSE_ONDEMAND" ], "type": "enum", - "file": "types.h", - "line": 422, - "lineto": 426, + "file": "git2/types.h", + "line": 396, + "lineto": 400, "block": "GIT_SUBMODULE_RECURSE_NO\nGIT_SUBMODULE_RECURSE_YES\nGIT_SUBMODULE_RECURSE_ONDEMAND", "tdef": "typedef", "description": " Options for submodule recurse.", @@ -36801,7 +36896,7 @@ "GIT_SUBMODULE_STATUS_WD_UNTRACKED" ], "type": "enum", - "file": "submodule.h", + "file": "git2/submodule.h", "line": 74, "lineto": 89, "block": "GIT_SUBMODULE_STATUS_IN_HEAD\nGIT_SUBMODULE_STATUS_IN_INDEX\nGIT_SUBMODULE_STATUS_IN_CONFIG\nGIT_SUBMODULE_STATUS_IN_WD\nGIT_SUBMODULE_STATUS_INDEX_ADDED\nGIT_SUBMODULE_STATUS_INDEX_DELETED\nGIT_SUBMODULE_STATUS_INDEX_MODIFIED\nGIT_SUBMODULE_STATUS_WD_UNINITIALIZED\nGIT_SUBMODULE_STATUS_WD_ADDED\nGIT_SUBMODULE_STATUS_WD_DELETED\nGIT_SUBMODULE_STATUS_WD_MODIFIED\nGIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED\nGIT_SUBMODULE_STATUS_WD_WD_MODIFIED\nGIT_SUBMODULE_STATUS_WD_UNTRACKED", @@ -36911,13 +37006,13 @@ ], "type": "struct", "value": "git_submodule_update_options", - "file": "submodule.h", - "line": 129, - "lineto": 154, + "file": "git2/submodule.h", + "line": 128, + "lineto": 153, "block": "unsigned int version\ngit_checkout_options checkout_opts\ngit_fetch_options fetch_opts\nint allow_fetch", "tdef": "typedef", "description": " Submodule update options structure", - "comments": "Use the GIT_SUBMODULE_UPDATE_OPTIONS_INIT to get the default settings, like this:
\n\ngit_submodule_update_options opts = GIT_SUBMODULE_UPDATE_OPTIONS_INIT;
\n", + "comments": "Initialize with GIT_SUBMODULE_UPDATE_OPTIONS_INIT. Alternatively, you can use git_submodule_update_options_init.
Currently unused.
\n", - "fields": [ - { - "type": "int", - "name": "GIT_TRANSPORTFLAGS_NONE", - "comments": "", - "value": 0 - } - ], - "used": { - "returns": [], - "needs": [] - } - } - ], [ "git_tree", { "decl": "git_tree", "type": "struct", "value": "git_tree", - "file": "types.h", - "line": 129, - "lineto": 129, + "file": "git2/types.h", + "line": 130, + "lineto": 130, "tdef": "typedef", "description": " Representation of a tree object. ", "comments": "", @@ -37333,6 +37322,7 @@ "git_treebuilder_get" ], "needs": [ + "git_apply_to_tree", "git_commit_amend", "git_commit_create", "git_commit_create_buffer", @@ -37389,9 +37379,9 @@ "decl": "git_tree_entry", "type": "struct", "value": "git_tree_entry", - "file": "types.h", - "line": 126, - "lineto": 126, + "file": "git2/types.h", + "line": 127, + "lineto": 127, "tdef": "typedef", "description": " Representation of each one of the entries in a tree object. ", "comments": "", @@ -37431,7 +37421,7 @@ ], "type": "struct", "value": "git_tree_update", - "file": "tree.h", + "file": "git2/tree.h", "line": 448, "lineto": 457, "block": "git_tree_update_t action\ngit_oid id\ngit_filemode_t filemode\nconst char * path", @@ -37476,7 +37466,7 @@ "GIT_TREE_UPDATE_REMOVE" ], "type": "enum", - "file": "tree.h", + "file": "git2/tree.h", "line": 438, "lineto": 443, "block": "GIT_TREE_UPDATE_UPSERT\nGIT_TREE_UPDATE_REMOVE", @@ -37509,9 +37499,9 @@ "decl": "git_treebuilder", "type": "struct", "value": "git_treebuilder", - "file": "types.h", - "line": 132, - "lineto": 132, + "file": "git2/types.h", + "line": 133, + "lineto": 133, "tdef": "typedef", "description": " Constructor for in-memory trees ", "comments": "", @@ -37540,7 +37530,7 @@ "GIT_TREEWALK_POST" ], "type": "enum", - "file": "tree.h", + "file": "git2/tree.h", "line": 398, "lineto": 401, "block": "GIT_TREEWALK_PRE\nGIT_TREEWALK_POST", @@ -37575,9 +37565,9 @@ "decl": "git_worktree", "type": "struct", "value": "git_worktree", - "file": "types.h", - "line": 108, - "lineto": 108, + "file": "git2/types.h", + "line": 109, + "lineto": 109, "tdef": "typedef", "description": " Representation of a working tree ", "comments": "", @@ -37586,21 +37576,104 @@ "needs": [ "git_repository_open_from_worktree", "git_worktree_add", - "git_worktree_add_init_options", + "git_worktree_add_options_init", "git_worktree_free", "git_worktree_is_locked", "git_worktree_is_prunable", "git_worktree_lock", "git_worktree_lookup", + "git_worktree_name", "git_worktree_open_from_repository", + "git_worktree_path", "git_worktree_prune", - "git_worktree_prune_init_options", + "git_worktree_prune_options_init", "git_worktree_unlock", "git_worktree_validate" ] } } ], + [ + "git_worktree_add_options", + { + "decl": [ + "unsigned int version", + "int lock", + "git_reference * ref" + ], + "type": "struct", + "value": "git_worktree_add_options", + "file": "git2/worktree.h", + "line": 84, + "lineto": 89, + "block": "unsigned int version\nint lock\ngit_reference * ref", + "tdef": "typedef", + "description": " Worktree add options structure", + "comments": "Initialize with GIT_WORKTREE_ADD_OPTIONS_INIT. Alternatively, you can use git_worktree_add_options_init.
Initialize with GIT_WORKTREE_PRUNE_OPTIONS_INIT. Alternatively, you can use git_worktree_prune_options_init.