| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
| |
Ensure that we maintain the `core.repositoryFormatVersion` value instead
of always overwriting it with the default.
|
| |
|
|
|
| |
Provide an internal function to set the repository's `objectformat`,
both in the internal object and in the configuration.
|
| |
|
|
|
|
| |
Teach the repository about the `objectformat` extension, supporting
`sha1` always and `sha256` when the experimental sha256 support is
active.
|
| | |
|
| |\
| |
| | |
Fixes #6433: git_submodule_update fails to update configured but missing submodule
|
| | |
| |
| |
| |
| | |
If a submodule has been configured but not yet added, do not try to update it.
Issue #6433: git_submodule_update fails to update configured but missing submodule
|
| |/
|
|
|
| |
Verify that trying to update submodule which has been configured but not added does return an error.
Issue #6433: git_submodule_update fails to update configured but missing submodule
|
| |\
| |
| | |
URL parsing for google-compatible URLs
|
| | |
| |
| |
| |
| |
| | |
Enforce the RFC for other protocols; Google's questionable choices about
malformed SSH protocols shouldn't impact our ability to properly parse
HTTPS.
|
| | |
| |
| |
| |
| | |
Provide our own url parser, so that we can handle Google Code's "fun"
URLs that have a userinfo with an `@` in it. :cry:
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
The url::scp::invalid_addresses test attempts to test an invalid IPv6
address. It does not, it calls the regular URL parsing function which
treats it like a possibly invalid scheme.
|
| | | |
|
| |\ \
| | |
| | | |
Add support for "safe.directory *"
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
| |\ \ \
| | | |
| | | | |
add 2-clause BSD license to COPYING
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `git_fs_path_basename_r()` function in `src/util/fs_path.c` says
it's based on Android code using the 2-clause BSD license, so I
suppose that means the COPYING file should include that.
|
| |\ \ \ \
| |_|/ /
|/| | | |
http: Update httpclient options when reusing an existing connection.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Httpclient internally stores a copy of the certificate_check callback and
payload. When connecting via HTTPS, and if the server sends back
"Connection: close" after the first request, the following request would
attempt to re-use the httpclient and call the (now outdated) callback. In
particular for pygit2 this is a problem, since callbacks / payloads are only
valid for the duration of a libgit2 call, leading to a ffi.from_handle()
error and crashing the Python interpreter.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
julianmesa-gitkraken/fix-leak-git_tag_create_from_buffer
Fix leak in git_tag_create_from_buffer
|
| | | | | | |
|
| | | | | | |
|
| | |/ / /
| | | |
| | | |
| | | | |
If the tag already exists and we are not forcing overwrite we need to free ref_name buffer before return the "tag already exists" error.
|
| |\ \ \ \
| | | | |
| | | | | |
Ignore missing 'safe.directory' config during ownership checks
|
| | | | | | |
|
| | | |/ /
| |/| | |
|
| |\ \ \ \
| |_|/ /
|/| | | |
commit-graph: only verify csum on git_commit_graph_open().
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This should resolve some issues with UBSan builds by using unsigned
64-bit integers for all arithmetic until we finally convert to an offset
or size value.
Signed-off-by: Derrick Stolee <derrickstolee@github.com>
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It is expensive to compute the sha1 of the entire commit-graph file each
time we open it. Git only does this if it is re-writing the file.
This patch will only verify the checksum when calling the external API
git_commit_graph_open(), which explicitly says it opens and verifies
the commit graph in the documentation.
For internal library calls, we call git_commit_graph_get_file(), which
mmaps the commit-graph file in read-only mode. Therefore it is safe to
skip the validation check there.
Tests were added to check that the validation works in the happy path,
and prevents us from opening the file when validation fails.
(Note from Derrick Stolee: This patch was applied internally at GitHub
after we recognized the performance impact it had during an upgrade of
libgit2. The original author left the company before we remembered to
send it upstream.)
Signed-off-by: Derrick Stolee <derrickstolee@github.com>
|
| |/ /
| |
| | |
The path to the default CLI output has changed, update it.
|
| |\ \
| | |
| | | |
Support non-cmake builds with an in-tree `experimental.h`
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Not everybody builds libgit2 using cmake; provide an `experimental.h`
with no experiments configured for those that do not. To support this,
we also now create compile definitions for experimental functionality,
to supplant that empty `experimental.h`. cmake will continue to generate
the proper `experimental.h` file for use with `make install`.
|
| | | |
| | |
| | |
| | |
| | | |
Actually `cl_skip` the sha256 tests when we're not compiled for sha256,
instead of passing them.
|
| |\ \ \
| | | |
| | | | |
#6366: When a worktree is missing, return GIT_ENOTFOUND.
|
| | | | | |
|
| |\ \ \ \
| |_|/ /
|/| | | |
Don't fail the whole clone if you can't find a default branch
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Test that we can successfully clone a repository that is namespace
scoped on the remote and does not advertise a HEAD. To do this, we must
specify the branch to checkout.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Test that we can successfully clone a repository that is namespace
scoped to a bare repository locally. We need not specify a checkout
branch in this case (obviously, since we do not check anything out in a
bare clone).
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Only allow the remote default branch checking to fail when the remote
default branch doesn't exist (`git_remote__default_branch` returns
`GIT_ENOTFOUND`). If there was any other type of error - for example, an
allocation failure - we should not swallow that and continue to fail.
This allows us to support the case when a remote has not advertised a
HEAD -- this is possible, for example, when the remote has constrained
the caller to a particular namespace. But other remote failures remain
as failures.
|
| | |\ \ \ |
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In commit 6bb358786 ("clone: set refs/remotes/origin/HEAD to default
branch when branch is specified, attempt 2") libgit2 was changed to set
the default remote branch when one was copied.
But it makes update_head_to_branch() return an error if the origin
doesn't even *have* a HEAD in the first place, since
git_remote_default_branch() will fail.
That's entirely wrong, and means that you cannot do "git_clone()" of a
particular branch on a remote repository when that remote doesn't have a
default branch at all.
So don't set the error code.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
| |\ \ \ \
| | | | |
| | | | | |
Delete create.c.bak
|
| | |/ / / |
|
| |\ \ \ \
| | | | |
| | | | | |
Fix memory leak
|
| | |/ / /
| | | |
| | | |
| | | | |
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
| |\ \ \ \
| | | | |
| | | | | |
Fixes #6365 : Uppercase windows.h include fails build in case-sensitive OS
|
| | |/ / / |
|
| |\ \ \ \
| | | | |
| | | | | |
fix compile on Windows with -DWIN32_LEAN_AND_MEAN
|
| | | | | | |
|