summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.junit
Commit message (Collapse)AuthorAgeFilesLines
* JGit v6.10.0.202405212237-m3v6.10.0.202405212237-m3Matthias Sohn2024-05-223-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I4efb1066ee4146d0455c39cc07879533b8933e43
* Prepare 6.10.0-SNAPSHOT buildsMatthias Sohn2024-03-053-24/+24
| | | | Change-Id: Ie728ef9a7d3c6430a5da30f6a61afd2176015748
* Prepare 6.9.1-SNAPSHOT buildsMatthias Sohn2024-03-053-24/+24
| | | | Change-Id: I10f901209be2faa34ebb9355c86c2106bac38ba5
* JGit v6.9.0.202403050737-rv6.9.0.202403050737-rMatthias Sohn2024-03-053-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I70494c0c69ac549dea9b4cf7c5b25e94c1b4b250
* JGit v6.9.0.202403050045-rv6.9.0.202403050045-rMatthias Sohn2024-03-053-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I4c7a6542ad4252c5a9499e69f68650d2026bde40
* Prepare 6.9.0-SNAPSHOT buildsMatthias Sohn2024-03-053-4/+4
| | | | Change-Id: Ifadeead735c8772e58dd4e5c7381b44c5221a295
* JGit v6.9.0.202402281855-rc1v6.9.0.202402281855-rc1Matthias Sohn2024-02-283-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I23d489ccdc257a8c25da4b90dc51d4a8951d320c
* Prepare 6.9.0-SNAPSHOT buildsMatthias Sohn2024-02-223-4/+4
| | | | Change-Id: I11f4871bfdf6c6c0de5d5ed577edf16bac8cf681
* JGit v6.9.0.202402211805-m3v6.9.0.202402211805-m3Matthias Sohn2024-02-213-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Id2f3934947d6d1e94feeb9e73ad7282ae089b682
* Enable using slf4j 2.xMatthias Sohn2023-12-221-1/+1
| | | | | | | | Eclipse platform moved to sfl4j 2.x. Hence relax version constraint so that both 1.7 and 2.x are allowed. Bug: egit-5 Change-Id: Ie0b00310d8f3f2553457c8668a38978a67b8febe
* Prepare 6.9.0-SNAPSHOT buildsMatthias Sohn2023-12-043-24/+24
| | | | Change-Id: Id1d784ec4870cfb53c4b140fe0bb3fad9eef651d
* Prepare 6.8.1-SNAPSHOT buildsMatthias Sohn2023-11-293-24/+24
| | | | Change-Id: I56458c5345dcd9544868c948e90c9827d25c6850
* JGit v6.8.0.202311291450-rv6.8.0.202311291450-rMatthias Sohn2023-11-293-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Iecfe3f628cfdc437ee0d63fe52653ef952c8c494
* Prepare 6.8.0-SNAPSHOT buildsMatthias Sohn2023-11-223-4/+4
| | | | Change-Id: I89178175549541111cddb88da401899960c0ecac
* JGit v6.8.0.202311212206-rc1v6.8.0.202311212206-rc1Matthias Sohn2023-11-213-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I6a40cdef68538fa769f4525eb2ff1ed4a810f11c
* Prepare 6.8.0-SNAPSHOT buildsMatthias Sohn2023-11-153-4/+4
| | | | Change-Id: Id11a260db84aea6743f2e6edec8b8010693aab42
* JGit v6.8.0.202311151710-m2v6.8.0.202311151710-m2Matthias Sohn2023-11-153-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I9d06bb08fc1f9a2a08d4bc5a4459ec7e7e8c1be4
* Enable Maven reproducible buildsMatthias Sohn2023-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - configure Maven to run build reproducibly [1] - use UTC timestamp of checked out commit as build timestamp - add git-describe, git-commit-id, git-commit-id, git-tags, git-remote-origin-url to MANIFEST.MF files - configure cyclonedx-maven-plugin to also use UTC timestamp of checked out commit - for packaging build use tycho-buildtimestamp-jgit [2] to ensure version uses the timestamp of the last commit - SBOMs are not reproducible by design [3] they should have a build timestamp matching the time when the build was executed and a serial number which is a unique UUID per build run. Hence exclude them from comparison [4]. - Use gmavenplus-plugin to format build timestamps. Maven expects build timestamp in ISO-8601 format, to replace the qualifier in versions the timestamp format must be compatible with rules for OSGi version numbers. Didn't find a way to read the properties set by the git-commit-id-maven-plugin from another plugin. Hence use JGit in a groovy script to get the commit time of the current HEAD and provide it in these two formats. TODO: packaging build (features and p2 repository) is not yet binary reproducible since that's not yet supported by Tycho [5], artefacts have reproducible version numbers but file lastModified timestamps are not yet reproducible. Test plan for Maven build: - build using mvn clean install" - verify second build is reproducible: mvn -T1 clean verify artifact:compare verification seems not to be thread-safe, hence run it with a single thread using option -T1 For packaging build (still fails due to non-reproducible file timestamps): - build using mvn -f org.eclipse.jgit.packaging/pom.xml clean install - verify second build is reproducible: mvn -T1 -f org.eclipse.jgit.packaging/pom.xml clean verify artifact:compare [1] https://maven.apache.org/guides/mini/guide-reproducible-builds.html [2] https://wiki.eclipse.org/Tycho/Reproducible_Version_Qualifiers [3] https://github.com/CycloneDX/cyclonedx-maven-plugin/issues/84 [4] https://maven.apache.org/plugins/maven-artifact-plugin/compare-mojo.html [5] https://github.com/eclipse-tycho/tycho/issues/233 Change-Id: I0202f55a1b6ae0edd922cfef638beb39d2ce9417
* TestRepository: Add getInstant methodDavid Ostrovsky2023-10-051-0/+11
| | | | | | | | 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 getInstant method. Change-Id: Ie010b76d1c213cd0a645f716783ed2d57fc78071
* [errorprone] Add missing javadoc summaryMatthias Sohn2023-09-251-0/+2
| | | | | | see https://google.github.io/styleguide/javaguide.html#s7.2-summary-fragment Change-Id: Iaf4a6b55d4e4c59b7a2da3451164abb1bb47d4a1
* [errorprone] Fix BadImportMatthias Sohn2023-09-251-4/+4
| | | | | | See https://errorprone.info/bugpattern/BadImport Change-Id: Iea98b15862ed0bc4bcad759a7240133769680808
* [errorprone] MockSystemReader: fix CatchAndPrintStackTraceMatthias Sohn2023-09-251-1/+1
| | | | | | | See https://errorprone.info/bugpattern/CatchAndPrintStackTrace Change-Id: If1ec66ea65eaef9311a650d8a5741a03ac76cb88 Change-Id: Ic52205bab141a4e3c6a9fefecf749f1ccfc0e491
* Use ShutdownHook to gracefully handle JVM shutdownMatthias Sohn2023-09-122-17/+18
| | | | | | | | | | in all classes which already registered their own shutdown hook - CloneCommand - GC#PidLock - FS#FileStoreAttributes - LocalDiskRepositoryTestCase#Cleanup Change-Id: I3efc1f83f3cbbf43eeeaaedcd2bee1ef31971a72
* OSGi: move plugin localization to subdirectoryThomas Wolf2023-09-123-3/+3
| | | | | | | | | | | | | | | | | | | | | | OSGi can have its plugin localization at an arbitrary place; there is no need to have it in a top-level plugin.properties file. In non-OSGi environments having the files at the root level may mean that these files clash with each other, or, as in the referenced bug, with some third-party plug-in's plugin.properties, which may not even have anything to do with localization. Move our OSGi localization to a subfolder OSGI-INF/l10n. For OSGi environments, that's just as good, and for non-OSGi environments it avoid clashes with other root level items on the classpath or in a fat JAR. For fragments, use neither plugin.properties (which would clash with the host plug-in's plugin.properties) nor fragment.properties (which might clash with other fragments for the same fragment host bundle). Instead use names "relative" to the host bundle. Bug: 582394 Change-Id: Ifbcd046d912e2cfe86c0f7259c5ca8de599d9aa1 Signed-off-by: Thomas Wolf <twolf@apache.org>
* Prepare 6.8.0-SNAPSHOT buildsMatthias Sohn2023-09-073-23/+23
| | | | Change-Id: Ifc81f0a96c2ced0b25926b9daa539d9cfc951925
* Prepare 6.7.1-SNAPSHOT buildsMatthias Sohn2023-09-073-23/+23
| | | | Change-Id: I96097ef8c6f198220f513bbc6d5f8881834a1491
* JGit v6.7.0.202309050840-rv6.7.0.202309050840-rMatthias Sohn2023-09-053-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Ibe952d97bc178adb909cdd40f48957f5b68af699
* Prepare 6.7.0-SNAPSHOT buildsMatthias Sohn2023-08-303-4/+4
| | | | Change-Id: I49751232464e70b7d1dc3292a9f36b7a7015e44f
* JGit v6.7.0.202308301100-rc1v6.7.0.202308301100-rc1Matthias Sohn2023-08-303-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I712a9f6830364ed404d03f3a145c055906273544
* Prepare 6.7.0-SNAPSHOT buildsMatthias Sohn2023-08-033-4/+4
| | | | Change-Id: I936d2d9106a1e3b7a98ec89fec8ae8a92ec765f2
* JGit v6.7.0.202308011830-m2v6.7.0.202308011830-m2Matthias Sohn2023-08-023-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I255a979e9f48f60a251ef7b74ced3f720f012706
* Default for global (user) git ignore fileThomas Wolf2023-06-191-5/+19
| | | | | | | | | | | | | | | | | | | | C git has a default for git config core.excludesfile: "Its default value is $XDG_CONFIG_HOME/git/ignore. If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/ignore is used instead." [1] Implement this in the WorkingTreeIterator$RootIgnoreNode. To make this testable, mock the "user.home" directory for all JGit tests, otherwise tests might pick up a real user's git ignore file. Also ensure that JGit code always reads "user.home" via the SystemReader. Add tests for both locations. [1] https://git-scm.com/docs/gitignore#_description Bug: 436127 Change-Id: Ie510259320286c3c13a6464a37da1bd9ca1e373a Signed-off-by: Thomas Wolf <twolf@apache.org>
* Fix all Javadoc warnings and fail on themAntoine Musso2023-06-1610-37/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes all the javadoc warnings, stops ignoring doclint 'missing' category and fails the build on javadoc warnings for public and protected classes and class members. Since javadoc doesn't allow access specifiers when specifying doclint configuration we cannot set `-Xdoclint:all,-missing/private` hence there is no simple way to skip private elements from doclint. Therefore we check javadoc using the Eclipse Java compiler (which is used by default) and javadoc configuration in `.settings/org.eclipse.jdt.core.prefs` files. This allows more fine grained configuration. We can reconsider this when javadoc starts supporting access specifiers in the doclint configuration. Below are detailled explanations for most modifications. @inheritDoc =========== doclint complains about explicits `{@inheritDoc}` when the parent does not have any documentation. As far as I can tell, javadoc defaults to inherit comments and should only be used when one wants to append extra documentation from the parent. Given the parent has no documentation, remove those usages which doclint complains about. In some case I have moved up the documentation from the concrete class up to the abstract class. Remove `{@inheritDoc}` on overriden methods which don't add additional documentation since javadoc defaults to inherit javadoc of overridden methods. @value to @link =============== In PackConfig, DEFAULT_SEARCH_FOR_REUSE_TIMEOUT and similar are forged from Integer.MAX_VALUE and are thus not considered constants (I guess cause the value would depends on the platform). Replace it with a link to `Integer.MAX_VALUE`. In `StringUtils.toBoolean`, @value was used to refer to the `stringValue` parameter. I have replaced it with `{@code stringValue}`. {@link <url>} to <a> ==================== @link does not support being given an external URL. Replaces them with HTML `<a>`. @since: being invalid ===================== org.eclipse.jgit/src/org/eclipse/jgit/util/Equality.java has an invalid tag `@since: ` due to the extra `:`. Javadoc does not complain about it with version 11.0.18+10 but does with 11.0.19.7. It is invalid regardless. invalid HTML syntax =================== - javadoc doesn't allow <br/>, <p/> and </p> anymore, use <br> and <p> instead - replace <tt>code</tt> by {@code code} - <table> tags don't allow summary attribute, specify caption as <caption>caption</caption> to fix this doclint visibility issue ======================== In the private abstract classes `BaseDirCacheEditor` and `BasePackConnection` links to other methods in the abstract class are inherited in the public subclasses but doclint gets confused and considers them unreachable. The HTML documentation for the sub classes shows the relative links in the sub classes, so it is all correct. It must be a bug somewhere in javadoc. Mute those warnings with: @SuppressWarnings("doclint:missing") Misc ==== Replace `<` and `>` with HTML encoded entities (`&lt; and `&gt;`). In `SshConstants` I went enclosing a serie of -> arrows in @literal. Additional tags =============== Configure maven-javad0c-plugin to allow the following additional tags defined in https://openjdk.org/jeps/8068562: - apiNote - implSpec - implNote Missing javadoc =============== Add missing @params and descriptions Change-Id: I840056389aa59135cfb360da0d5e40463ce35bd0 Also-By: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 6.7.0-SNAPSHOT buildsMatthias Sohn2023-05-243-23/+23
| | | | Change-Id: I50ff7ee31046cfc29a087c8963be3deae24b1c9c
* Prepare 6.6.0-SNAPSHOT buildsMatthias Sohn2023-03-013-23/+23
| | | | Change-Id: I17893f9db12bcb208866f40a06cd4f1ccbb4fe30
* BatchingProgressMonitor: expose time spent per taskMatthias Sohn2023-02-271-0/+5
| | | | | | | | | | | | | | | | | | | Display elapsed time per task if enabled via ProgressMonitor#showDuration or if system property or environment variable GIT_TRACE_PERFORMANCE is set to "true". If both the system property and the environment variable are set the system property takes precedence. E.g. using jgit CLI: $ GIT_TRACE_PERFORMANCE=true jgit clone https://foo.bar/foobar Cloning into 'foobar'... remote: Counting objects: 1 [0.002s] remote: Finding sources: 100% (15531/15531) [0.006s] Receiving objects: 100% (169737/169737) [13.045s] Resolving deltas: 100% (67579/67579) [1.842s] Change-Id: I4d624e7858b286aeddbe7d4e557589986d73659e
* Prepare 6.5.0-SNAPSHOT buildsMatthias Sohn2022-11-233-23/+23
| | | | Change-Id: I4238b6181e96e22e540cf34802a332f868cb6dfb
* Merge branch 'stable-6.3'Matthias Sohn2022-11-201-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | * stable-6.3: Remove unused imports Suppress non-externalized String warnings Remove unused API problem filters Silence API errors Silence API errors Silence API warnings Change-Id: I6778c8266bc7e918c943dcabf23aa230f4e998d5
| * Merge branch 'stable-6.2' into stable-6.3Matthias Sohn2022-11-201-0/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.2: Remove unused imports Suppress non-externalized String warnings Remove unused API problem filters Silence API errors Silence API errors Silence API warnings Change-Id: I71aa9f890c5eb05849ad16a00b9974da5e51171e
| | * Remove unused API problem filtersMatthias Sohn2022-11-201-17/+0
| | | | | | | | | | | | Change-Id: I890716bc052dcce2ce136040035b442247c08332
| | * Merge branch 'stable-6.1' into stable-6.2Matthias Sohn2022-11-202-0/+19
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.1: Silence API errors Silence API errors Silence API warnings Change-Id: Id3efa1b32710661cde63e93c5b8832785a805415
| | | * Silence API errorsMatthias Sohn2022-11-202-0/+19
| | | | | | | | | | | | | | | | Change-Id: I07c42fe9417edb0570dd475a7e935112a878a93b
| | | * Prepare 6.1.1-SNAPSHOT buildsMatthias Sohn2022-03-083-23/+23
| | | | | | | | | | | | | | | | Change-Id: Ifc80355025d8459245843be1c24dc5a286913e77
| | | * JGit v6.1.0.202203080745-rv6.1.0.202203080745-rMatthias Sohn2022-03-083-4/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: I8766ed400020c9571f321bbbfe34b0688af0107d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | * Prepare 6.1.0-SNAPSHOT buildsMatthias Sohn2022-03-023-4/+4
| | | | | | | | | | | | | | | | Change-Id: I525fc1258a729c36d63fdb3c8170e9f04ad55cec
| | | * JGit v6.1.0.202203021511-rc1v6.1.0.202203021511-rc1Matthias Sohn2022-03-023-4/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: I4c75a58fd76102e773af4f1f8a1487d5e7ffc7cf Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | * Prepare 6.1.0-SNAPSHOT buildsMatthias Sohn2022-03-013-4/+4
| | | | | | | | | | | | | | | | Change-Id: I30a89277373ad62c857151532942e135e34d1d0c
| | | * JGit v6.1.0.202202221755-m3v6.1.0.202202221755-m3Matthias Sohn2022-02-223-4/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: Idcd46e05ca3eec376f8ac83209dba0978e004f9a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * | Prepare 6.2.1-SNAPSHOT buildsMatthias Sohn2022-06-073-23/+23
| | | | | | | | | | | | | | | | Change-Id: I4a0f3919ff43a3b9fafa85b8ecec2d760b7eb161
| | * | JGit v6.2.0.202206071550-rv6.2.0.202206071550-rMatthias Sohn2022-06-073-4/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Ib4ae85a0cabcc9cb867f2c85034d72fb676a500a