|
47cb42da
|
2016-03-03T22:56:02
|
|
commit: split creating the commit and writing it out
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.
|
|
1e8255a3
|
2016-03-03T20:20:43
|
|
Bump version to 0.24.0
|
|
22a19f5b
|
2016-02-22T23:46:50
|
|
git_libgit2_opts: introduce `GIT_OPT_ENABLE_STRICT_OBJECT_CREATION`
|
|
0d9a7498
|
2016-02-25T12:09:49
|
|
Merge pull request #3628 from pks-t/pks/coverity-fixes
Coverity fixes
|
|
cd59e0c0
|
2016-02-23T13:05:49
|
|
giterr_set_str: remove `GITERR_OS` documentation
The `giterr_set_str` does not actually honor `GITERR_OS`. Remove
the documentation that claims that we do.
|
|
0f1e2d20
|
2016-02-23T11:23:26
|
|
index: fix contradicting comparison
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.
|
|
5bc93eae
|
2016-02-22T22:26:01
|
|
git_libgit2_opts: document GIT_OPT_SET_USER_AGENT
|
|
88ab3be6
|
2016-02-22T15:41:01
|
|
Fix a few checkout -> rebase typos
|
|
78e16c34
|
2016-02-19T13:06:51
|
|
Merge pull request #3597 from ethomson/filter_registration
Filter registration
|
|
eadd0f05
|
2016-02-16T14:06:48
|
|
commit: expose the different kinds of errors
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.
|
|
f28bae0c
|
2016-02-15T17:16:00
|
|
rebase: persist a single in-memory index
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.
|
|
a202e0d4
|
2016-02-11T10:11:21
|
|
rebase: allow custom merge_options
Allow callers of rebase to specify custom merge options. This may
allow custom conflict resolution, or failing fast when conflicts
are detected.
|
|
ee667307
|
2016-02-11T10:48:48
|
|
rebase: introduce inmemory rebasing
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.
|
|
82abd40d
|
2016-02-07T13:35:16
|
|
filter: clean up documentation around custom filters
|
|
488e2b85
|
2016-02-09T16:26:58
|
|
Merge pull request #3599 from libgit2/gpgsign
Introduce git_commit_extract_signature
|
|
a65afb75
|
2016-02-08T18:51:13
|
|
Introduce git_commit_extract_signature
This returns the GPG signature for a commit and its contents without the
signature block, allowing for the verification of the commit's
signature.
|
|
b00c959f
|
2016-02-08T17:55:22
|
|
Better document `git_merge_commits` redux
`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.
|
|
45165b12
|
2016-02-04T16:43:23
|
|
Merge pull request #3584 from jbreeden/export_fn
Export git_stash_apply_init_options
|
|
804bcd6b
|
2016-02-05T01:59:07
|
|
Fix typo
|
|
1087e6be
|
2016-02-03T17:27:04
|
|
Fix a typo in documentation
|
|
d02720d8
|
2016-01-23T17:13:25
|
|
Export git_stash_apply_init_options
|
|
869320a8
|
2015-12-26T16:55:29
|
|
Merge pull request #3546 from Cruel/master
Fix a couple function signatures
|
|
cf339ede
|
2015-12-16T09:25:18
|
|
fix git_blob_create_fromchunks documentation
putting `0.` at the start of the line turns it into a numbered list.
|
|
95746a57
|
2015-12-14T19:21:09
|
|
Fix a couple function signatures
|
|
30c8e260
|
2015-12-14T13:53:26
|
|
Merge pull request #3521 from pks-t/blame-line-overflow
Line count overflow in git_blame_hunk and git_blame__entry
|
|
6aa06b65
|
2015-12-10T12:14:09
|
|
Merge pull request #3522 from pks-t/email-format-commit-message
diff: include commit message when formatting patch
|
|
ab273821
|
2015-12-08T11:58:19
|
|
Play nice with the docs.
|
|
eda726cf
|
2015-12-08T11:34:00
|
|
Use a typedef for the submodule_foreach callback.
This fits with the style for the rest of the project, but more
importantly, makes life easier for bindings authors who auto-generate
code.
|
|
254e0a33
|
2015-11-24T13:43:43
|
|
diff: include commit message when formatting patch
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.
|
|
7f8fe1d4
|
2015-12-01T10:03:56
|
|
commit: introduce `git_commit_body`
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`.
|
|
cb1cb24c
|
2015-11-24T10:18:58
|
|
blame: use size_t for line counts in git_blame_hunk
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.
|
|
5b9c63c3
|
2015-11-20T19:01:42
|
|
recursive merge: add a recursion limit
|
|
86c8d02c
|
2015-10-22T20:20:07
|
|
merge: add simple recursive test
Add a simple recursive test - where multiple ancestors exist and
creating a virtual merge base from them would prevent a conflict.
|
|
fa78782f
|
2015-10-22T17:00:09
|
|
merge: rename `git_merge_tree_flags_t` -> `git_merge_flags_t`
|
|
2ea40fda
|
2015-11-20T13:19:23
|
|
repository: distinguish sequencer cherry-pick and revert
These are not quite like their plain counterparts and require special handling.
|
|
3eac1037
|
2015-11-16T23:31:19
|
|
settings: allow users to set PROGRAMDATA
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.
|
|
75a0ccf5
|
2015-11-12T19:53:09
|
|
Merge pull request #3170 from CmdrMoozy/nsec_fix
git_index_entry__init_from_stat: set nsec fields in entry stats
|
|
de870533
|
2015-10-02T03:43:11
|
|
settings: add a setter for a custom user-agent
|
|
7fafde63
|
2015-10-13T11:25:41
|
|
stream: allow registering a user-provided TLS constructor
This allows the application to use their own TLS stream, regardless of
the capabilities of libgit2 itself.
|
|
3138ad93
|
2015-07-16T10:17:16
|
|
Add diff progress callback.
|
|
bf28da47
|
2015-10-30T14:12:19
|
|
Fix build for custom transport users
We should explicitly include the declaration of git_strarray
from "include/git2/sys/transport.h"
|
|
a1f5d691
|
2015-10-27T22:42:15
|
|
merge: Implement `GIT_MERGE_TREE_SKIP_REUC`
|
|
821131fd
|
2015-10-23T10:13:14
|
|
Merge pull request #3477 from linquize/inttypes.h
inttypes.h is built-in header file since MSVC 2013
|
|
8683d31f
|
2015-10-22T14:39:20
|
|
merge: add GIT_MERGE_TREE_FAIL_ON_CONFLICT
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.
|
|
240a85cf
|
2015-10-22T07:56:34
|
|
inttypes.h is built-in header file since MSVC 2013
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
|
|
44b1e3e3
|
2015-10-21T13:43:22
|
|
Merge pull request #3475 from libgit2/cmn/programdata-config
config: add a ProgramData level
|
|
0f9b6742
|
2015-10-21T09:24:10
|
|
win32: add c linkage guard around inttypes.h inclusion
|
|
8c7c5fa5
|
2015-10-20T17:42:42
|
|
config: add a ProgramData level
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.
|
|
8321596a
|
2015-10-15T12:22:10
|
|
Merge pull request #3444 from ethomson/add_preserves_conflict_mode
Preserve modes from a conflict in `git_index_insert`
|
|
c7b17fb5
|
2015-10-01T18:01:32
|
|
Merge branch 'master' into nsec_fix_next
|
|
d3b29fb9
|
2015-10-01T00:50:37
|
|
refdb and odb backends must provide `free` function
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.
|
|
21515f22
|
2015-09-29T15:49:16
|
|
index: also try conflict mode when inserting
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.
|
|
72b7c570
|
2015-09-30T09:17:18
|
|
Merge pull request #3411 from spraints/custom-push-headers
Include custom HTTP headers
|
|
0269833f
|
2015-06-02T12:42:07
|
|
settings: expose GIT_USE_NSEC flag in git_libgit2_features
|
|
c49126c8
|
2015-09-10T08:34:35
|
|
Accept custom headers for fetch too
|
|
4f2b6093
|
2015-09-08T13:53:41
|
|
Tell the git_transport about the custom_headers
|
|
9da32a62
|
2015-09-08T10:18:54
|
|
Add custom_headers to git_push_options
|
|
24f5b4e1
|
2015-09-08T13:34:42
|
|
Drop extra_http_headers from git_remote
|
|
c097f717
|
2015-08-17T15:02:02
|
|
New API: git_index_find_prefix
Find the first index entry matching a prefix.
|
|
59d6128e
|
2015-09-04T09:36:50
|
|
Allow the world to set HTTP headers for remotes
|
|
1cef6b9f
|
2015-09-03T11:38:21
|
|
config: correct documentation for non-existent config file
|
|
21e7015c
|
2015-09-01T02:26:11
|
|
Merge pull request #3402 from ethomson/faster_diff
Provide path matching in the iterators (for faster diffs)
|
|
53c2296b
|
2015-08-31T19:41:43
|
|
iterator: better document GIT_DIFF_DISABLE_PATHSPEC_MATCH
|
|
56ed415a
|
2015-08-30T19:10:00
|
|
diff: drop `FILELIST_MATCH`
Now that non-pathspec matching diffs are implemented at the iterator
level, drop `FILELIST_MATCH`ing.
|
|
ed38e26d
|
2015-08-30T15:47:49
|
|
Merge pull request #3401 from phatblat/pb/doc-warning
Escape @ in doc comment
|
|
91c9484c
|
2015-08-29T17:46:34
|
|
Escape @ in doc comment
|
|
3273ab3f
|
2015-08-28T20:06:18
|
|
diff: better document GIT_DIFF_PATHSPEC_DISABLE
Document that `GIT_DIFF_PATHSPEC_DISABLE` is not necessarily about
explicit path matching, but also includes matching of directory
names. Enforce this in a test.
|
|
ef206124
|
2015-07-28T19:55:37
|
|
Move filelist into the iterator handling itself.
|
|
57af0b92
|
2015-08-19T00:46:28
|
|
cred: add a free function wrapper
|
|
47ed7e5a
|
2015-08-18T20:55:59
|
|
transport: provide a way to get the callbacks
libgit2 implementations of smart subtransports can simply reach through
the structure, but external implementors cannot.
Add these two functions as a way for the smart subtransports to get the
callbacks as set by the user.
|
|
5340d63d
|
2015-07-12T12:50:23
|
|
config: perform unlocking via git_transaction
This makes the API for commiting or discarding changes the same as for
references.
|
|
36f784b5
|
2015-06-01T20:02:23
|
|
config: expose locking via the main API
This lock/unlock pair allows for the cller to lock a configuration file
to avoid concurrent operations.
It also allows for a transactional approach to updating a configuration
file. If multiple updates must be made atomically, they can be done
while the config is locked.
|
|
b1667039
|
2015-06-01T19:17:03
|
|
config: implement basic transactional support
When a configuration file is locked, any updates made to it will be done
to the in-memory copy of the file. This allows for multiple updates to
happen while we hold the lock, preventing races during complex
config-file manipulation.
|
|
25dbcf34
|
2015-07-27T09:59:07
|
|
Make giterr_detach no longer public
|
|
c400bac4
|
2015-08-01T15:38:04
|
|
Merge pull request #3332 from phatblat/ben/doc-warnings
Resolve documentation warnings
|
|
08afd227
|
2015-07-27T18:32:55
|
|
Fix remaining documentation warnings
|
|
f90fbb8d
|
2015-07-27T17:42:08
|
|
Use correct Doxygen trailing comment syntax
|
|
41808d04
|
2015-07-27T14:46:50
|
|
Fix @param names in doc comments
|
|
759b2230
|
2015-07-24T15:04:20
|
|
Merge pull request #3303 from libgit2/cmn/index-add-submodule
Allow adding a submodule through git_index_add_bypath
|
|
91dad181
|
2015-07-24T15:01:04
|
|
Merge pull request #3305 from libgit2/cmn/reflog-del-backend
refdb: delete a ref's reflog upon deletion
|
|
37996d47
|
2015-07-20T09:21:36
|
|
Document git_fetch_options struct and fix typo.
git_fetch_options was missing from the API docs because it lacked a
documentation comment above the struct declaration.
I used the git_checkout_options docstring as a template.
Also fixes a typo in git_remote_prune_refs (remote, not reamote).
|
|
01d0c02d
|
2015-07-12T19:08:06
|
|
refdb: delete a ref's reflog upon deletion
Removing a reflog upon ref deletion is something which only some
backends might wish to do. Backends which are database-backed may wish
to archive a reflog, log-based ones may not need to do anything.
|
|
8a52ed7a
|
2015-07-11T18:51:36
|
|
errors: add EDIRECTORY
This is to be returned when the operation which the user asked for is
not possible to do on a directory.
|
|
79698030
|
2015-06-29T22:51:18
|
|
git_cert: child types use proper base type
|
|
9847d80d
|
2015-07-09T18:21:31
|
|
Merge pull request #3281 from ethomson/wildcard_filters
filters: custom filters with wildcard attributes
|
|
3704ac35
|
2015-07-07T12:38:47
|
|
Merge pull request #3277 from git-up/git_diff_index_to_index
Added git_diff_index_to_index()
|
|
a94d3e68
|
2015-07-03T14:34:30
|
|
filter: add docs for streaming filters
These functions are available on the public API but don't have any
documentation, so they don't appear on the API reference. Fix that.
|
|
34065968
|
2015-07-01T17:49:07
|
|
submodule: completely remove reload_all
The function was removed, but its declaration and changelog entry about
its removal were forgotten.
The comment in the test doesn't make any sense as the function doesn't
exist anymore, so get rid of it as well.
|
|
63924435
|
2015-07-01T09:40:11
|
|
filters: custom filters with wildcard attributes
Allow custom filters with wildcard attributes, so that clients
can support some random `filter=foo` in a .gitattributes and look
up the corresponding smudge/clean commands in the configuration file.
|
|
ccef5adb
|
2015-06-30T09:30:20
|
|
Added git_diff_index_to_index()
|
|
84d5a98f
|
2015-06-28T14:53:30
|
|
Bump version to 0.23.0 and SOVERSION to 23
|
|
354268ca
|
2015-06-26T17:46:35
|
|
Merge pull request #3259 from ethomson/stash_apply_argh
Stash apply: stage new files even when not updating the index
|
|
c0280bdd
|
2015-06-25T18:55:48
|
|
Merge pull request #3255 from libgit2/cmn/rename-unspecified
Rename FALLBACK to UNSPECIFIED
|
|
82b1c93d
|
2015-06-20T13:44:22
|
|
stash: don't allow apply with staged changes
|
|
87987fd1
|
2015-06-25T15:26:43
|
|
Merge pull request #3246 from libgit2/cmn/dont-grow-borrowed
Don't allow growing borrowed buffers
|
|
c2418f46
|
2015-06-25T12:48:44
|
|
Rename FALLBACK to UNSPECIFIED
Fallback describes the mechanism, while unspecified explains what the
user is thinking.
|
|
189aad45
|
2015-06-24T19:32:07
|
|
errors: introduce EINVALID
We've been using EINVALIDSPEC for a while to mean this, but that name
is too specific. Introduce this to be more explicit.
|
|
bd470d00
|
2015-06-23T15:21:12
|
|
blob: don't recomment using git_buf_grow
We currently recommend using `git_buf_grow` in order to make a buffer
make an owned copy of the memory it points to. This is not behaviour we
should encourage, so remove this recommendation.
The function itself is not changed, as we need to remain compatible, but
it will be changed not to allow usage on borrowed buffers.
|
|
daacf96d
|
2015-06-24T23:34:40
|
|
Merge pull request #3097 from libgit2/cmn/submodule-config-state
Remove run-time configuration settings from submodules
|
|
cdee630f
|
2015-06-09T19:07:58
|
|
curl: extract certificate information
The information is exposed by curl for some crypto libraries in the form
of name:content strings. We can't do much more than return this
information.
|