aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * Run license check with option -Ddash.projectId=technology.jgitMatthias Sohn2022-03-041-2/+2
| | | | | | | | | | | | This ensures that works-with-dependencies are attributed properly. Change-Id: Ie41733cdecc83ae0b532fb4bd9f692bc09e16107
| * Exclude transitive dependencies of sshd-sftpMatthias Sohn2022-03-042-0/+20
| | | | | | | | | | | | | | | | | | We don't need the dependencies of sshd-sftp to sshd-common and sshd-core since they are contained in sshd-osgi. Excluding them helps the dash IP log tool to not list them as required dependencies of jgit. Change-Id: I85bce4dca1b99ba880cf3e909fac9669c75e7854
| * Update DEPENDENCIES for 6.1.0 releaseMatthias Sohn2022-03-031-53/+52
| | | | | | | | Change-Id: I9ea925bd444952dc204e2538b9d16fe631202e0c
| * Add dependency to dash-licensesMatthias Sohn2022-03-031-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is required to run the license check using the license tool [1] required by the Eclipse project handbook [2]: mvn org.eclipse.dash:license-tool-plugin:license-check -Ddash.summary=DEPENDENCIES Note: the tool still requires Java 11 hence it needs to be run in a separate build step and is not yet integrated in the build which runs on Java 8. [1] https://github.com/eclipse/dash-licenses [2] https://www.eclipse.org/projects/handbook/#ip-license-tool Change-Id: Ib41d54de246c3c9499cc3be9f026294c39fdfd99
| * Fix typos of some keys in LfsTextMatthias Sohn2022-03-034-6/+6
| | | | | | | | Change-Id: I86dee0b68e627e26cbd29976162bc7b953ebf276
| * Sort LfsText entries alphabeticallyMatthias Sohn2022-03-032-18/+17
| | | | | | | | Change-Id: I3021cb246b51d861d51258808c75d5c6843ec82d
| * Support for "lfs.url" from ".lfsconfig"Matthias Fromme2022-03-039-31/+737
| | | | | | | | | | | | | | | | | | | | | | - New class LfsConfig to enrich repository configuration by settings from ".lfsconfig" file respecting configuration file precedence. - Adapted LfsConnectionFactory to use LfsConfig instead of directly using configuration from repository to calculate url of the lfs repository Bug: 578020 Change-Id: I156f4ec137c2e428136a2ca9b8a4011ecee2d915
* | Refer to target platform as fileMichael Keppler2022-03-072-33/+1
| | | | | | | | | | | | | | | | Since Tycho 2.3 the target platform can be referenced as file, without using Maven coordinates. Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de> Change-Id: I120223dd3dc740fdff13a69201624b4cdc02c6f6
* | Prepare 6.2.0-SNAPSHOT buildsMatthias Sohn2022-03-0391-525/+525
| | | | | | | | Change-Id: Ic2dde88bee3242169d6fa50956f8938f3fc4ba8e
* | Merge branch 'stable-6.1'Matthias Sohn2022-03-0213-20/+20
|\| | | | | | | | | | | | | | | | | | | | | * stable-6.1: Update Orbit to R20220302172233 for 2022-03 Prepare 6.1.0-SNAPSHOT builds JGit v6.1.0.202203021511-rc1 Prepare 6.1.0-SNAPSHOT builds JGit v6.1.0.202202221755-m3 Change-Id: Iff4b13ca8ae5e13a3f2f45c0d4653405f1ceb2f4
| * Update Orbit to R20220302172233 for 2022-03Matthias Sohn2022-03-0213-20/+20
| | | | | | | | Change-Id: Ief504bf7f926d461e38186bf00711082d619fc08
| * Prepare 6.1.0-SNAPSHOT buildsMatthias Sohn2022-03-0291-125/+125
| | | | | | | | Change-Id: I525fc1258a729c36d63fdb3c8170e9f04ad55cec
| * JGit v6.1.0.202203021511-rc1v6.1.0.202203021511-rc1Matthias Sohn2022-03-0291-125/+125
| | | | | | | | | | Change-Id: I4c75a58fd76102e773af4f1f8a1487d5e7ffc7cf Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Merge branch 'master' into stable-6.1Matthias Sohn2022-03-0222-19/+620
| |\ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | * master: Describe: add support for core.abbrev config option Add a typed config getter for integers confined to a range Remove odd prefix of PersonIdent test class PersonIdent: Add ctors that accept Instant in addition to Date Remove ignored potentiallyUnclosedCloseable check Make precedence more explicit [pgm] Add describe --abbrev option Cap describe abbrev option DescribeCommand: Add support for --abbrev=0 Change-Id: I1daa3501a38d57b628800fadb96b6b71eea8cbb3
* | Describe: add support for core.abbrev config optionMatthias Sohn2022-03-0212-12/+413
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If core.abbrev is unset or "auto" estimate abbreviation length like C git does: - Estimate repository's object count by only considering packed objects, round up to next power of 2 - With the order of 2^len objects, we expect a collision at 2^(len/2). But we also care about hex chars, not bits, and there are 4 bits per hex. So all together we need to divide by 2; but we also want to round odd numbers up, hence adding one before dividing. - For small repos use at least 7 hexdigits - If object database fails to determine object count use 7 hexdigits as fallback If it is set to "no" do not abbreviate object-ids. Otherwise set it to the configured value capped to the range between 4 and length of an unabbreviated object-id. Change-Id: I425f9724b69813dbb57872466bf2d2e1d6dc72c6
* | Add a typed config getter for integers confined to a rangeMatthias Sohn2022-03-025-0/+71
| | | | | | | | | | | | Use Integer#MIN_VALUE to denote unset option. Change-Id: I4d65f2434013111f25520c0ed2b9a9dc8123c6cf
* | Remove odd prefix of PersonIdent test classMatthias Sohn2022-03-021-1/+1
| | | | | | | | Change-Id: I05ede49902527c435691fb2c0f0d4da7ba077b7a
* | PersonIdent: Add ctors that accept Instant in addition to DateDavid Ostrovsky2022-03-022-0/+87
| | | | | | | | | | | | | | | | | | Error Prone is flagging Date-API as obsolete and recommends to migrate to Instant and LocalDate. Given that more JGit users starting to migrate to new Time API, offer ctors that accept Instant type and also add new getter that returns when attribute as Instant type. Change-Id: I64a36bf40f191495c6889c1dff314ede06848880
* | Remove ignored potentiallyUnclosedCloseable checkFabio Ponciroli2022-03-021-3/+0
| | | | | | | | | | | | | | potentiallyUnclosedCloseable currently is not checked and it creates a warning when compiling with Maven. Change-Id: I0715ead433270937f77f56a19aa203f8d6f5322f
* | Make precedence more explicitFabio Ponciroli2022-03-021-1/+1
| | | | | | | | | | | | | | | | | | Errorprone was failing the build with: "[OperatorPrecedence]. Use grouping parenthesis to make the operator precedence explicit" Add parentheses to silence it. Change-Id: I81f1f249e38fd2543f5412b3501b0179d0759f55
* | [pgm] Add describe --abbrev optionMatthias Sohn2022-03-023-0/+32
| | | | | | | | Change-Id: I8adf2fad21db71b43266d3f274143eee6bc9dce2
* | Cap describe abbrev optionMatthias Sohn2022-03-022-11/+19
| | | | | | | | | | | | | | | | | | - minimum is 4 [1] - maximum is length of a full ObjectId [1] https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreabbrev Change-Id: I145bde1a218f71b87b8d8260761dd0853770bb76
* | DescribeCommand: Add support for --abbrev=0Matthias Sohn2022-03-022-0/+5
| | | | | | | | | | | | | | | | | | Setting --abbrev=0 suppresses long format and only shows the closest tag [1]. [1] https://git-scm.com/docs/git-describe#Documentation/git-describe.txt---abbrevltngt Change-Id: Ifcf4d7786dd0f0fb0315d8093fdb54384ed9d5f9
| * Prepare 6.1.0-SNAPSHOT buildsMatthias Sohn2022-03-0191-125/+125
| | | | | | | | Change-Id: I30a89277373ad62c857151532942e135e34d1d0c
| * JGit v6.1.0.202202221755-m3v6.1.0.202202221755-m3Matthias Sohn2022-02-2291-125/+125
|/ | | | | Change-Id: Idcd46e05ca3eec376f8ac83209dba0978e004f9a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Remove SuppressWarnings since currently ignoredFabio Ponciroli2022-02-221-1/+1
| | | | | | | | | | | The following warning was raised by Eclipse: "At least one of the problems in category 'unused' is not analysed due to a compiler option being ignored" The org.eclipse.jdt.core.compiler.problem.unusedTypeParameter compiler option is set to ignore, hence the warning suppression is redundant. Change-Id: I5fd6efc9968be133c71e95c53803c44310d75e85
* Add comment to explain why try-with-resource is not usedFabio Ponciroli2022-02-221-0/+1
| | | | Change-Id: I904f9890428334bdf2971511e0b2681f3da5a82a
* DescribeCommand: Support configuring the hash abbreviationSebastian Schuberth2022-02-192-8/+51
| | | | | | Bug: 537883 Signed-off-by: Sebastian Schuberth <sebastian.schuberth@bosch.io> Change-Id: Ic52dcebc564bbb0d934cc3a6205704b7aeaee30e
* Simplify implementation of WorkingTreeIteratorThomas Wolf2022-02-161-29/+16
| | | | | | | | | All the filtering in WorkingTreeIterator is for check-in, i.e., clean filtering. The implementation was in some parts too general, passing around an OperationType. But since it's always CHECKIN_OP, that's not actually necessary. Change-Id: I73f8bc059e485a073e456962868f52b3a3db4fc1 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Update Orbit to S20220215213605Matthias Sohn2022-02-1613-34/+34
| | | | | | | and - org.apache.httpcomponents.httpcore to 4.4.15.v20220209-2345 Change-Id: I0c7a8cf5a282596fe3d3dac422716480b3d76c83
* Transport: load all refs only if push refspecs have wildcardsThomas Wolf2022-02-141-3/+7
| | | | | | | | There is no need to load all refs if there are no wildcard push refspecs. Load them lazily on the first wildcard refspec encountered instead of loading them up-front. Change-Id: I6d0e981f9ed4997dbdefeb7f83f37ff4f33e06a5 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* PushCommand: determine remote from git config if not givenThomas Wolf2022-02-144-3/+229
| | | | | | | | | | Add ConfigConstants and expose branch.<name>.pushRemote in the BranchConfig. Use the branch configuration and remote.pushDefault if no remote is given explicitly. If nothing is configured, fall back to "origin". Bug: 578676 Change-Id: I6bb141ff02c8b04980ec34b26ef248b72614c3c9 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* PushCommand: consider push.default when no RefSpecs are givenRolf Theunissen2022-02-144-12/+690
| | | | | | | | | | | | | | | | | | When no RefSpecs are given, PushCommand until now simply fell back to pushing the current branch to an upstream branch of the same name. This corresponds to push.default=current. Any setting from the git config for push.default was simply ignored. Implement the other modes (nothing, matching, upstream, and simple), too. Add a setter and getter for the PushDefault so that an application can force a particular mode to be used. For backwards compatibility, use "current" as the default setting; to figure out the value from the git config, which defaults to "simple", call setPushDefault(null). Bug: 351314 Change-Id: I86c5402318771e47d80b137e99947762e1150bb4 Signed-off-by: Rolf Theunissen <rolf.theunissen@gmail.com> Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Prevent that an instance of PushCommand is reusedThomas Wolf2022-02-141-0/+1
| | | | | | | We checked if the command instance is called but missed to set the flag tracking if it actually was used. Change-Id: I0f9fb85c47945a4d91eab01ec5e1abc1ab83332a
* Remove unused warning suppressionFabio Ponciroli2022-02-112-2/+1
| | | | | | | SuppressWarnings is not used. Remove to avoid warnings at compile time. Change-Id: I84e3e57017cf9fd68d3377f866d4dd907ccde454
* Support for git config push.defaultThomas Wolf2022-02-094-3/+183
| | | | | | | | Enhance the (unused!?) PushConfig; include a PushDefault enumeration. Add simple tests for this PushConfig. Bug: 351314 Change-Id: Ibc5656a2a1fccf70d00c5e15de8ed3dd8add6337 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Update Orbit to S20220208191225Matthias Sohn2022-02-0913-20/+20
| | | | Change-Id: I091d82a26fb058eaa40c03e5cec1b004969d0894
* Merge branch 'stable-6.0'Matthias Sohn2022-02-096-14/+168
|\ | | | | | | | | | | | | * stable-6.0: Stop initCause throwing in readAdvertisedRefs Change-Id: I2266814c613fd81e9dfc722532ac3daa30ca66b5
| * Merge branch 'stable-5.13' into stable-6.0Matthias Sohn2022-02-096-14/+160
| |\ | | | | | | | | | | | | | | | | | | * stable-5.13: Stop initCause throwing in readAdvertisedRefs Change-Id: I94251601aa7fae9cc65164eaddcf16471874b11e
| | * Stop initCause throwing in readAdvertisedRefsDarius Jokilehto2022-02-086-14/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BasePackConnection::readAdvertisedRefsImpl was creating an exception by calling `noRepository`, and then blindly calling `initCause` on it. As `noRepository` can be overridden, it's not guaranteed to be missing a cause. BasePackPushConnection overrides `noRepository` and initiates a fetch, which may throw a `NoRemoteRepositoryException` with a cause. In this case calling `initCause` threw an `IllegalStateException`. In order to throw the correct exception, we now return the BasePackPushConnection exception and suppress the one thrown by BasePackConnection Bug: 578511 Change-Id: Ic1018b214be1e83d895979ee6c7cbce3f6765f6f
* | | Support LFS Server URL without .git suffixNail Samatov2022-02-085-19/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to Git LFS documentation, URLs with and without .git suffix should be supported. By default, Git LFS will append .git/info/lfs to the end of a Git remote URL. To build the LFS server URL it will use: Git Remote: https://git-server.com/foo/bar LFS Server: https://git-server.com/foo/bar.git/info/lfs Git Remote: https://git-server.com/foo/bar.git LFS Server: https://git-server.com/foo/bar.git/info/lfs Fix the LfsConnectionFactory accordingly. Move a utility method to add the ".git" suffix if not present yet from FileResolver to StringUtils and use it. Bug: 578621 Change-Id: I8d3645872d5f03bb8e82c9c73647adb3e81ce484 Signed-off-by: Nail Samatov <sanail@yandex.ru> Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* | | [rebase] InteractiveHandler2: handle Gerrit Change-IdsThomas Wolf2022-02-041-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a way for the handler to tell whether the commit should generate a Gerrit Change-Id. Augment the ModifyResult interface, and set the flag on the CommitCommand. This enables users to have a Change-ID be generated when squashing or rewording commits. A possibly already existing Change-Id will remain unchanged. Bug: 440211 Change-Id: I66a72e0646876d162a7011235cca969e20acf060 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* | | [errorprone] Fix DefaultCharset warning in BareSuperprojectWriterTestLuca Milanesio2022-02-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Set the string encoding when converting a byte array into String, avoiding the build-time warning on platform-dependent encoding. See https://errorprone.info/bugpattern/DefaultCharset Change-Id: I1f920043a8f303da43a8278793c38453e8773d69
* | | Introduce a constant for the length of an abbreviated hash stringSebastian Schuberth2022-02-0311-15/+57
| | | | | | | | | | | | | | | Signed-off-by: Sebastian Schuberth <sebastian.schuberth@bosch.io> Change-Id: I196d58a813f7caa1965af4cf8e2f977ed4cdc350
* | | Make sure to close Repository in testsFabio Ponciroli2022-02-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Repository wasn't closed in FetchAndPullCommandsRecurseSubmodulesTest. This caused a "Resource leak: 'g' is never closed" warning during compilation. Bug: 578546 Change-Id: I591ef1e286bcd9a7103c016fd47015e77fa95cbb
* | | Fix resource leak in CancellableDigestOutputStreamTestFabio Ponciroli2022-02-021-33/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CancellableDigestOutputStream resources are never closed in the tests. This causes a "Resource leak: 'out' is never closed" warning at compile time. Suppress it by using a try with resources. Bug: 578544 Change-Id: I0dc7de9162b8e3ac6fcaabe3002423f545baddb8
* | | Fix "Empty block should be documented" warningFabio Ponciroli2022-02-021-0/+4
| | | | | | | | | | | | | | | Bug: 578543 Change-Id: Id7fb03c07c785ac0955e4969a9b781b707719749
* | | Replace deprecated org.eclipse.jgit.lib.RefDatabase.getRefsFabio Ponciroli2022-02-021-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | The method has been deprecated since 5.0. Use getRefsByPrefix instead. Bug: 534731 Change-Id: I5f1cfc1fd5ae49dc7a4ed3e039f23ed785d674f6
* | | RebaseCommand: fix commit message in "fixup" caseThomas Wolf2022-02-022-31/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JGit accumulated in MESSAGE_FIXUP commit messages of a fixup sequence, just like it did in MESSAGE_SQUASH, and on the last step of a sequence of fixups used that file, after stripping all comment lines, as the commit message. That also stripped any lines from the original commit message that happened to start with the comment character. This is not how this is supposed to work. MESSAGE_FIXUP must contain the original commit message of the base commit that is amended, and the file contains the verbatim commit message for the final fixup.[1] Change the implementation accordingly, and add new tests. [1] https://github.com/git/git/blob/df3c41adeb/sequencer.c#L86 ff. Bug: 513726 Change-Id: I885a2b7f10d6c74460a8693aa6cbf867ee0494a1 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* | | reftable: close old Db in FileRepository#convertToPackedRefsHan-Wen Nienhuys2022-02-021-2/+4
| | | | | | | | | | | | | | | | | | This fixes test failures on Windows. Change-Id: I701fbeb99ffd7951514ae6eae8b28cceb9aebd9f