|
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.
|
|
5a296ad0
|
2016-02-12T00:55:20
|
|
Merge pull request #3610 from ethomson/rebase_bare
rebase: introduce bare rebasing
|
|
2f2129b1
|
2016-02-11T15:47:01
|
|
Merge pull request #3612 from arthurschreiber/arthur/fix-3173
Horrible fix for #3173.
|
|
3679ebae
|
2016-02-11T23:37:52
|
|
Horrible fix for #3173.
|
|
460ae11f
|
2016-02-11T22:19:20
|
|
commit: don't forget the last header field
When we moved the logic to handle the first one, wrong loop logic was
kept in place which meant we still finished early. But we now notice it
because we're not reading past the last LF we find.
This was not noticed before as the last field in the tested commit was
multi-line which does not trigger the early break.
|
|
66ce08a6
|
2016-02-11T22:16:34
|
|
Merge pull request #3607 from pks-t/pks/coverity-improvements
Coverity improvements for GITERR_CHECK_ALLOC
|
|
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.
|
|
50174ab4
|
2016-02-10T11:06:23
|
|
coverity: use https URL for posting build
When posting our instrumented build results to Coverity we have
to include sensitive information, in particular our authorization
token. Currently we use an unencrypted channel to post this
information, leading to the token being transferred in plain.
Fix this by using a secured connection instead.
|
|
8dddea42
|
2016-02-10T10:59:14
|
|
coverity: provide nodef for GITERR_CHECK_ALLOC
Coverity currently lists a lot of errors with regard to
GITERR_CHECK_ALLOC causing resource leaks. We know this macro is
only invoked when we want to abort because we are out of memory.
Coverity allows for overriding the default model where we know
that certain functions guarantee a desired behavior. The
user_nodefs.h is used to override the behavior of macros.
Re-define GITERR_CHECK_ALLOC inside of it to specify its abort
nature.
|
|
488e2b85
|
2016-02-09T16:26:58
|
|
Merge pull request #3599 from libgit2/gpgsign
Introduce git_commit_extract_signature
|
|
534cc5a3
|
2016-02-09T16:10:43
|
|
Merge pull request #3603 from pks-t/pks/coverity-fixes
Coverity fixes
|
|
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.
|
|
ab87cb18
|
2016-02-09T14:53:10
|
|
Merge pull request #3602 from libgit2/cmn/header-field-2
commit: also match the first header field when searching
|
|
24b8ed2b
|
2016-02-09T11:11:38
|
|
attr_file: fix resource leak
|
|
e2625457
|
2016-02-09T11:07:50
|
|
checkout: fix resource leak
|
|
39c9dd24
|
2016-02-09T10:53:30
|
|
pack-objects: fix memory leak in packbuilder_config
|
|
0b2437bb
|
2016-02-09T10:43:28
|
|
pack-objects: fix memory leak in compute_write_order
|
|
a53d2e39
|
2016-02-09T09:58:56
|
|
pack: do not free passed in poiter on error
The function `git_packfile_stream_open` tries to free the passed
in stream when an error occurs. The only call site is
`git_indexer_append`, though, which passes in the address of a
stream struct which has not been allocated on the heap.
Fix the issue by simply removing the call to free. In case of an
error we did not allocate any memory yet and otherwise it should
be the caller's responsibility to manage it's object's lifetime.
|
|
f55eca16
|
2016-02-09T07:17:26
|
|
commit: also match the first header field when searching
We were searching only past the first header field, which meant we were
unable to find e.g. `tree` which is the first field.
While here, make sure to set an error message in case we cannot find the
field.
|
|
e0bbe781
|
2016-02-09T06:41:02
|
|
Merge pull request #3598 from pks-t/pks/coverity-fixes
Coverity fixes
|
|
463f5351
|
2016-02-09T06:26:21
|
|
Merge pull request #3601 from ethomson/merge_doc
Better document `git_merge_commits` redux
|
|
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.
|
|
7cdbb39e
|
2016-02-08T17:14:43
|
|
Merge pull request #3600 from ethomson/mailmap
mailmap: add ethomson@github.com
|
|
88a4d084
|
2016-02-02T14:50:35
|
|
mailmap: add ethomson@github.com
|
|
a001846b
|
2016-02-08T17:05:57
|
|
curl_stream: fix unused cert infos
When copying contents of the cURL certiinfo we duplicate the
data but forget to actually put it into the vector.
|
|
fac42ff9
|
2016-02-08T16:58:08
|
|
merge: fix memory leak
|
|
0f814deb
|
2016-02-06T16:41:59
|
|
Merge pull request #3592 from ethomson/code_of_conduct
Introduce Contributor Covenant
|
|
240b6fed
|
2016-02-05T15:19:24
|
|
Merge pull request #3578 from bubaflub/fix_small_memory_leak
Free allocated pointer to curl stream on error
|
|
efa8208c
|
2016-02-05T09:37:40
|
|
Merge pull request #3579 from ethomson/mingw_winhttp
winhttp: name mangle class / iid on mingw
|
|
45165b12
|
2016-02-04T16:43:23
|
|
Merge pull request #3584 from jbreeden/export_fn
Export git_stash_apply_init_options
|
|
d8f72159
|
2016-02-04T15:49:00
|
|
Merge pull request #3594 from Ephemera/patch-1
Fix typo
|
|
804bcd6b
|
2016-02-05T01:59:07
|
|
Fix typo
|
|
612f2a60
|
2016-02-04T08:43:47
|
|
Merge pull request #3593 from nvanheuverzwijn/patch-1
Fix a typo in documentation
|
|
1087e6be
|
2016-02-03T17:27:04
|
|
Fix a typo in documentation
|
|
846632cd
|
2016-02-02T14:49:25
|
|
Introduce Contributor Covenant
|
|
d02720d8
|
2016-01-23T17:13:25
|
|
Export git_stash_apply_init_options
|
|
5c7f2f01
|
2016-01-19T11:13:23
|
|
winhttp: name mangle class / iid on mingw
Standard Windows type systems define CLSID_InternetSecurityManager
and IID_IInternetSecurityManager, but MinGW lacks these definitions.
As a result, we must hardcode these definitions ourselves. However,
we should not use a public struct with those names, lest another
library do the same thing and consumers cannot link to both.
|
|
8bd1c19e
|
2016-01-16T19:39:24
|
|
Free allocated pointer to curl stream on error
|
|
0f9d1549
|
2016-01-16T02:29:17
|
|
Merge pull request #3573 from pmq20/master-12jan16
Make packfile_unpack_compressed a private API
|
|
47cf739e
|
2016-01-13T17:57:54
|
|
Merge pull request #3569 from arthurschreiber/arthur/fix-windows-issues
Fix some issues with generated pkg-config file
|
|
b644e223
|
2016-01-13T11:02:38
|
|
Make packfile_unpack_compressed a private API
|
|
768e185c
|
2016-01-05T21:55:11
|
|
Wrap path in quotes to support paths containing whitespace.
|
|
8a0133c0
|
2016-01-05T19:07:27
|
|
Add winhttp dependencies to pc file.
|
|
700f0aff
|
2015-12-29T13:38:01
|
|
Merge pull request #3562 from mgorny/ssh-read-stderr-fail
ssh_stream_read(): fix possible *bytes_read < 0 branch
|
|
a3776489
|
2015-12-28T15:12:37
|
|
Merge pull request #3558 from libgit2/cmn/index-nolock
index: get rid of the locking
|
|
9d81509a
|
2015-12-23T11:54:52
|
|
index: get rid of the locking
We don't support using an index object from multiple threads at the same
time, so the locking doesn't have any effect when following the
rules. If not following the rules, things are going to break down
anyway.
|
|
ccad5a99
|
2015-12-28T11:22:48
|
|
Merge pull request #3565 from ethomson/templates
Handle dotfiles as the repo template dir and inside the template dir
|
|
62602547
|
2015-12-26T22:39:22
|
|
git_repository_init: include dotfiles when copying templates
Include dotfiles when copying template directory, which will handle
both a template directory itself that begins with a dotfile, and
any dotfiles inside the directory.
|
|
00282183
|
2015-12-26T22:32:17
|
|
repo::init tests: test a template dir with leading dot
Ensure that we can handle template directories that begin with a
leading dot.
|
|
5c042c5b
|
2015-12-26T22:06:45
|
|
repo::init tests: test init.templatedir setting
Ensure that `git_repository_init` honors the `init.templatedir`
configuration setting.
|
|
a066b4cb
|
2015-12-26T18:31:22
|
|
Merge pull request #3552 from ReadmeCritic/master
Update README URLs based on HTTP redirects
|
|
1ce509fe
|
2015-12-26T15:51:32
|
|
Update libgit2-glib link
|
|
869320a8
|
2015-12-26T16:55:29
|
|
Merge pull request #3546 from Cruel/master
Fix a couple function signatures
|
|
02fdc2db
|
2015-12-26T17:17:05
|
|
ssh_stream_read(): fix possible *bytes_read < 0 branch
Fix the possibility of returning successfully from ssh_stream_read()
with *bytes_read < 0. This would occur if stdout channel read resulted
in 0, and stderr channel read failed afterwards.
|
|
3d29b12c
|
2015-12-23T23:38:59
|
|
Merge pull request #3560 from drusk/readme_typo
Fixed minor typo in README.md.
|
|
22829b74
|
2015-12-23T21:27:40
|
|
Fixed minor typo in README.md.
|
|
e9c0d796
|
2015-12-21T21:47:10
|
|
Merge pull request #3554 from olshevskiy87/master
typos in comments
|
|
91f0d186
|
2015-12-21T20:49:14
|
|
typos in comments
|
|
1181ca0c
|
2015-12-17T08:36:04
|
|
Update README URLs based on HTTP redirects
|
|
9ec6839a
|
2015-12-17T10:29:58
|
|
Merge pull request #3551 from libgit2/vmg/commit-leak
commit: Fix memory leak in test suite
|
|
5951445f
|
2015-12-17T10:13:04
|
|
commit: Fix memory leak in test suite
|
|
1850c99c
|
2015-12-17T10:09:02
|
|
Merge pull request #3550 from libgit2/vmg/index-fill-2
Index fill: Small fixups
|
|
4baf2d8b
|
2015-12-16T21:58:47
|
|
Merge pull request #3548 from tepas/patch-1
fix git_blob_create_fromchunks documentation
|
|
ef8b7feb
|
2015-12-16T19:36:50
|
|
index: Also size-hint the hash table
Note that we're not checking whether the resize succeeds; in OOM cases,
we let it run with a "small" vector and hash table and see if by chance
we can grow it dynamically as we insert the new entries. Nothing to
lose really.
|
|
d7d46cfb
|
2015-12-16T17:00:25
|
|
index: Preallocate the entries vector with size hint
|
|
0cc20a8c
|
2015-12-16T16:53:06
|
|
index: Adjust namemask & mode when filling
|
|
f824259e
|
2015-12-16T15:18:42
|
|
Merge pull request #3549 from libgit2/vmg/index-fill
merge: Use `git_index__fill` to populate the index
|
|
879ebab3
|
2015-12-16T12:30:52
|
|
merge: Use `git_index__fill` to populate the index
Instead of calling `git_index_add` in a loop, use the new
`git_index_fill` internal API to fill the index with the initial staged
entries.
The new `fill` helper assumes that all the entries will be unique and
valid, so it can append them at the end of the entries vector and only
sort it once at the end. It performs no validation checks.
This prevents the quadratic behavior caused by having to sort the
entries list once after every insertion.
|
|
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
|
|
7f2c1469
|
2015-12-14T13:54:02
|
|
Merge pull request #3528 from chescock/Passthrough-from-credential-callback
Treat GIT_PASSTHROUGH as though git_cred_acquire_cb isn't set.
|
|
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
|
|
dc49eb58
|
2015-12-10T11:57:44
|
|
Merge pull request #3538 from pks-t/pks/index-memory-leak
index: always queue `remove_entry` for removal
|
|
0a294217
|
2015-12-09T20:56:04
|
|
Merge pull request #3542 from libgit2/cmn/reset-dir-file
reset: perform the checkout before moving HEAD or the index
|
|
465c3b38
|
2015-12-09T19:16:11
|
|
reset: perform the checkout before moving HEAD or the index
This keeps the state of the workdir the same as one from HEAD, removing
a source of possible confusion when calculating the work that is to be
done.
|
|
82885255
|
2015-12-09T13:57:15
|
|
CHANGELOG: add some things we missed
|
|
21b1e015
|
2015-12-08T21:11:58
|
|
Merge pull request #3539 from libgit2/typedef-submodule-cb
Use a typedef for the submodule_foreach callback.
|
|
d698929c
|
2015-12-08T13:12:27
|
|
Merge pull request #3537 from libgit2/cmn/tree-is-sorted
tree: mark a tree as already sorted
|
|
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.
|
|
b057fdef
|
2015-12-08T16:00:35
|
|
index: always queue `remove_entry` for removal
When replacing an index with a new one, we need to iterate
through all index entries in order to determine which entries are
equal. When it is not possible to re-use old entries for the new
index, we move it into a list of entries that are to be removed
and thus free'd.
When we encounter a non-zero error code, though, we skip adding
the current index entry to the remove-queue. `INSERT_MAP_EX`,
which is the function last run before adding to the remove-queue,
may return a positive non-zero code that indicates what exactly
happened while inserting the element. In this case we skip adding
the entry to the remove-queue but still continue the current
operation, leading to a leak of the current entry.
Fix this by checking for a negative return value instead of a
non-zero one when we want to add the current index entry to the
remove-queue.
|
|
fc436469
|
2015-12-06T22:51:00
|
|
tree: mark a tree as already sorted
The trees are sorted on-disk, so we don't have to go over them
again. This cuts almost a fifth of time spent parsing trees.
|
|
a3dc4190
|
2015-12-06T18:11:54
|
|
Merge pull request #3526 from sschuberth/cmake-number-compare
CMakeLists: Compare CMAKE_SIZEOF_VOID_P as a number, not as a string
|
|
8febe654
|
2015-12-06T18:11:37
|
|
Merge pull request #3529 from mgorny/fix-checkout-test-umask
checkout test: Apply umask to file-mode test as well
|
|
5d1f31c6
|
2015-12-03T17:42:52
|
|
Merge pull request #3530 from libgit2/cmn/parse-mode
tree: use a specialised mode parse function
|
|
2d36e145
|
2015-12-03T23:37:37
|
|
Merge pull request #3534 from ethomson/index_canonicalize_fix
index: canonicalize inserted paths safely
|
|
626f9e24
|
2015-12-03T16:27:15
|
|
index: canonicalize inserted paths safely
When adding to the index, we look to see if a portion of the given
path matches a portion of a path in the index. If so, we will use
the existing path information. For example, when adding `foo/bar.c`,
if there is an index entry to `FOO/other` and the filesystem is case
insensitive, then we will put `bar.c` into the existing tree instead
of creating a new one with a different case.
Use `strncmp` to do that instead of `memcmp`. When we `bsearch`
into the index, we locate the position where the new entry would
go. The index entry at that position does not necessarily have
a relation to the entry we're adding, so we cannot make assumptions
and use `memcmp`. Instead, compare them as strings.
When canonicalizing paths, we look for the first index entry that
matches a given substring.
|
|
0174f21b
|
2015-12-02T18:56:31
|
|
tree: use a specialised mode parse function
Instead of going out to strtol, which is made to parse generic numbers,
copy a parse function from git which is specialised for file modes.
|
|
0878ca9b
|
2015-10-07T10:31:07
|
|
CMakeLists: Compare CMAKE_SIZEOF_VOID_P as a number, not as a string
|
|
326c9fc2
|
2015-12-01T20:41:23
|
|
checkout test: Apply umask to file-mode test as well
Fix the file-mode test to expect system umask being applied to the
created file as well (it is currently applied to the directory only).
This fixes the test on systems where umask != 022.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
|
efd9ab56
|
2015-11-20T11:26:26
|
|
Treat GIT_PASSTHROUGH as though git_cred_acquire_cb isn't set.
|
|
15e6a5af
|
2015-12-01T08:45:55
|
|
Merge pull request #3527 from pks-t/pks/tree-entry-memleak
tree: mark cloned tree entries as un-pooled
|
|
9487585d
|
2015-12-01T14:19:29
|
|
tree: mark cloned tree entries as un-pooled
When duplicating a `struct git_tree_entry` with
`git_tree_entry_dup` the resulting structure is not allocated
inside a memory pool. As we do a 1:1 copy of the original struct,
though, we also copy the `pooled` field, which is set to `true`
for pooled entries. This results in a huge memory leak as we
never free tree entries that were duplicated from a pooled
tree entry.
Fix this by marking the newly duplicated entry as un-pooled.
|
|
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`.
|
|
944dbd12
|
2015-11-24T10:52:17
|
|
blame: use size_t for line counts in git_blame__entry
The `git_blame__entry` struct keeps track of line counts with
`int` fields. Since `int` is only guaranteed to be at least 16
bits we may overflow on certain platforms when line counts exceed
2^15.
Fix this by instead storing line counts in `size_t`.
|
|
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.
|
|
337b2b08
|
2015-11-30T20:53:54
|
|
Merge pull request #3508 from libgit2/cmn/tree-parse-speed
Improvements to tree parsing speed
|