| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
libgit2 can now isolate its home directory, and our test runner (by
default) isolates the home directory. In our CI environment, we want to
set up some pieces (like ssh configuration) in a fake homedir. Continue
to do so and propagate that to clar.
|
|
|
|
|
| |
Use a dummy home directory for tests to avoid user data leaking into
test execution.
|
|
|
|
|
|
| |
Now that we've split the notion of the home directory from the global
configuration store, our tests should use the appropriate one based on
what they're doing.
|
|
|
|
|
|
|
|
|
|
| |
Some callers -- like our test suite and the test suites of our language
bindings -- want to isolate the home directory to avoid accidentally
including the executing user's actual home directory data.
Previously, we combined the notion of a home directory and global
configuration -- now that this is separated, we provide users the
ability to configure both.
|
|
|
|
|
|
|
|
| |
Users can specify a config file to be included in the home directory
using `~/filename` syntax. Instead of looking in the global
configuration location (which may be overridden), use the user's
_actual_ home directory. This allows callers to change the global
configuration location separately from the home directory.
|
|
|
|
|
|
|
|
| |
Users can specify an attribute file to be included in the home
directory using `~/filename` syntax. Instead of looking in the
global configuration location (which may be overridden), use the
user's _actual_ home directory. This allows callers to change the
global configuration location separately from the home directory.
|
|
|
|
|
|
|
| |
Use `git_sysdir_find_homedir_file` to identify the path to the home
directory's `.ssh/known_hosts`; this takes Windows paths into account by
preferring `HOME`, then falling back to `HOMEPATH` and `USERPROFILE`
directories.
|
|
|
|
|
|
|
|
|
|
| |
Provide a mechanism to look up the user's home directory, using the same
mechanism that we use for locating the global configuration path (a
fancy name for saying "the home directory").
SSH known hosts lookups now use this, instead of simply looking at the
HOME environment variable, to support Windows-style home directory
lookups in `HOME`, `HOMEPATH`, or `USERPROFILE`.
|
|
|
|
|
|
| |
The windows sysdir functions are libgit2-specific and for git
compatibility only; remove them from the shared util directory and bring
them into the libgit2 source tree.
|
|\
| |
| | |
push: use resolved oid as the source
|
|/
|
|
|
| |
211c97195e2ebcf68e27782715eb756823ad5a91 attempts to use the parsed OID
but inverted the arguments to `git_oid_cpy`.
|
|\
| |
| | |
push: revparse refspec source, so you can push things that are not refs
|
| |
| |
| |
| | |
I want to push a commit by OID to a remote branch. Currently, push parses the refspecs such that the source must be the name of a ref (it uses git_reference_name_to_id to resolve it). This commit changes it so push uses git_revparse_single to resolve the source of the refspec. This allows for OIDs or other revs (e.g. `HEAD~2`) to be pushed.
|
|\ \
| | |
| | | |
thread: avoid warnings when building without threads
|
| | |
| | |
| | |
| | |
| | |
| | | |
`git__noop` takes no arguments, so a simple `#define func(a) git__noop`
will produce warnings about the unused `a`. Introduce `git__noop_args`
to swallow arguments and avoid that warning.
|
|\ \ \
| | | |
| | | | |
transport: fix capabilities calculation
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
This looks like a typo to me, from what i can see these lines were
added at the same time and because of how capabilities are calculated,
it's likely that this code will work in situations where these
capabilities were the last ones.
|
|\ \ \
| | | |
| | | | |
ci: update version numbers of actions
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The server and client negotiate a single hostkey, but the "best" cipher may not
be the one for which we have an entry in `known_hosts`. This can lead to us not
finding the key in known_hosts even though we should be connecting.
Instead here we look up the hostname with a nonsense key to perform a lookup in
the known hosts and set that. This is roughly what the OpenSSH client does as
well.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We're currently running it as part of the online suite but that doesn't have any
setup for ssh so we won't find the GitHub keys we set up during the test.
It doesn't need the private key setup as we just want to make sure we see some
auth request from the server, but with the addition of hostkey checking we're
now seeing it fail when we skip these tests.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently just the one test needs it.
The ssh-rsa makes sure we're asking for the cipher we find in `known_hosts` as
that won't be the one selected by default. This will be relevant in later changes.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
It turns out this has been available in libssh2 for a long time and we should
have been verifying this the whole time.
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
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
|