- 21 Jun, 2017 1 commit
-
-
All our tests running against a local SSH server usually read the server's URL from environment variables. But online::clone::ssh_cert test fails to do so and instead always connects to "ssh://localhost/foo". This assumption breaks whenever the SSH server is not running on the standard port, e.g. when it is running as a user. Fix the issue by using the URL provided by the environment.
Patrick Steinhardt committed
-
- 05 May, 2017 3 commits
-
-
Patrick Steinhardt committed
-
The repository URL is duplicated several times and can be de-duplicated like this. Furthermore, exchange the static refspec variable with a define to reduce BSS size.
Patrick Steinhardt committed -
There are only few actions which actually make sense for a detached remote, like e.g. `git_remote_ls`, `git_remote_prune`. For all the other actions, we have to report an error when the remote has no repository attached to it. This commit does so and implements some tests.
Patrick Steinhardt committed
-
- 25 Apr, 2017 1 commit
-
-
Patrick Steinhardt committed
-
- 09 Jan, 2017 2 commits
-
-
None of our crypto backends actually reject RC4 as a cipher so don't test for it and instead keep it as something we'd like to do.
Carlos Martín Nieto committed -
We must make sure that we're getting a certificate error from the library so we know that we're testing the right thing.
Carlos Martín Nieto committed
-
- 06 Jan, 2017 1 commit
-
-
Make sure that the callbacks do also get a 'valid' value of zero when the certificate we're looking at is in valid and assert that within the test.
Carlos Martín Nieto committed
-
- 27 Oct, 2016 1 commit
-
-
Patrick Steinhardt committed
-
- 04 Aug, 2016 1 commit
-
-
According to git-fetch(1), "[t]he colon can be omitted when <dst> is empty." So according to git, the refspec "refs/heads/master" is the same as the refspec "refs/heads/master:" when fetching changes. When trying to fetch from a remote with a trailing colon with libgit2, though, the fetch actually fails while it works when the trailing colon is left out. So obviously, libgit2 does _not_ treat these two refspec formats the same for fetches. The problem results from parsing refspecs, where the resulting refspec has its destination set to an empty string in the case of a trailing colon and to a `NULL` pointer in the case of no trailing colon. When passing this to our DWIM machinery, the empty string gets translated to "refs/heads/", which is simply wrong. Fix the problem by having the parsing machinery treat both cases the same for fetch refspecs.
Patrick Steinhardt committed
-
- 21 Apr, 2016 1 commit
-
-
Edward Thomson committed
-
- 19 Apr, 2016 3 commits
-
-
We leave this up to the scheme in the url field. The type should only tell us about whether we want a proxy and whether we want to auto-detect it.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Carlos Martín Nieto committed
-
- 14 Mar, 2016 2 commits
-
-
Dirkjan Bussink committed
-
This ensures that when using OpenSSL a safe default set of ciphers is selected. This is done so that the client communicates securely and we don't accidentally enable unsafe ciphers like RC4, or even worse some old export ciphers. Implements the first part of https://github.com/libgit2/libgit2/issues/3682
Dirkjan Bussink committed
-
- 02 Nov, 2015 1 commit
-
-
If none of GIT_OPENSSL, GIT_WINHTTP or GIT_SECURE_TRANSPORT is defined we should also be able to build the unit test.
Leo Yang committed
-
- 27 Sep, 2015 1 commit
-
-
These provide bad X.509 certificates, which we should refuse to connect to by default.
Carlos Martín Nieto committed
-
- 18 Sep, 2015 1 commit
-
-
Carlos Martín Nieto committed
-
- 13 Sep, 2015 1 commit
-
-
These are small pieces of data, so there is no advantage to allocating them separately. Include the two ids inline in the struct we use to check that the expected and actual ids match.
Carlos Martín Nieto committed
-
- 10 Sep, 2015 1 commit
-
-
Also, *some* custom headers actually are valid.
Matt Burke committed
-
- 08 Sep, 2015 1 commit
-
-
Matt Burke committed
-
- 02 Jul, 2015 1 commit
-
-
Introduce `git__getenv` which is a UTF-8 aware `getenv` everywhere. Make `cl_getenv` use this to keep consistent memory handling around return values (free everywhere, as opposed to only some platforms).
Edward Thomson committed
-
- 12 Jun, 2015 2 commits
-
-
Carlos Martín Nieto committed
-
We need to pass these options in order to have the credentials callback set.
Carlos Martín Nieto committed
-
- 27 May, 2015 1 commit
-
-
Michał Górny committed
-
- 17 May, 2015 1 commit
-
-
The code used to rely on the clone code calling the remote's save, which does not happen anymore, meaning that the configuration settings the remote expected were not being written to disk. The run-time configuration was still being affected, so the right branch was being cloned. The tests continued to pass as we did not check for the configuration entires. Fix this by creating the remote with the single-branch refspec we want and checking for its existence in the configuration.
Carlos Martín Nieto committed
-
- 13 May, 2015 5 commits
-
-
The base refspecs changing can be a cause of confusion as to what is the current base refspec set and complicate saving the remote's configuration. Change `git_remote_add_{fetch,push}()` to update the configuration instead of an instance. This finally makes `git_remote_save()` a no-op, it will be removed in a later commit.
Carlos Martín Nieto committed -
This is another option which we should not be keeping in the remote, but is specific to each particular operation.
Carlos Martín Nieto committed -
While this will rarely be different from the default, having it in the remote adds yet another setting it has to keep around and can affect its behaviour. Move it to the options.
Carlos Martín Nieto committed -
Instead of having it set in a different place from every other callback, put it the main structure. This removes some state from the remote and makes it behave more like clone, where the constructors are passed via the options.
Carlos Martín Nieto committed -
Having the setting be different from calling its actions was not a great idea and made for the sake of the wrong convenience. Instead of that, accept either fetch options, push options or the callbacks when dealing with the remote. The fetch options are currently only the callbacks, but more options will be moved from setters and getters on the remote to the options. This does mean passing the same struct along the different functions but the typical use-case will only call git_remote_fetch() or git_remote_push() and so won't notice much difference.
Carlos Martín Nieto committed
-
- 22 Apr, 2015 1 commit
-
-
Moved offending tests from network to online so they will get skipped when there is a lack of network connectivity: -test_online_remotes__single_branch -test_online_remotes__restricted_refspecs
cthomas committed
-
- 18 Apr, 2015 1 commit
-
-
It can be useful for the caller to know which update commands will be sent to the server before the packfile is pushed up. git does this via the pre-push hook. We don't have hooks, but as it adds introspection into what is happening, we can add a callback which performs the same function.
Carlos Martín Nieto committed
-
- 16 Mar, 2015 1 commit
-
-
When we have an HTTP stream and have set the certificatre check callback, we currently fail as we ask the unencrypted stream for its certificate.
Carlos Martín Nieto committed
-
- 13 Mar, 2015 1 commit
-
-
This was but down to 5 when GitHub made a change to their server which made them stop honouring the include-tag request. This has recently been corrected, so we can bring it back up to six.
Carlos Martín Nieto committed
-
- 03 Mar, 2015 2 commits
-
-
We always use "update by push".
Carlos Martín Nieto committed -
The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
Carlos Martín Nieto committed
-
- 27 Feb, 2015 1 commit
-
-
Edward Thomson committed
-
- 30 Dec, 2014 1 commit
-
-
Instead we provide git_remote_upload() and git_remote_update_tips() in order to have a parallel API for fetching and pushing.
Carlos Martín Nieto committed
-