|
83862c83
|
2020-02-17T21:28:13
|
|
commit-graph: Add a way to write commit-graph files
This change adds the git_commit_graph_writer_* functions to allow to
write and create `commit-graph` files from `.idx`/`.pack` files or
`git_revwalk`s.
Part of: #5757
|
|
f08cae10
|
2021-07-27T18:59:15
|
|
Merge pull request #5767 from lhchavez/cgraph-reachable-from-any
|
|
8d453f16
|
2021-07-27T13:00:31
|
|
Swap the order of the `git_graph_reachable_from_any` params
len, array -> array, len
|
|
ce5400cd
|
2021-01-06T06:26:09
|
|
graph: Create `git_graph_reachable_from_any()`
This change introduces a new API function
`git_graph_reachable_from_any()`, that answers the question whether a
commit is reachable from any of the provided commits through following
parent edges.
This function can take advantage of optimizations provided by the
existence of a `commit-graph` file, since it makes it faster to know
whether, given two commits X and Y, X cannot possibly be an reachable
from Y.
Part of: #5757
|
|
08c79128
|
2021-07-27T10:18:52
|
|
Merge pull request #5766 from lhchavez/cgraph-generation-cmp
commit-graph: Introduce `git_commit_list_generation_cmp`
|
|
6f544140
|
2021-01-05T19:45:23
|
|
commit-graph: Introduce `git_commit_list_generation_cmp`
This change makes calculations of merge-bases a bit faster when there
are complex graphs and the commit times cause visiting nodes multiple
times. This is done by visiting the nodes in the graph in reverse
generation order when the generation number is available instead of
commit timestamp. If the generation number is missing in any pair of
commits, it can safely fall back to the old heuristic with no negative
side-effects.
Part of: #5757
|
|
2370e491
|
2021-07-26T16:27:54
|
|
Merge pull request #5765 from lhchavez/cgraph-revwalks
commit-graph: Use the commit-graph in revwalks
|
|
43b5075d
|
2021-07-22T17:07:56
|
|
Merge pull request #5890 from lolgear/git_submodule_dup
[Submodule] Git submodule dup
|
|
c87e4760
|
2021-07-22T16:51:11
|
|
Merge branch 'pr/5948' into main
|
|
fe40de40
|
2021-07-22T16:50:26
|
|
trace: drop unnecessary write indirection
|
|
5c5c19a6
|
2021-07-20T08:51:57
|
|
Merge pull request #5951 from libgit2/ethomson/strict_alloc
Optional stricter allocation checking (for `malloc(0)` cases)
|
|
b0980dcf
|
2021-07-20T08:25:59
|
|
Update src/allocators/stdalloc.c
Co-authored-by: lhchavez <lhchavez@lhchavez.com>
|
|
688bf4ce
|
2021-07-19T19:25:58
|
|
Remove macro magic
|
|
c69852d6
|
2021-07-19T16:03:36
|
|
ci: enable strict allocation checking on one node
|
|
31e84edb
|
2021-07-19T16:02:30
|
|
merge: don't try to malloc(0)
|
|
419ffdde
|
2021-07-19T15:51:53
|
|
packbuilder: don't try to malloc(0)
|
|
48e6b02b
|
2021-07-19T15:41:44
|
|
alloc: add GIT_DEBUG_STRICT_ALLOC
Add `GIT_DEBUG_STRICT_ALLOC` to help identify problematic callers of
allocation code that pass a `0` size to the allocators and then expect a
non-`NULL` return.
When given a 0-size allocation, `malloc` _may_ return either a `NULL`
_or_ a pointer that is not writeable. Most systems return a non-`NULL`
pointer; AIX is an outlier. We should be able to cope with this AIXy
behavior, so this adds an option to emulate it.
|
|
950a7f76
|
2021-07-17T16:21:05
|
|
Variadic arguments aren't in C89
This refactors this to a wrapper function, as well as changing the
existing API have a va_list and ... version.
|
|
6a7f0403
|
2021-07-16T08:47:37
|
|
Merge pull request #5941 from NattyNarwhal/stdintification
stdintification: use int64_t and INT64_C instead of long long
|
|
d6bea53d
|
2021-07-16T08:47:28
|
|
Update tests/graph/commit_graph.c
|
|
36e80306
|
2021-07-16T08:41:18
|
|
Merge pull request #5945 from boretrk/resynctimer
git__timer: Allow compilation on systems without CLOCK_MONOTONIC
|
|
589654d8
|
2021-07-15T20:34:14
|
|
khash 64-bit type is unsigned, use int32_t too
For 32-bit int: There's no real reason for that ifdef if we explicitly
specify the stdint.h type.
For 64-bit int: ope, I made it signed accidentally
|
|
e4e173e8
|
2021-07-15T21:00:02
|
|
Allow compilation on systems without CLOCK_MONOTONIC
Makes usage of CLOCK_MONOTONIC conditional and makes functions that uses
git__timer handle clock resynchronization.
Call gettimeofday with tzp set to NULL as required by
https://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html
|
|
f15a6792
|
2021-07-14T09:33:09
|
|
Merge pull request #5913 from lhchavez/python3
Make `FIND_PACKAGE(PythonInterp)` prefer `python3`
|
|
84ce9746
|
2021-07-14T08:39:24
|
|
Merge pull request #5824 from palmin/fix-ignore-negate
fix check for ignoring of negate rules
|
|
e5649e10
|
2021-07-14T08:30:16
|
|
Merge pull request #5938 from NattyNarwhal/time-type-mismatch
Fix wrong time_t used in function
|
|
97cd165e
|
2021-07-14T08:30:00
|
|
Merge pull request #5926 from Batchyx/batchyx/config-refresh-twice
config: fix included configs not refreshed more than once
|
|
b7dce05c
|
2021-06-16T06:38:41
|
|
Make `FIND_PACKAGE(PythonInterp)` prefer `python3`
This change makes it possible to prefer a python (version 3) interpreter
on systems where python2 and python3 coexist (where python2 is found as
`/usr/bin/python`).
|
|
95a2966f
|
2021-07-13T17:32:02
|
|
Merge pull request #5908 from punkymaniac/patch-mem-leak
Fix memory leak in git_smart__connect
|
|
6be9e80e
|
2021-07-13T15:50:45
|
|
Merge pull request #5936 from boretrk/amigatimer
git__timer: Limit ITimer usage to AmigaOS4
|
|
fcfaea4d
|
2021-07-07T23:29:28
|
|
Remove sus unsigned long constant
|
|
3f28eafe
|
2021-07-07T19:35:42
|
|
stdint constants in test suite
Passes w/ gcc 11 on Fedora x64.
Protip: So you don;t have to suffer,
```
perl -pe 's/(-?(?:0x)?[A-Fa-f0-9]+)([Uu])?[Ll][Ll]/\U$2INT64_C(\E$1)/mg'
```
|
|
52505ab5
|
2021-07-07T19:12:02
|
|
Convert long long constant specifiers to stdint macros
|
|
c1aca3fe
|
2021-07-06T23:25:13
|
|
Initial pass at using int64_t instead of long long
Even on systems without C99 where long long and stdint are both
missing, we can shim stdint and point it to any compiler-specific
type (i.e long long, _int64, etc.).
Also next is constant suffixes and determining what needs to
include stdint.
|
|
be67f512
|
2021-07-06T22:27:14
|
|
Fix wrong time_t used in function
This function doesn't interoperate with any system functions that
use the system time_t, but rather only works with the git_time_t
type in libgit2, which could be a different width than the system
one. Fixes a compile warning.
|
|
b444918a
|
2021-07-06T20:51:14
|
|
Limit ITimer usage to AmigaOS4
|
|
6c78fd06
|
2021-07-02T18:30:07
|
|
Merge pull request #5915 from novalis/executable
Consider files executable only if the user can execute them
|
|
992f65f7
|
2021-07-02T18:27:59
|
|
Merge pull request #5916 from boretrk/doc
Update from regex to pcre licensing information in docs/contributing.md
|
|
ed4a12ae
|
2021-07-02T18:27:14
|
|
Merge pull request #5917 from tiennou/fix/docurium-issues
docs: fix some missing includes that cause Docurium to error out
|
|
e1674766
|
2021-06-29T12:26:04
|
|
Merge pull request #5929 from jacquesg/winhttp
Define WINHTTP_NO_CLIENT_CERT_CONTEXT if needed
|
|
a2cd10e5
|
2021-06-26T18:52:21
|
|
define WINHTTP_NO_CLIENT_CERT_CONTEXT if needed
|
|
416ea5b4
|
2021-06-25T14:58:06
|
|
README: libera.chat not Freenode
|
|
e2d2a03e
|
2021-06-25T14:49:46
|
|
Merge pull request #5925 from Batchyx/batchyx/master-to-main-doc
docs: stop mentioning libgit2's "master" branch
|
|
9eeee00f
|
2021-06-25T14:49:33
|
|
Update docs/release.md
Co-authored-by: lhchavez <lhchavez@lhchavez.com>
|
|
4bf136b0
|
2021-06-23T16:53:53
|
|
config: fix included configs not refreshed more than once
If an included config is refreshed twice, the second update is not taken
into account.
This is because the list of included files is cleared after re-reading
the new configuration, instead of being cleared before.
Fix it and add a test case to check for this bug.
|
|
a2cd66be
|
2021-06-23T16:57:48
|
|
docs: stop mentioning libgit2's "master" branch
The name of libgit2's main branch is now "main" but contributing.md and
release.md still reference "master" as the main branch. Fix it.
|
|
045031bb
|
2021-06-17T19:56:00
|
|
Update from regex to pcre licensing information
|
|
b0fd4cf8
|
2021-06-16T13:38:45
|
|
Consider files executable only if the user can execute them
This is what git.git does, so we should follow suit.
|
|
bea1b024
|
2021-06-16T10:32:46
|
|
Add test for fetch proxy memleak
|
|
54a52452
|
2021-06-15T17:33:29
|
|
tests: submodule git lookup can be dupped test comments have been changed.
|
|
428f1acf
|
2021-06-15T17:33:03
|
|
submodule: git submodule dup out and source parameters have become mandatory.
|
|
0d0150d8
|
2021-06-15T07:42:20
|
|
Merge pull request #5910 from arxanas/patch-1
|
|
1bdd937d
|
2021-06-14T17:25:35
|
|
Update index.h
|
|
6d2a6f3e
|
2021-06-15T00:22:30
|
|
Apply suggestions from code review
|
|
6efcfdb8
|
2021-06-15T00:15:27
|
|
Merge pull request #5900 from dtolnay-contrib/lstat
Tolerate readlink size less than st_size
|
|
9ecbff12
|
2021-06-15T00:11:25
|
|
Merge pull request #5903 from punkymaniac/patch-documentation
Patch documentation
|
|
b34aaf6c
|
2021-06-14T14:39:20
|
|
test that specific lines can negate broader ignore lines
|
|
0b3f6da4
|
2021-06-13T16:42:00
|
|
Fix misleading doc for `git_index_find`
In https://github.com/libgit2/libgit2/pull/5723/files/fc46dc06f52f854f74371682f911f13856c68edb#r540092847, I was confused by the semantics of `git_index_find`. The documentation says both that it returns the output value in `at_pos` and that it returns it directly as an `int`. This is incorrect; the return value is only returned via `at_pos`.
|
|
8cad7e62
|
2021-06-13T08:21:05
|
|
Update src/ignore.c
Co-authored-by: lhchavez <lhchavez@lhchavez.com>
|
|
9410f2b5
|
2021-06-13T08:20:59
|
|
Update src/ignore.c
Co-authored-by: lhchavez <lhchavez@lhchavez.com>
|
|
d07a0dc1
|
2021-06-04T16:34:32
|
|
Remove useless condition
|
|
2934b447
|
2021-06-03T11:21:39
|
|
Fix memory leak in git_smart__connect
The call to git_proxy_options_dup will replace the url pointer of the
proxy.
But if the url pointer is already set, the old address will be lost
forever and will never be free.
|
|
11452ca1
|
2021-06-03T11:14:58
|
|
tests: submodule git lookup can be dupped test has been added.
|
|
a2fa9a57
|
2021-06-02T14:49:33
|
|
Add some missing documentation about return value
|
|
eeacd234
|
2021-06-02T14:47:24
|
|
Fix struct indentation
|
|
8b79a3f9
|
2021-06-02T14:46:12
|
|
Remove bad space in documentation
|
|
75defb75
|
2021-05-18T10:51:20
|
|
Add documentation about GIT_OPT_GET_USER_AGENT
|
|
ca2ff5ab
|
2021-06-01T17:52:57
|
|
submodule: git submodule dup documentation has been fixed.
|
|
868f4bcb
|
2021-05-31T21:06:37
|
|
Merge pull request #5897 from tiennou/fix/coding-style-comment
|
|
cf9196bd
|
2021-05-30T10:42:25
|
|
Tolerate readlink size less than st_size
|
|
3e178547
|
2021-05-27T16:26:38
|
|
docs: fix some missing includes that cause Docurium to error out
|
|
a25cba2c
|
2021-05-27T10:01:55
|
|
docs: fix incorrect comment marker
|
|
bf1616d1
|
2021-05-26T15:32:05
|
|
submodule: git submodule dup implementation has been reverted. Assert has been added.
|
|
11aa20b0
|
2021-05-26T14:06:31
|
|
submodule: git submodule dup object dup has been added.
|
|
d6f57b9c
|
2021-05-19T18:50:29
|
|
submodule: git submodule dup guard statement has been fixed.
|
|
1ee3c37f
|
2021-05-19T09:31:30
|
|
Merge branch 'pr/5853'
|
|
319ff349
|
2021-05-18T20:49:40
|
|
Merge pull request #5892 from libgit2/ethomson/memleak
tests: clean up memory leak, fail on leak for win32
|
|
6b1f6e00
|
2021-05-18T12:21:15
|
|
diff: test ignore-blank-lines
|
|
1b1e541d
|
2021-05-18T11:52:51
|
|
tests: clean up refs::races zero oid test
|
|
a6fb72a8
|
2021-05-18T11:51:25
|
|
tests: exit with error on win32 leakcheck
|
|
49f9941d
|
2021-05-16T23:54:25
|
|
submodule: git submodule dup has been added.
|
|
b5dcdad3
|
2021-05-16T12:53:58
|
|
Merge pull request #5852 from implausible/httpclient/skip-entire-body
Fix issues with Proxy Authentication after httpclient refactor
|
|
3532c5f4
|
2021-05-16T11:29:47
|
|
Merge pull request #5850 from punkymaniac/comment-format
Fix documentation formatting
|
|
9ccb900d
|
2021-05-16T11:14:44
|
|
Merge pull request #5831 from todaysoftware/bindings/libgit2-delphi
Update README.md for additional Delphi bindings
|
|
58944388
|
2021-05-16T11:11:56
|
|
Merge branch 'zero_oid_in_old'
Manually merging #5842
|
|
cf323cb9
|
2021-05-16T11:09:44
|
|
refs: test git_reference_create_matching failure for zero oid
|
|
be95f684
|
2021-05-13T19:03:00
|
|
Merge pull request #5839 from staktrace/find_similar
|
|
2d24690c
|
2021-04-15T07:48:43
|
|
Add testcase
|
|
4c462bb6
|
2021-04-13T13:20:34
|
|
diff: Fix bug in git_diff_find_similar.
When a split src gets turned into a rename, it should
also lose the IS_RENAME_TARGET flag, so that it doesn't
get processed in a subsequent iteration as a rename target.
Doing so can cause an assertion failure because it no
longer has the SPLIT flag.
Fixes #5811.
|
|
3473a088
|
2021-05-12T11:48:23
|
|
httpclient: no proxy creds in requests if proxy is CONNECT type
|
|
049618ce
|
2021-04-30T15:11:54
|
|
httpclient: git_http_client_skip_body should drain socket of body
|
|
ff78aea6
|
2021-05-11T11:09:31
|
|
Merge pull request #5860 from libgit2/ethomson/buf_text
buf: remove unnecessary buf_text namespace
|
|
05548e66
|
2021-05-11T11:09:23
|
|
Merge pull request #5859 from libgit2/ethomson/filter_buf
filter: stop taking git_buf as user input
|
|
14f6950b
|
2021-05-10T23:14:17
|
|
buf: bom enum is in the buf namespace
Instead of a `git_bom_t` that a `git_buf` function returns, let's keep
it `git_buf_bom_t`.
|
|
d525e063
|
2021-05-10T23:04:59
|
|
buf: remove internal `git_buf_text` namespace
The `git_buf_text` namespace is unnecessary and strange. Remove it,
just keep the functions prefixed with `git_buf`.
|
|
31d9c24b
|
2021-05-06T16:32:14
|
|
filter: internal git_buf filter handling function
Introduce `git_filter_list__convert_buf` which behaves like the old
implementation of `git_filter_list__apply_data`, where it might move the
input data buffer over into the output data buffer space for efficiency.
This new implementation will do so in a more predictible way, always
freeing the given input buffer (either moving it to the output buffer or
filtering it into the output buffer first).
Convert internal users to it.
|
|
68b9605a
|
2021-05-06T15:37:31
|
|
filter: deprecate git_filter_list_apply_to_data
Deprecate `git_filter_list_apply_to_data` as it takes user input as a
`git_buf`. Users should use `git_filter_list_apply_to_buffer` instead.
|
|
5309b465
|
2021-05-06T15:24:30
|
|
filter: introduce git_filter_list_apply_to_buffer
Provide a filter application mechanism that takes a user-provided string
and length, instead of a `git_buf`.
|
|
26846f4c
|
2021-05-06T15:19:58
|
|
filter: remove git_buf sharing in `git_filter_list_apply_to_data`
The API `git_filter_list_apply_to_data` shares data between its out and
in parameters to avoid unnecessarily copying it when there are no
filters to apply. However, it does so in a manner that is potentially
confusing, leaving both `git_buf`s populated with data. This is risky
for end-users who have to know how to deal with this. Instead, we
remove this optimization - users who want to avoid unnecessary copies
can use the longstanding streaming API or check the filter status before
invoking the filters.
|
|
9869f1e5
|
2021-05-06T02:19:49
|
|
filter: deprecate git_filter_list_stream_data
`git_filter_list_stream_data` takes user input in a `git_buf`.
`git_buf` should only be used when libgit2 itself needs to allocate data
and returned to a user that they can free when they wish. Replace it
with `git_filter_list_stream_buffer` that takes a data buffer and
length.
|