summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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.
| * | commit: introduce `git_commit_body`Patrick Steinhardt2015-12-011-0/+13
| |/ | | | | | | | | | | | | | | | | It is already possible to get a commit's summary with the `git_commit_summary` function. It is not possible to get the remaining part of the commit message, that is the commit message's body. Fix this by introducing a new function `git_commit_body`.
* | Play nice with the docs.typedef-submodule-cbjoshaber2015-12-081-5/+4
| |
* | Use a typedef for the submodule_foreach callback.joshaber2015-12-081-1/+13
|/ | | | | | This fits with the style for the rest of the project, but more importantly, makes life easier for bindings authors who auto-generate code.
* recursive merge: add a recursion limitEdward Thomson2015-11-251-0/+8
|
* merge: add simple recursive testEdward Thomson2015-11-251-4/+12
| | | | | Add a simple recursive test - where multiple ancestors exist and creating a virtual merge base from them would prevent a conflict.
* merge: rename `git_merge_tree_flags_t` -> `git_merge_flags_t`Edward Thomson2015-11-251-17/+19
|
* repository: distinguish sequencer cherry-pick and revertcmn/repository-state-sequencerCarlos Martín Nieto2015-11-201-0/+2
| | | | These are not quite like their plain counterparts and require special handling.
* settings: allow users to set PROGRAMDATAEdward Thomson2015-11-161-5/+6
| | | | | | Allow users to set the `git_libgit2_opts` search path for the `GIT_CONFIG_LEVEL_PROGRAMDATA`. Convert `GIT_CONFIG_LEVEL_PROGRAMDATA` to `GIT_SYSDIR_PROGRAMDATA` for setting the configuration.
* Merge pull request #3170 from CmdrMoozy/nsec_fixCarlos Martín Nieto2015-11-121-2/+3
|\ | | | | git_index_entry__init_from_stat: set nsec fields in entry stats
| * Merge branch 'master' into nsec_fix_nextAxel Rasmussen2015-10-014-3/+23
| |\
| * | settings: expose GIT_USE_NSEC flag in git_libgit2_featuresAxel Rasmussen2015-09-181-2/+3
| | |
* | | settings: add a setter for a custom user-agentCarlos Martín Nieto2015-11-121-0/+3
| | |
* | | stream: allow registering a user-provided TLS constructorcmn/tls-registerCarlos Martín Nieto2015-11-031-0/+13
| | | | | | | | | | | | | | | This allows the application to use their own TLS stream, regardless of the capabilities of libgit2 itself.
* | | Add diff progress callback.Jason Haslam2015-11-021-5/+24
| | |
* | | Fix build for custom transport usersLeo Yang2015-10-301-0/+1
| | | | | | | | | | | | | | | We should explicitly include the declaration of git_strarray from "include/git2/sys/transport.h"
* | | merge: Implement `GIT_MERGE_TREE_SKIP_REUC`Vicent Marti2015-10-271-0/+5
| | |
* | | Merge pull request #3477 from linquize/inttypes.hEdward Thomson2015-10-231-1/+1
|\ \ \ | | | | | | | | inttypes.h is built-in header file since MSVC 2013
| * | | inttypes.h is built-in header file since MSVC 2013Linquize2015-10-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason is that the types defined in libgit2's inttypes.h collide with system inttypes.h 3rd party library header files may directly reference MSVC's built-in inttypes.h Fixes #3476
* | | | merge: add GIT_MERGE_TREE_FAIL_ON_CONFLICTEdward Thomson2015-10-222-0/+8
|/ / / | | | | | | | | | | | | | | | Provide a new merge option, GIT_MERGE_TREE_FAIL_ON_CONFLICT, which will stop on the first conflict and fail the merge operation with GIT_EMERGECONFLICT.
* | | Merge pull request #3475 from libgit2/cmn/programdata-configEdward Thomson2015-10-211-5/+19
|\ \ \ | | | | | | | | config: add a ProgramData level
| * | | config: add a ProgramData levelcmn/programdata-configCarlos Martín Nieto2015-10-211-5/+19
| | | | | | | | | | | | | | | | | | | | This is where portable git stores the global configuration which we can use to adhere to it even though git isn't quite installed on the system.
* | | | win32: add c linkage guard around inttypes.h inclusionEdward Thomson2015-10-211-6/+8
|/ / /
* | | Merge pull request #3444 from ethomson/add_preserves_conflict_modeCarlos Martín Nieto2015-10-151-7/+21
|\ \ \ | |_|/ |/| | Preserve modes from a conflict in `git_index_insert`
| * | index: also try conflict mode when insertingEdward Thomson2015-09-301-7/+21
| |/ | | | | | | | | | | | | | | | | | | When we do not trust the on-disk mode, we use the mode of an existing index entry. This allows us to preserve executable bits on platforms that do not honor them on the filesystem. If there is no stage 0 index entry, also look at conflicts to attempt to answer this question: prefer the data from the 'ours' side, then the 'theirs' side before falling back to the common ancestor.
* | refdb and odb backends must provide `free` functionArthur Schreiber2015-10-012-2/+6
| | | | | | | | | | | | | | | | | | As refdb and odb backends can be allocated by client code, libgit2 can’t know whether an alternative memory allocator was used, and thus should not try to call `git__free` on those objects. Instead, odb and refdb backend implementations must always provide their own `free` functions to ensure memory gets freed correctly.
* | Merge pull request #3411 from spraints/custom-push-headersCarlos Martín Nieto2015-09-302-1/+17
|\ \ | |/ |/| Include custom HTTP headers