summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.http.test
Commit message (Collapse)AuthorAgeFilesLines
...
| | * Prepare 5.13.0-SNAPSHOT buildsMatthias Sohn2021-08-252-2/+2
| | | | | | | | | | | | Change-Id: I6db044fdd57b60adbc2dd078c4af8cb54bb331c3
| | * JGit v5.13.0.202108250949-m3v5.13.0.202108250949-m3Matthias Sohn2021-08-252-2/+2
| | | | | | | | | | | | | | | Change-Id: Icc079b28327f5a02256f9a06837c2be6352ea6e3 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | Prepare 6.0.1-SNAPSHOT buildsMatthias Sohn2021-11-292-22/+22
| | | | | | | | | | | | Change-Id: Iddb67ed9578293b83b8147aa18dd8319426f83d1
| * | JGit v6.0.0.202111291000-rv6.0.0.202111291000-rMatthias Sohn2021-11-292-2/+2
| | | | | | | | | | | | | | | Change-Id: I6441d9226e8131552bfafe1fb2c353f2e07e42ac Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | Prepare 6.0.0-SNAPSHOT buildsMatthias Sohn2021-11-242-2/+2
| | | | | | | | | | | | Change-Id: I4e06186cf62681767962e391331cc65bafddc205
| * | JGit v6.0.0.202111241155-rc1v6.0.0.202111241155-rc1Matthias Sohn2021-11-242-2/+2
| | | | | | | | | | | | | | | Change-Id: I35dc089a00ee12f83f506fb320d23762fa030063 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Prepare 6.1.0-SNAPSHOT buildsMatthias Sohn2021-11-242-22/+22
|/ / | | | | | | Change-Id: Ied07b1298bd32672a5025cec5079440ab9b9a100
* | HttpClientConnectionTest: organize importsMatthias Sohn2021-11-221-7/+7
| | | | | | | | Change-Id: I7e1f8627a9360c660adc6f00fe48afe005929150
* | Update Jetty to 10.0.6Matthias Sohn2021-11-221-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | - this is the same version eclipse platform currently uses - update servlet-api to 4.0 - configure keystore used by AppServer with Subject Alternative Names for host name and ip address to satisfy more strict SNI checking in Jetty 10. See https://github.com/eclipse/jetty.project/issues/5379 - add jetty bundles to JGit-dependency-bundles in the jgit p2 repository Bug: 571932 Bug: 576100 Change-Id: Ibd0240cf7ad4dc201947fd69707f517c3c1fc1c8
* | Enable compiler option --releaseMatthias Sohn2021-09-292-3/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures the compiler compiles against the public, supported and documented API for a specific VM version (here 11) [1]. This also means that we don't need EE descriptors in Eclipse anymore in order to ensure that only supported APIs of the selected Java version can be used. According to [2] if option --release is used --source and --target options can't be used. While we are at it also add default value for all new jdt core options added in Eclipse 4.21. [1] https://docs.oracle.com/en/java/javase/11/tools/javac.html [2] https://docs.oracle.com/en/java/javase/14/docs/specs/man/javac.html#option-release Change-Id: I852a5d7b0a3210751c15d79ec91915b4c01c41e2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Bump minimum required Java version to 11Matthias Sohn2021-09-293-5/+9
| | | | | | | | | | | | Bug: 569917 Change-Id: Ifdcdb022a3f29321b4d10da1cc34acca68ed7b03 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Merge branch 'master' into nextMatthias Sohn2021-09-132-5/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (38 commits) Revert "DFS block cache: Refactor to enable parallel index loading" GitServlet: allow to override default error handlers Silence API error for new interface method ProtocolV2Hook#onObjectInfo transport: add object-info capability Ignore IllegalStateException if JVM is already shutting down Update orbit to R20210825222808 for 2021-09 Update spotbugs-maven-plugin to 4.3.0 Update ant to 1.10.11 also in pom.xml DFS block cache: add additional stats to DfsReaderIoStats Update Orbit to S20210817231813 [gpg] Better GPG home directory determination FS: cleanup use of final modifier Ensure FS#searchPath only selects executable files RevWalk: getMergedInto's result is wrong on the second call DFS block cache: Refactor to enable parallel index loading [test] Create keystore with the keytool of the running JDK [gpg] Update to Bouncy Castle 1.69 [test] Create keystore with the keytool of the running JDK [sshd] Minor code clean-up Support commit.template config property ... Change-Id: I9f99e9a513a23c0c0d252334e79c351512d7355e
| * Relax version range for hamcrest and assertjMatthias Sohn2021-07-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | We currently cannot use hamcrest 2.2 and assertj 3.20.2 (which requires hamcrest 2.2) in egit tests since other Eclipse dependencies (e.g. swtbot) require hamcrest 1.1. Hence relax version range for these components in jgit so that jgit tests also work when using the egit target platform. Change-Id: I521e2ec4491bd8d790609b8a66a8f14511a865a1
| * Update orbit to I20210711110031Matthias Sohn2021-07-162-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and update - assertj to 3.20.2.v20210706-1104 - hamcrest to 2.2.0.v20210711-0821 - classes which were in org.hamcrest.core 1.3 and org.hamcrest.library 1.3 were all moved to org.hamcrest in 2.2 - the annotation org.hamcrest.Factory was removed and is no longer needed - junit 4.13 requires hamcrest-core and hamcrest-library 1.3 therefore keep them in the target platform CQ: 23501 Change-Id: Ife871c0343b611be9203aed7f86577e85bbf5c95
| * Prepare 5.13.0-SNAPSHOT buildsMatthias Sohn2021-06-142-22/+22
| | | | | | | | Change-Id: Ie9cfc1eeb0eda7b2bbe744a22a7e4cfe6d59bc37
| * Prepare 5.12.1-SNAPSHOT buildsMatthias Sohn2021-06-132-22/+22
| | | | | | | | Change-Id: Idf266c34aa9a04cf9c5e0e09bcb415c13d773d4c
| * JGit v5.12.0.202106070339-rv5.12.0.202106070339-rMatthias Sohn2021-06-072-2/+2
| | | | | | | | | | Change-Id: I0fbfea2c83f1ce83f75130cc97591547032f1104 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.12.0-SNAPSHOT buildsMatthias Sohn2021-06-032-2/+2
| | | | | | | | | | Change-Id: Ifc72d3f3ac84b9c4055b95ec0093d877ffb09ab0 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.12.0.202106021050-rc1v5.12.0.202106021050-rc1Matthias Sohn2021-06-022-2/+2
| | | | | | | | | | Change-Id: I622ee049f14f37504ff4a062f03d6fc25465d0ec Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.12.0-SNAPSHOT buildsMatthias Sohn2021-06-022-2/+2
| | | | | | | | Change-Id: I25e4efc9b40ae4e7168b37385445c73992c5beb0
| * JGit v5.12.0.202106011439-rc1v5.12.0.202106011439-rc1Matthias Sohn2021-06-012-2/+2
| | | | | | | | | | Change-Id: Ieac1d02879defe0f4791062448d4efc328a2f652 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.12.0-SNAPSHOT buildsMatthias Sohn2021-06-012-2/+2
| | | | | | | | | | Change-Id: If563be77aab768ac1f31ae2211fb0892d0205a2a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.12.0.202105261145-m3v5.12.0.202105261145-m3Matthias Sohn2021-05-262-2/+2
| | | | | | | | | | Change-Id: I3b1af2032227900e6e0c6189f47bace1df67f0ab Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.12.0-SNAPSHOT buildsMatthias Sohn2021-05-062-2/+2
| | | | | | | | Change-Id: I2fc5305e7eaaa4593d418fc3b31d20e4b6e1e585
| * JGit v5.12.0.202105051250-m2v5.12.0.202105051250-m2Matthias Sohn2021-05-052-2/+2
| | | | | | | | | | Change-Id: Ic7d86c91ec0ff9aa0678dcb971c197e62a4ca2dc Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.12.0-SNAPSHOT buildsMatthias Sohn2021-03-102-22/+22
| | | | | | | | | | Change-Id: I736de7c3deb11da75777d459f47332df0b486443 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.11.1-SNAPSHOT buildsMatthias Sohn2021-03-092-22/+22
| | | | | | | | | | Change-Id: I94628ccbb5099a65aa4345cfd28a141ff5555b68 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.11.0.202103091610-rv5.11.0.202103091610-rMatthias Sohn2021-03-092-2/+2
| | | | | | | | | | Change-Id: I8e6855eaf7228459f492036feb4e34ca085698a7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.11.0-SNAPSHOT buildsMatthias Sohn2021-03-042-2/+2
| | | | | | | | | | Change-Id: I89ed49a6acc53dd75d16f40c99e1140e0c18f646 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.11.0.202103031150-rc1v5.11.0.202103031150-rc1Matthias Sohn2021-03-032-2/+2
| | | | | | | | | | Change-Id: I0a86fa59645888f9f36ea6938c9121e095f02fc6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.11.0-SNAPSHOT buildsMatthias Sohn2021-02-242-2/+2
| | | | | | | | | | Change-Id: If3dbe084ee37ae4b993d3a10ec48b14e8709ff6d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.11.0.202102240950-m3v5.11.0.202102240950-m3Matthias Sohn2021-02-242-2/+2
| | | | | | | | | | Change-Id: Iea6b3515fa63db497989194b6bf50fe7324086d0 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.11.0-SNAPSHOT buildsMatthias Sohn2021-02-032-2/+2
| | | | | | | | | | Change-Id: I191674448c4a220e61ec5f0c181c0809eb873166 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.11.0.202102031030-m2v5.11.0.202102031030-m2Matthias Sohn2021-02-032-2/+2
| | | | | | | | | | Change-Id: Ie14c162a7fc5e1e8f34bf4bbc944f4dbe13e4dd0 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Merge branch 'master' into nextMatthias Sohn2021-02-2810-105/+631
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (143 commits) Prepare 5.11.0-SNAPSHOT builds JGit v5.11.0.202102240950-m3 [releng] japicmp: update last release version IgnoreNode: include path to file for invalid .gitignore patterns FastIgnoreRule: include bad pattern in log message init: add config option to set default for the initial branch name init: allow specifying the initial branch name for the new repository Fail clone if initial branch doesn't exist in remote repository GPG: fix reading unprotected old-format secret keys Update Orbit to S20210216215844 Add missing bazel dependency for o.e.j.gpg.bc.test GPG: handle extended private key format dfs: handle short copies [GPG] Provide a factory for the BouncyCastleGpgSigner Fix boxing warnings GPG: compute the keygrip to find a secret key GPG signature verification via BouncyCastle Post commit hook failure should not cause commit failure Allow to define additional Hook classes outside JGit GitHook: use default charset for output and error streams ... Change-Id: I689f4070e79f4a0ac1c02b35698ccaab68ad2f34
| * Merge changes I36d9b63e,I8c5db581,I2c02e89cJonathan Tan2021-01-271-0/+11
| |\ | | | | | | | | | | | | | | | | | | * changes: Compare getting all refs except specific refs with seek and with filter Add getsRefsByPrefixWithSkips (excluding prefixes) to ReftableDatabase Add seekPastPrefix method to RefCursor
| | * Add getsRefsByPrefixWithSkips (excluding prefixes) to ReftableDatabaseGal Paikin2021-01-271-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We sometimes want to get all the refs except specific prefixes, similarly to getRefsByPrefix that gets all the refs of a specific prefix. We now create a new method that gets all refs matching a prefix except a set of specific prefixes. One use-case is for Gerrit to be able to get all the refs except refs/changes; in Gerrit we often have lots of refs/changes, but very little other refs. Currently, to get all the refs except refs/changes we need to get all the refs and then filter the refs/changes, which is very inefficient. With this method, we can simply skip the unneeded prefix so that we don't have to go over all the elements. RefDirectory still uses the inefficient implementation, since there isn't a simple way to use Refcursor to achieve the efficient implementation (as done in ReftableDatabase). Signed-off-by: Gal Paikin <paiking@google.com> Change-Id: I8c5db581acdeb6698e3d3a2abde8da32f70c854c
| * | Correct the minimum required version of Apache httpclientThomas Wolf2021-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | org.eclipse.jgit.http.apache uses several features that exist only since httpclient 4.4, but its MANIFEST.MF still had a lower bound of 4.3.0. Bump this to 4.4.0 for all packages from httpclient. 4.3.0 for the packages from httpcore is fine. Do a similar clean-up in the other bundles using packages from Apache httpclient (http.test, lfs, lfs.server, lfs.server.test) Bug: 570451 Change-Id: Iffdde2a9bd0d65db2e5201a08cffbf03597e2866 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * | TransportHttp: support preemptive Basic authenticationThomas Wolf2021-01-141-21/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the caller knows already HTTP Basic authentication will be needed and if it also already has the username and password, preemptive authentication is a little bit more efficient since it avoids the initial 401 response. Add a setPreemptiveBasicAuthentication(username, password) method to TransportHttp. Client code could call this for instance in a TransportConfigCallback. The method throws an IllegalStateException if it is called after an HTTP request has already been made. Additionally, a URI can include userinfo. Although it is not recommended to put passwords in URIs, JGit's URIish and also the Java URL and URI classes still allow it. The underlying HTTP connection may omit these fields though. If present, take these fields as additional source for preemptive Basic authentication if setPreemptiveBasicAuthentication() has not been called. No preemptive authentication will be done if the connection is redirected to a different host. Add tests. Bug: 541327 Change-Id: Id00b975e56a15b532de96f7bbce48106d992a22b Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * | TransportHttp: make the connection factory configurableThomas Wolf2021-01-142-0/+65
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, TransportHttp always used the globally set connection factory. This is problematic if that global factory is changed in the middle of a fetch or push operation. Initialize the factory to use in the constructor, then use that factory for all HTTP requests made through this transport. Provide a setter and a getter for it so that client code can customize the factory, if needed, in a TransportConfigCallback. Once a factory has been used on a TransportHttp instance it cannot be changed anymore. Make the global static factory reference volatile. Change-Id: I7c6ee16680407d3724e901c426db174a3125ba1c Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * Protocol V2: respect MAX_HAVES only once we got at least one ACKThomas Wolf2021-01-041-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The negotiation in the git protocol contains a cutoff: if the client has sent more than MAX_HAVES "have" lines without getting an ACK, it gives up and sends a "done". MAX_HAVES is 256. However, this cutoff must kick in only if at least one ACK has been received. Otherwise the client may give up way too early, which makes the server send all its history. See [1]. This was missed when protocol V2 was implemented for fetching in JGit in commit 0853a241. Compare also C git commit 0b07eecf6ed.[2] C git had the same bug.[3][4] [1] https://github.com/git/git/blob/6c430a647cb9/Documentation/technical/pack-protocol.txt#L385 [2] https://github.com/git/git/commit/0b07eecf6ed [3] https://lore.kernel.org/git/b7f5bfb9-61fb-2552-4399-b744428728e4@suse.cz/ [4] https://lore.kernel.org/git/20200422084254.GA27502@furthur.local/ Bug: 553083 Change-Id: I1f4e2cc16b5eed6971d981d472329185abb9e4a9 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * Enable git wire protocol version 2 on server side per defaultDavid Ostrovsky2021-01-032-14/+20
| | | | | | | | | | | | Bug: 563145 Change-Id: Id5030c2b85466da0a8ccf3d78ae78df16d64ffc5 Signed-off-by: David Ostrovsky <david@ostrovsky.org>
| * Client-side protocol V2 support for fetchingThomas Wolf2021-01-016-89/+306
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make all transports request protocol V2 when fetching. Depending on the transport, set the GIT_PROTOCOL environment variable (file and ssh), pass the Git-Protocol header (http), or set the hidden "\0version=2\0" (git anon). We'll fall back to V0 if the server doesn't reply with a version 2 answer. A user can control which protocol the client requests via the git config protocol.version; if not set, JGit requests protocol V2 for fetching. Pushing always uses protocol V0 still. In the API, there is only a new Transport.openFetch() version that takes a collection of RefSpecs plus additional patterns to construct the Ref prefixes for the "ls-refs" command in protocol V2. If none are given, the server will still advertise all refs, even in protocol V2. BasePackConnection.readAdvertisedRefs() handles falling back to protocol V0. It newly returns true if V0 was used and the advertised refs were read, and false if V2 is used and an explicit "ls-refs" is needed. (This can't be done transparently inside readAdvertisedRefs() because a "stateless RPC" transport like TransportHttp may need to open a new connection for writing.) BasePackFetchConnection implements the changes needed for the protocol V2 "fetch" command (stateless protocol, simplified ACK handling, delimiters, section headers). In TransportHttp, change readSmartHeaders() to also recognize the "version 2" packet line as a valid smart server indication. Adapt tests, and run all the HTTP tests not only with both HTTP connection factories (JDK and Apache HttpClient) but also with both protocol V0 and V2. The SSH tests are much slower and much more focused on the SSH protocol and SSH key handling. Factor out two very simple cloning and pulling tests and make those run with protocol V2. Bug: 553083 Change-Id: I357c7f5daa7efb2872f1c64ee6f6d54229031ae1 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * Prepare 5.11.0-SNAPSHOT buildsMatthias Sohn2020-12-022-21/+21
| | | | | | | | | | Change-Id: I91e5532526775191fbd34f81e2ef777cba605e3b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Merge branch 'stable-5.9'Matthias Sohn2020-11-301-4/+10
| |\ | | | | | | | | | | | | | | | | | | * stable-5.9: Add constants for parsing git wire protocol version Change-Id: I1e4174ae8bbefcb71a191dcbf32027d4b35c2b37 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * Add constants for parsing git wire protocol versionDavid Ostrovsky2020-11-291-4/+10
| | | | | | | | | | | | | | | | | | | | | This would allow other JGit users to access and reuse the constants. Change-Id: I1608802f45586af5f8582afa592e26679e9cebe3 Signed-off-by: David Ostrovsky <david@ostrovsky.org> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * Prepare 5.9.1-SNAPSHOT buildsMatthias Sohn2020-09-082-21/+21
| | | | | | | | | | | | | | | Change-Id: I9006e7961111982943ffef496d15bd525959b3e4 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * JGit v5.9.0.202009080501-rv5.9.0.202009080501-rMatthias Sohn2020-09-082-2/+2
| | | | | | | | | | | | | | | Change-Id: Ic98ae61b3f327ef72256fd9b2e28510e3a481de7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * Prepare 5.9.0-SNAPSHOT buildsMatthias Sohn2020-08-272-2/+2
| | | | | | | | | | | | | | | Change-Id: Ia3e8382ec503150979d8acb6161031ccfb7fd921 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * JGit v5.9.0.202008260805-m3v5.9.0.202008260805-m3Matthias Sohn2020-08-262-2/+2
| | | | | | | | | | | | | | | Change-Id: Ic4de8340f3ab038e38b239b725b8bd6d6dbee413 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>