summaryrefslogtreecommitdiff
path: root/include/git2
Commit message (Collapse)AuthorAgeFilesLines
...
* proxy: don't specify the protocol in the typeCarlos Martín Nieto2016-04-191-10/+5
| | | | | | We leave this up to the scheme in the url field. The type should only tell us about whether we want a proxy and whether we want to auto-detect it.
* proxy: add a payload field for the proxy optionsCarlos Martín Nieto2016-04-192-0/+22
| | | | | I don't quite recall what we do in the other places where we use this, but we should pass this payload to the callbacks.
* net: use proxy options struct in the stream configCarlos Martín Nieto2016-04-191-1/+2
|
* proxy: ask the user for credentials if necessaryCarlos Martín Nieto2016-04-192-4/+19
|
* proxy: introduce a proxy options structCarlos Martín Nieto2016-04-191-0/+91
| | | | It is currently unused; it will go into the remote's options.
* Add missing ')' to callbacks documentationJosh Junon2016-04-121-1/+1
| | | | | Super minor, but it was bugging me. There was a missing closing paren in the docs.
* Add a no-op size_t typedef for the doc parsercmn/typedef-sizetCarlos Martín Nieto2016-03-311-0/+8
| | | | | | | | | Clang's documentation parser, which we use in our documentation system does not report any comments for functions which use size_t as a type. The root cause is buried somewhere in libclang but we can work around it by defining the type ourselves. This typedef makes sure that libclang sees it and that we do not change its size.
* git_object_dup: introduce typesafe versionsEdward Thomson2016-03-234-0/+36
|
* blob: introduce creating a blob by writing into a streamCarlos Martín Nieto2016-03-221-0/+43
| | | | | | | | | | | | | | | | | | | | | The pair of `git_blob_create_frombuffer()` and `git_blob_create_frombuffer_commit()` is meant to replace `git_blob_create_fromchunks()` by providing a way for a user to write a new blob when they want filtering or they do not know the size. This approach allows the caller to retain control over when to add data to this buffer and a more natural fit into higher-level language's own stream abstractions instead of having to handle IO wait in the callback. The in-memory buffer size of 2MB is chosen somewhat arbitrarily to be a round multiple of usual page sizes and a value where most blobs seem likely to be either going to be way below or way over that size. It's also a round number of pages. This implementation re-uses the helper we have from `_fromchunks()` so we end up writing everything to disk, but hopefully more efficiently than with a default filebuf. A later optimisation can be to avoid writing the in-memory contents to disk, with some extra complexity.
* merge driver: remove `check` callbackEdward Thomson2016-03-171-62/+6
| | | | | | Since the `apply` callback can defer, the `check` callback is not necessary. Removing the `check` callback further makes the `payload` unnecessary along with the `cleanup` callback.
* merge driver: improve inline documentationEdward Thomson2016-03-171-18/+21
|
* merge driver: allow custom default driverEdward Thomson2016-03-171-1/+10
| | | | | | Allow merge users to configure a custom default merge driver via `git_merge_options`. Similarly, honor the `merge.default` configuration option.
* merge driver: introduce custom merge driversEdward Thomson2016-03-171-0/+230
| | | | | | | | Consumers can now register custom merged drivers with `git_merge_driver_register`. This allows consumers to support the merge drivers, as configured in `.gitattributes`. Consumers will be asked to perform the file-level merge when a custom driver is configured.
* Merge pull request #3673 from libgit2/cmn/commit-with-signatureEdward Thomson2016-03-171-0/+21
|\ | | | | commit: add function to attach a signature to a commit
| * commit: add function to attach a signature to a commitcmn/commit-with-signatureCarlos Martín Nieto2016-03-151-0/+21
| | | | | | | | | | In combination with the function which creates a commit into a buffer, this allows us to more easily create signed commits.
* | Setup better defaults for OpenSSL ciphersDirkjan Bussink2016-03-141-0/+6
| | | | | | | | | | | | | | | | | | This ensures that when using OpenSSL a safe default set of ciphers is selected. This is done so that the client communicates securely and we don't accidentally enable unsafe ciphers like RC4, or even worse some old export ciphers. Implements the first part of https://github.com/libgit2/libgit2/issues/3682
* | Merge pull request #3636 from nerdishbynature/fix-non-modular-header-in-moduleCarlos Martín Nieto2016-03-111-1/+2
|\ \ | |/ |/| Don't include inttypes if compiling for Mac/iOS
| * Check for __CLANG_INTTYPES_HPiet Brauer2016-03-111-1/+2
| | | | | | | | | | | | This fixes an issue in Xcode 7.3 in objective-git where we get the error "Include of non-modular header file in module". Not importing this header again fixes the issue.
* | Merge pull request #3656 from ethomson/exists_prefixesVicent Marti2016-03-081-1/+47
|\ \ | | | | | | Introduce `git_odb_expand_ids`
| * | git_odb_expand_ids: accept git_odb_expand_id arrayEdward Thomson2016-03-081-10/+25
| | | | | | | | | | | | Take (and write to) an array of a struct, `git_odb_expand_id`.
| * | git_odb_expand_ids: rename func, return the typeEdward Thomson2016-03-081-6/+7
| | |
| * | git_odb_exists_many_prefixes: query odb for multiple short idsEdward Thomson2016-03-071-1/+31
| | | | | | | | | | | | | | | Query the object database for multiple objects at a time, given their object ID (which may be abbreviated) and optional type.
* | | commit: split creating the commit and writing it outcmn/commit-to-memoryCarlos Martín Nieto2016-03-081-0/+46
|/ / | | | | | | | | | | Sometimes you want to create a commit but not write it out to the objectdb immediately. For these cases, provide a new function to retrieve the buffer instead of having to go through the db.
* | Bump version to 0.24.0Carlos Martín Nieto2016-03-031-3/+3
| |
* | git_libgit2_opts: introduce `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION`Edward Thomson2016-02-281-0/+9
| |
* | Merge pull request #3628 from pks-t/pks/coverity-fixesEdward Thomson2016-02-251-1/+1
|\ \ | |/ |/| Coverity fixes
| * index: fix contradicting comparisonPatrick Steinhardt2016-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The overflow check in `read_reuc` tries to verify if the `git__strtol32` parses an integer bigger than UINT_MAX. The `tmp` variable is casted to an unsigned int for this and then checked for being greater than UINT_MAX, which obviously can never be true. Fix this by instead fixing the `mode` field's size in `struct git_index_reuc_entry` to `uint32_t`. We can now parse the int with `git__strtol64`, which can never return a value bigger than `UINT32_MAX`, and additionally checking if the returned value is smaller than zero. We do not need to handle overflows explicitly here, as `git__strtol64` returns an error when the returned value would overflow.
* | giterr_set_str: remove `GITERR_OS` documentationEdward Thomson2016-02-231-5/+0
|/ | | | | The `giterr_set_str` does not actually honor `GITERR_OS`. Remove the documentation that claims that we do.
* git_libgit2_opts: document GIT_OPT_SET_USER_AGENTEdward Thomson2016-02-221-0/+6
|
* Fix a few checkout -> rebase typoscmn/typoCarlos Martín Nieto2016-02-221-1/+1
|
* Merge pull request #3597 from ethomson/filter_registrationCarlos Martín Nieto2016-02-191-25/+34
|\ | | | | Filter registration
| * filter: clean up documentation around custom filtersEdward Thomson2016-02-091-25/+34
| |
* | commit: expose the different kinds of errorsCarlos Martín Nieto2016-02-161-0/+6
| | | | | | | | | | | | We should be checking whether the object we're looking up is a commit, and we should let the caller know whether the not-found return code comes from a bad object type or just a missing signature.
* | rebase: persist a single in-memory indexEdward Thomson2016-02-151-6/+15
| | | | | | | | | | | | When performing an in-memory rebase, keep a single index for the duration, so that callers have the expected index lifecycle and do not hold on to an index that is free'd out from under them.
* | rebase: allow custom merge_optionsEdward Thomson2016-02-111-1/+7
| | | | | | | | | | | | Allow callers of rebase to specify custom merge options. This may allow custom conflict resolution, or failing fast when conflicts are detected.
* | rebase: introduce inmemory rebasingEdward Thomson2016-02-111-1/+16
| | | | | | | | | | | | | | | | | | | | Introduce the ability to rebase in-memory or in a bare repository. When `rebase_options.inmemory` is specified, the resultant `git_rebase` session will not be persisted to disk. Callers may still analyze the rebase operations, resolve any conflicts against the in-memory index and create the commits. Neither `HEAD` nor the working directory will be updated during this process.
* | Merge pull request #3599 from libgit2/gpgsignVicent Marti2016-02-091-0/+12
|\ \ | | | | | | Introduce git_commit_extract_signature
| * | Introduce git_commit_extract_signaturegpgsignCarlos Martín Nieto2016-02-091-0/+12
| | | | | | | | | | | | | | | | | | This returns the GPG signature for a commit and its contents without the signature block, allowing for the verification of the commit's signature.
* | | Better document `git_merge_commits` reduxEdward Thomson2016-02-081-8/+0
| |/ |/| | | | | | | | | | | | | `git_merge_commits` and `git_merge` now *do* handle recursive base building for criss-cross merges. Remove the documentation that says that they do not. This reverts commit 5e44d9bcb6d5b20922f49b1913723186f8ced8b5.
* | Merge pull request #3584 from jbreeden/export_fnEdward Thomson2016-02-041-1/+1
|\ \ | | | | | | Export git_stash_apply_init_options
| * | Export git_stash_apply_init_optionsjbreeden2016-01-231-1/+1
| |/
* | Fix typoEphemera2016-02-051-1/+1
| |
* | Fix a typo in documentationNicolas Vanheuverzwijn2016-02-031-1/+1
|/
* Merge pull request #3546 from Cruel/masterEdward Thomson2015-12-261-1/+1
|\ | | | | Fix a couple function signatures
| * Fix a couple function signaturesThomas Edvalson2015-12-141-1/+1
| |
* | fix git_blob_create_fromchunks documentationtepas2015-12-161-2/+2
|/ | | putting `0.` at the start of the line turns it into a numbered list.
* Merge pull request #3521 from pks-t/blame-line-overflowEdward Thomson2015-12-141-6/+6
|\ | | | | Line count overflow in git_blame_hunk and git_blame__entry
| * blame: use size_t for line counts in git_blame_hunkPatrick Steinhardt2015-12-011-6/+6
| | | | | | | | | | | | | | | | | | | | It is not unreasonable to have versioned files with a line count exceeding 2^16. Upon blaming such files we fail to correctly keep track of the lines as `git_blame_hunk` stores them in `uint16_t` fields. Fix this by converting the line fields of `git_blame_hunk` to `size_t`. Add test to verify behavior.
* | Merge pull request #3522 from pks-t/email-format-commit-messageCarlos Martín Nieto2015-12-102-1/+17
|\ \ | | | | | | diff: include commit message when formatting patch
| * | diff: include commit message when formatting patchPatrick Steinhardt2015-12-011-1/+4
| | | | | | | | | | | | | | | | | | When formatting a patch as email we do not include the commit's message in the formatted patch output. Implement this and add a test that verifies behavior.