|
d2316d57
|
2021-08-29T13:10:44
|
|
buf: deprecate public git_buf writing functions
A `git_buf` is now a read-only structure as far as callers are
concerned. This is a mechanism that we can return data to callers
using memory that is owned by the library and can be cleaned up by
callers (using `git_buf_dispose`).
A `git_buf` can no longer be allocated by callers or provided to the
library.
|
|
45489a11
|
2021-08-27T08:29:27
|
|
Merge pull request #6008 from boretrk/array
git_array_alloc: return objects of correct type
|
|
34e685c0
|
2021-08-27T08:28:01
|
|
Merge pull request #5747 from lhchavez/atomic-tests
Homogenize semantics for atomic-related functions
|
|
3f8bf8be
|
2021-08-26T17:29:37
|
|
Merge pull request #6010 from A-Ovchinnikov-mx/a-ovchin/remote-head-branch-clone
Set refs/remotes/origin/HEAD to default branch when branch is specified
|
|
74708a81
|
2020-12-20T12:45:01
|
|
Homogenize semantics for atomic-related functions
There were some subtle semantic differences between the various
implementations of atomic functions. Now they behave the same, have
tests and are better documented to avoid this from happening again in
the future.
Of note:
* The semantics chosen for `git_atomic_compare_and_swap` match
`InterlockedCompareExchangePointer`/`__sync_cal_compare_and_swap` now.
* The semantics chosen for `git_atomic_add` match
`InterlockedAdd`/`__atomic_add_fetch`.
* `git_atomic_swap` and `git_atomic_load` still have a bit of semantic
difference with the gcc builtins / msvc interlocked operations, since
they require an l-value (not a pointer). If desired, this can be
homogenized.
|
|
8643b524
|
2021-02-08T00:40:50
|
|
Revert "Merge pull request #5775 from libgit2/ethomson/clone_branch"
This reverts commit 487f2a8287c4d1d41d39e05ac53d0e50c679d7e9, reversing
changes made to c6cf7f0e6927f1b264a7dda2467d70b9f744a01f.
|
|
cb078d51
|
2021-08-05T14:02:54
|
|
Check if default branch matches refspec
|
|
6bb35878
|
2021-02-08T00:49:21
|
|
clone: set refs/remotes/origin/HEAD to default branch when branch is specified, attempt 2
|
|
f062eb62
|
2021-08-25T22:12:57
|
|
git_array_alloc: return objects of correct type
|
|
fabacb7c
|
2021-08-25T15:24:35
|
|
Merge pull request #6007 from boretrk/array
array: check dereference from void * type
|
|
c7a195a1
|
2021-08-25T14:11:03
|
|
Merge pull request #6006 from boretrk/c11-warnings
GCC C11 warnings
|
|
7f1dd703
|
2021-08-25T20:08:58
|
|
array: fix dereference from void * type
|
|
bcc0d750
|
2021-08-25T18:58:39
|
|
array: make gcc keep the type of the NULL return value
|
|
4bbe5e6e
|
2021-08-25T18:14:10
|
|
win32: name the dummy union in GIT_REPARSE_DATA_BUFFER
Instead of buf->"typeofbuffer"ReparseBuffer the members will be
referenced with buf->ReparseBuffer."typeofbuffer"
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/ns-ntifs-_reparse_data_buffer?redirectedfrom=MSDN
calls the union DUMMYUNIONNAME but that looks a bit cluttered.
|
|
efc4e7e5
|
2021-08-25T12:30:06
|
|
Merge pull request #5802 from lhchavez/git-warn-unused-result
Introduce GIT_WARN_UNUSED_RESULT
|
|
0850b172
|
2021-08-25T12:20:50
|
|
Merge pull request #5950 from boretrk/posixtest
open: input validation for empty segments in path
|
|
b0189582
|
2021-08-25T18:07:01
|
|
enable gcc warnings for C11 specific extensions
|
|
cc4f8bc6
|
2021-08-25T09:11:25
|
|
Merge pull request #6005 from boretrk/c11-warnings
C11 warnings
|
|
40f3702c
|
2021-08-25T11:36:06
|
|
c90/c99: name the unnamed union in git_hash_ctx
|
|
51d69dda
|
2021-08-25T11:34:59
|
|
enable warnings for C11 specific extensions
|
|
c8f4b569
|
2021-08-24T18:28:28
|
|
Merge pull request #5974 from libgit2/ethomson/dlopen_ssl
Dynamically load OpenSSL (optionally)
|
|
314469f9
|
2021-08-24T16:23:09
|
|
ci: run dynamically loaded openssl workflows nightly
Add Xenial, Bionic, CentOS 7 and 8 workflows with OpenSSL-Dynamic builds
nightly.
|
|
9fce506c
|
2021-08-24T15:53:10
|
|
openssl: lazily load libraries when dynamically loading
Defer dlopen until it's needed when dynamically loading OpenSSL
libraries.
|
|
aad497cb
|
2021-08-24T14:08:43
|
|
openssl: dynamically load on macOS
|
|
e265eb2f
|
2021-08-24T13:58:24
|
|
tests: show errors when libgit2_init fails
|
|
5158b0b7
|
2021-08-24T11:56:22
|
|
ntlmclient: update to ntlmclient 0.9.1
The ntlmclient dependency can now dynamically load OpenSSL.
|
|
c9b80c25
|
2021-08-21T15:28:45
|
|
valgrind: suppress leaks in dlopen and newer libraries
dlopen sets up some thread-local state that isn't cleaned up by
`dlclose`. Additionally, now that we're linking against different
versions of libssh2 and OpenSSL, we're seeing different leak signatures.
|
|
0903cac1
|
2021-08-11T01:30:38
|
|
openssl: dynamically load libssl and symbols (optionally)
Provide an interface around OpenSSL to dynamically load the libraries
and symbols, so that users can distribute a libgit2 library that is not
linked directly against OpenSSL. This enables users to target multiple
distributions with a single binary.
This mechanism is optional and disabled by default. Configure cmake
with -DUSE_HTTPS=OpenSSL-Dynamic to use it.
|
|
150eddd9
|
2021-08-10T21:41:05
|
|
openssl: separate legacy api
Refactor the OpenSSL stream implementation so that the legacy code is better
abstracted. This will enable future development.
|
|
a09d4367
|
2021-08-23T15:27:42
|
|
Merge pull request #6000 from libgit2/ethomson/ci
ci: tag new containers with the latest tag
|
|
3b603d31
|
2021-08-23T15:00:39
|
|
ci: tag new containers with the latest tag
|
|
dbcb1cd7
|
2021-08-23T15:02:49
|
|
ci: update container versions
Update all the container versions to force a rebuild so that they'll get
tagged with latest (due to changes in the CI scripts).
|
|
76c503c3
|
2021-08-21T08:46:17
|
|
Merge pull request #5995 from libgit2/ethomson/centos_ci
ci: update centos builds
|
|
9806f5ac
|
2021-08-21T08:27:59
|
|
Merge pull request #5999 from libgit2/ethomson/openssl_valgrind
openssl: don't fail when we can't customize allocators
|
|
ecdb41f9
|
2021-08-17T08:19:10
|
|
ci: update centos to find libssh2
|
|
1903cfef
|
2021-08-19T16:49:41
|
|
openssl: don't fail when we can't customize allocators
During valgrind runs, we try to swap out the OpenSSL allocators for our
own. This allows us to avoid some unnecessary warnings about usage.
Unfortunately, many builds of OpenSSL do not allow you to swap
allocators; for example FIPS builds and the builds running in CentOS.
Try to swap the allocators, but do not fail when they cannot be
customized.
|
|
3f02b5b9
|
2021-08-18T16:33:31
|
|
Merge pull request #5997 from boretrk/sha1_endian
sha1dc: remove conditional for <sys/types.h>
|
|
727d903a
|
2021-08-18T21:01:36
|
|
sha1dc: remove conditional for <sys/types.h>
|
|
a7b2195a
|
2021-08-17T07:04:34
|
|
Merge pull request #5994 from jairbubbles/fix-libgit2-filename-not-being-passed-to-the-reso
|
|
2dbe413e
|
2021-08-17T11:34:11
|
|
Fix LIBGIT2_FILENAME not being passed to the resource compiler
|
|
a42577db
|
2021-08-16T14:09:17
|
|
ci: update centos builds
|
|
d4416624
|
2021-08-16T13:49:38
|
|
ci: update centos builds
|
|
5ad53ec7
|
2021-08-15T23:19:54
|
|
ci: update centos builds
|
|
1ebdb6f2
|
2021-08-15T22:53:19
|
|
ci: update centos7 and centos8 build
|
|
8ea666b2
|
2021-08-15T18:00:22
|
|
ci: run centos7 and centos8 builds nightly
|
|
f25ca0e3
|
2021-08-15T17:53:44
|
|
Merge pull request #5992 from libgit2/ethomson/centos_ci
ci: add centos 7 and centos 8
|
|
62471777
|
2021-08-15T17:18:04
|
|
ci: run centos7 and centos8 builds nightly
|
|
e6c9fcf0
|
2021-08-09T08:42:06
|
|
ci: add centos7 and centos8 docker definitions
|
|
4ae6107b
|
2021-08-14T22:11:49
|
|
Merge pull request #5989 from libgit2/ethomson/ci_nightly
ci: update nightly to use source path
|
|
c1c59843
|
2021-08-14T11:15:51
|
|
Merge pull request #5972 from libgit2/ethomson/http_empty_password
http: don't require a password
|
|
f01cddb1
|
2021-08-14T10:06:12
|
|
ci: update nightly to use source path
|
|
631ae5a6
|
2021-08-10T13:34:20
|
|
ci: final docs update
|
|
fd54db0e
|
2021-08-10T13:13:10
|
|
ci: build docs in source directory for consistency
All the other workflows jobs check out into the `source` directory; do this in the documentation build job as well, for consistency across jobs.
|
|
0e38f2b3
|
2021-08-10T11:28:17
|
|
ci: update path during documentation generation
|
|
587494d0
|
2021-08-10T10:44:17
|
|
ci: update paths during docker build
|
|
5fd44239
|
2021-08-10T10:06:43
|
|
Merge pull request #5854 from alexjg/respect-force-flag-in-remote-fetch
Respect the force flag on refspecs in git_remote_fetch
|
|
9c64acdd
|
2021-08-09T15:16:42
|
|
Merge pull request #5980 from libgit2/ethomson/dockerfile
docker: remove the entrypoint
|
|
962d78d3
|
2021-08-09T15:12:10
|
|
Merge pull request #5978 from boretrk/amiga
amiga: use ';' as path list separator on AmigaOS
|
|
b140e22e
|
2021-08-08T11:07:43
|
|
ci: remove the docker entrypoint
Omitting an entrypoint.sh to configure the container and instead
depending on docker primitives allows us to be more portable. (If a
distribution uses a different mechanism for adding users, we need not
have multiple entrypoint.sh files or invariants within it; instead we
can configure that in the dockerfile itself along with all the other
distribution specific components.)
|
|
7488705d
|
2021-03-04T06:19:49
|
|
Add guidelines for the GIT_WARN_UNUSED_RESULT annotation
|
|
4bb1568f
|
2021-03-04T06:14:36
|
|
Be a little bit less aggressive GIT_WARN_UNUSED_RESULT
Now we're limiting ourselves to only functions that allocate or acquire
locks.
|
|
231ca4fa
|
2021-02-23T19:33:34
|
|
Proof-of-concept for a more aggressive GIT_UNUSED()
This adds a `-Wunused-result`-proof `GIT_UNUSED()`, just to demonstrate
that it works. With this, sortedcache.h is now completely
`GIT_WARN_UNUSED_RESULT`-annotated!
|
|
9eb17d46
|
2021-02-16T19:38:34
|
|
Introduce GIT_WARN_UNUSED_RESULT
This change adds the GIT_WARN_UNUSED_RESULT annotation, which makes the
compiler warn when a return result is not used. This avoids bugs.
|
|
991ccdc5
|
2021-08-01T06:19:15
|
|
formatting
|
|
b060080e
|
2021-07-30T06:53:49
|
|
Get Win32 builds to build
Previously, the location of `GIT_WARN_UNUSED_RESULT` was causing it to
be included _after_ a bunch of other headers (namely `src/vector.h`),
which broke the build.
This change does two things:
* Moves the `GIT_WARN_UNUSED_RESULT` above most of the `$include`s in
`src/common.h`.
* Stops including `vector.h` from `src/win32/path_w32.c` since the
header itself does not use it.
|
|
4e8376a9
|
2021-07-30T06:34:15
|
|
Move GIT_WARN_UNUSED_RESULT from the public to the private API
|
|
c4cbab32
|
2021-07-30T06:33:56
|
|
Handle one more unused variable introduced since the PR started
|
|
2c2cb3f3
|
2021-08-08T14:35:07
|
|
amiga: use ';' as path list separator on AmigaOS
Like on Windows ':' is used for volume names in absolute paths.
|
|
4584660e
|
2021-08-08T12:13:16
|
|
bugfix: don't generate paths with empty segments
|
|
d095502e
|
2021-08-08T13:34:06
|
|
tests: don't generate false positives on empty path segments
|
|
e96fc028
|
2021-08-08T13:22:53
|
|
tests: optional test for p_open() with empty path segments
|
|
28841241
|
2021-08-05T08:12:28
|
|
http: don't require a password
Attempt authentication when a username is presented but a password is
not; this can happen in particular when users are doing token
authentication and specifying the token in the URL itself. For example,
`https://token@host/` is a valid URI and should be treated as a username
of `token` with an empty password.
|
|
a5696702
|
2021-07-08T11:58:28
|
|
skip descendant check if remote ref not found
|
|
e65229ee
|
2021-07-31T09:45:30
|
|
Merge pull request #5962 from libgit2/ethomson/futimens
|
|
f6b3f726
|
2021-07-30T12:40:36
|
|
README: link to more information about cmake
|
|
3062a633
|
2021-07-30T12:03:35
|
|
cmake: extended futimens checking on macOS
|
|
c73ee740
|
2021-07-30T12:02:00
|
|
Merge pull request #5961 from libgit2/ethomson/odb_tests_priority
tests: reset odb backend priority
|
|
e5975f36
|
2021-07-30T11:37:12
|
|
tests: reset odb backend priority
|
|
e87bcb3d
|
2021-07-30T10:32:02
|
|
Merge branch 'pr/5491'
|
|
0c34767e
|
2021-07-30T10:31:16
|
|
Merge pull request #5957 from lhchavez/fix-master-build
Fix one memory leak in master
|
|
cd460522
|
2020-04-20T22:16:52
|
|
odb: Implement option for overriding of default odb backend priority
Introduce GIT_OPT_SET_ODB_LOOSE_PRIORITY and GIT_OPT_SET_ODB_PACKED_PRIORITY
to allow overriding the default priority values for the default ODB
backends. Libgit2 has historically assumed that most objects for long-
running operations will be packed, therefore GIT_LOOSE_PRIORITY is
set to 1 by default, and GIT_PACKED_PRIORITY to 2.
When a client allows libgit2 to set the default backends, they can
specify an override for the two priority values in order to change
the order in which each ODB backend is accessed.
|
|
d15b6132
|
2021-07-30T07:18:57
|
|
Fix one memory leak in master
There was one test that wasn't correctly disposing of the repository.
|
|
cc68c19a
|
2021-07-30T08:56:51
|
|
Merge branch 'pr/5861'
|
|
f2915ec4
|
2021-07-30T08:56:34
|
|
tests: reformat upstream merge
|
|
47dd9f47
|
2021-07-30T08:52:37
|
|
Merge branch 'pr/5940'
|
|
346f15ba
|
2021-07-30T08:51:43
|
|
status: document `GIT_STATUS_OPT_INCLUDE_UNREADABLE`
Document `GIT_STATUS_OPT_INCLUDE_UNREADABLE`, and some minor cleanups.
|
|
708d9336
|
2021-07-30T08:34:28
|
|
Merge pull request #5953 from boretrk/c99-inline
common.h: use inline when compiling for C99 and later
|
|
003a1df6
|
2021-07-29T08:48:17
|
|
Merge pull request #5952 from libgit2/ethomson/attrs_from_commit
Support reading attributes from a specific commit
|
|
f313b383
|
2021-07-28T08:14:08
|
|
Merge pull request #5954 from Crayon2000/patch-1
|
|
59af78a4
|
2021-07-28T01:58:32
|
|
Fix typo in general.c
|
|
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
|
|
88a3b8e1
|
2021-07-26T23:12:12
|
|
common.h: use inline when compiling for c99 and later
|
|
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
|