|
534cc5a3
|
2016-02-09T16:10:43
|
|
Merge pull request #3603 from pks-t/pks/coverity-fixes
Coverity fixes
|
|
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
|
|
8a0133c0
|
2016-01-05T19:07:27
|
|
Add winhttp dependencies to pc file.
|
|
768e185c
|
2016-01-05T21:55:11
|
|
Wrap path in quotes to support paths containing whitespace.
|
|
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
|
|
a589f22a
|
2015-11-30T20:41:54
|
|
Merge pull request #3525 from pks-t/pks/fix-nested-struct-warning
Compiler warning fixes
|
|
bbd2fa4e
|
2015-11-30T18:05:27
|
|
object: remove unused constant OBJECT_BASE_SIZE
|
|
a7bd157e
|
2015-11-30T17:40:49
|
|
tests: fix warning for nested struct initialization
|
|
95ae3520
|
2015-11-30T17:32:18
|
|
tree: ensure the entry filename fits in 16 bits
Return an error in case the length is too big. Also take this
opportunity to have a single allocating function for the size and
overflow logic.
|
|
a27f31d8
|
2015-11-30T04:49:31
|
|
Merge pull request #3513 from ethomson/merge_recursive
Recursive Merge
|
|
ee42bb0e
|
2015-11-28T19:18:29
|
|
tree: make path len uint16_t and avoid holes
This reduces the size of the struct from 32 to 26 bytes, and leaves a
single padding byte at the end of the struct (which comes from the
zero-length array).
|
|
2580077f
|
2015-11-15T00:44:02
|
|
tree: calculate the filename length once
We already know the size due to the `memchr()` so use that information
instead of calling `strlen()` on it.
|
|
ed970748
|
2015-11-14T23:50:06
|
|
tree: pool the entry memory allocations
These are rather small allocations, so we end up spending a non-trivial
amount of time asking the OS for memory. Since these entries are tied to
the lifetime of their tree, we can give the tree a pool so we speed up
the allocations.
|
|
7132150d
|
2015-11-14T23:46:21
|
|
tree: avoid advancing over the filename multiple times
We've already looked at the filename with `memchr()` and then used
`strlen()` to allocate the entry. We already know how much we have to
advance to get to the object id, so add the filename length instead of
looking at each byte again.
|
|
5b9c63c3
|
2015-11-20T19:01:42
|
|
recursive merge: add a recursion limit
|
|
78859c63
|
2015-11-20T17:33:49
|
|
merge: handle conflicts in recursive base building
When building a recursive merge base, allow conflicts to occur.
Use the file (with conflict markers) as the common ancestor.
The user has already seen and dealt with this conflict by virtue
of having a criss-cross merge. If they resolved this conflict
identically in both branches, then there will be no conflict in the
result. This is the best case scenario.
If they did not resolve the conflict identically in the two branches,
then we will generate a new conflict. If the user is simply using
standard conflict output then the results will be fairly sensible.
But if the user is using a mergetool or using diff3 output, then the
common ancestor will be a conflict file (itself with diff3 output,
haha!). This is quite terrible, but it matches git's behavior.
|
|
34a51428
|
2015-11-09T11:55:26
|
|
merge tests: add complex recursive example
|