aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.lfs
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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
| * [errorprone] Add missing javadoc summaryMatthias Sohn2023-09-252-0/+4
| | | | | | | | | | | | see https://google.github.io/styleguide/javaguide.html#s7.2-summary-fragment Change-Id: Iaf4a6b55d4e4c59b7a2da3451164abb1bb47d4a1
| * [errorprone] Suppress JavaLangClash to avoid breaking changeMatthias Sohn2023-09-251-0/+2
| | | | | | | | | | | | | | | | | | Renaming this class is a breaking change. Add a todo to rename it in next major release. See https://errorprone.info/bugpattern/JavaLangClash Change-Id: I3528fd654e30d98f4ea43e71107d83324942141c
| * [errorprone] Fix EqualsGetClassMatthias Sohn2023-09-251-1/+1
| | | | | | | | | | | | See https://errorprone.info/bugpattern/EqualsGetClass Change-Id: Ida19a7e60656f87518e5ae2ef5eae511edb5b837
| * [errorprone] Suppress MissingSummary for translation bundlesMatthias Sohn2023-09-251-0/+1
| | | | | | | | Change-Id: I4da51c7e089366b016a0cc64f768a151c24bc956
| * [errorprone] Remove unnecessary parenthesesMatthias Sohn2023-09-221-2/+2
| | | | | | | | | | | | see https://errorprone.info/bugpattern/UnnecessaryParentheses Change-Id: Id08cf0e05b3d35f139fc34e0aa83882555a8a81a
| * OSGi: move plugin localization to subdirectoryThomas Wolf2023-09-123-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-27/+27
| | | | | | | | Change-Id: Ifc81f0a96c2ced0b25926b9daa539d9cfc951925
| * Prepare 6.7.1-SNAPSHOT buildsMatthias Sohn2023-09-073-27/+27
| | | | | | | | 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
| * Fix all Javadoc warnings and fail on themAntoine Musso2023-06-1612-19/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-27/+27
| | | | | | | | Change-Id: I50ff7ee31046cfc29a087c8963be3deae24b1c9c
| * Prepare 6.6.0-SNAPSHOT buildsMatthias Sohn2023-03-013-27/+27
| | | | | | | | Change-Id: I17893f9db12bcb208866f40a06cd4f1ccbb4fe30
| * Prepare 6.5.0-SNAPSHOT buildsMatthias Sohn2022-11-233-27/+27
| | | | | | | | Change-Id: I4238b6181e96e22e540cf34802a332f868cb6dfb
| * Prepare 6.4.0-SNAPSHOT buildsMatthias Sohn2022-09-143-27/+27
| | | | | | | | Change-Id: I47ca5f1d0263caa0bfc7c303042360c6c5ac4dec
| * Prepare 6.3.1-SNAPSHOT buildsMatthias Sohn2022-09-123-27/+27
| | | | | | | | Change-Id: I44e159eca4131880d74d3078060e7e20f9b5ce76
| * JGit v6.3.0.202209071007-rv6.3.0.202209071007-rMatthias Sohn2022-09-073-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Iea3fae9f6f6c5fb0a79f7684334a3e0059738c4f
| * JGit v6.3.0.2022009070944-rMatthias Sohn2022-09-073-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I3cc78dbcf8c7970e80bf1499751611110ec2b30b
| * Prepare 6.3.0-SNAPSHOT buildsMatthias Sohn2022-08-173-4/+4
| | | | | | | | Change-Id: Ie398b651c5308ec86812bf01fcc563d3e679c828
| * JGit v6.3.0.202208161710-m3v6.3.0.202208161710-m3Matthias Sohn2022-08-163-4/+4
| | | | | | | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I0954d11a1f35eff196b157df3aa8386476c48a7e
* | Merge branch 'master' into nextMatthias Sohn2022-07-069-33/+282
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (193 commits) Add aarch64 environment to target platform configuration JGit blame very slow for large merge commits that rename files UploadPack: don't prematurely terminate timer in case of error Do not create reflog for remote tracking branches during clone UploadPack: do not check reachability of visible SHA1s Fix warnings about non-externalized string literals [sshd] Correct signature for RSA keys from an SSH agent Run tests that checks araxis output only on Linux Add missing package import javax.management to org.eclipse.jgit Add 4.25 target platform for Eclipse 2022-09 Suppress API errors raised for new API introduced in 5.13.1 Eclipse 4.24 was released, adapt p2 URL accordingly Fix DefaultCharset bug pattern flagged by error prone Use SystemReader#getDefaultCharset to read console input Annotate the exception with the possible failure reason when Bitmaps are not enabled. Prepare 5.13.2-SNAPSHOT builds JGit v5.13.1.202206130422-r AmazonS3: Add support for AWS API signature version 4 Fix typo in DiffTools#compare javadoc Update jgit-last-release-version to 6.2.0.202206071550-r ... Change-Id: I561a0178f6bc512e8ce7d75f1870a044cb051fac
| * Prepare 6.3.0-SNAPSHOT buildsMatthias Sohn2022-06-073-27/+27
| | | | | | | | Change-Id: I092fdd2c35d85bf35e3ef700aa7078e6d304d977
| * Lazy loading of .lfsconfig.Matthias Fromme2022-04-301-21/+41
| | | | | | | | | | | | | | | | Load the '.lfsconfig ' on access instead of trying to load it unconditionally each time an LFS filter is applied. Bug 578020 Change-Id: I986d4e61a736fc83cf00e62a08d8413c6bb53f78
| * [push, lfs] Tell the pre-push hook whether the push is a dry runThomas Wolf2022-03-231-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a feature that does not exist in C git: an external pre-push hook doesn't know whether the push is run as a dry run. But for internal hooks written in Java it is entirely possible to give a hook this information. In JGit with its internal LFS implementation, this enables us to not perform LFS uploads in a dry run. This is kind of important because EGit frequently does a dry-run before doing the actual push to give the user a way to review what would be pushed before it actually happens. Doing an LFS upload of potentially huge files during a dry-run is wasteful, makes the dry run not actually a dry run, and leads to uploading the same file twice if followed by a real push. Use the information in the LfsPrePushHook to only do the initial call to the LFS server, but then skipping the actual upload if the push is a dry run. That way, a failure to contact the LFS server leads to an error in the dry run, as it should. Bug: 546567 Change-Id: I155430f27c4979d91096ba72fd95c3775dd3f28b Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * LFS: clean up messagesThomas Wolf2022-03-212-4/+2
| | | | | | | | | | | | Remove an unused message, and remove unnecessary quotes. Change-Id: I9da3eeb3db33324fa07bebd434bca3c0a4da27ab Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * Fix MANIFEST.MF in the LFS bundlesThomas Wolf2022-03-121-0/+1
| | | | | | | | | | | | | | Somehow new dependencies added in commit a229072f got lost when merging stable-6.1 into master. Change-Id: I19c16c6be73d07e05f37241a44cf25133ff467a5 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
| * Merge branch 'stable-6.1'Matthias Sohn2022-03-097-26/+234
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-6.1: Prepare 6.1.1-SNAPSHOT builds JGit v6.1.0.202203080745-r [checkout] Use .gitattributes from the commit to be checked out Don't use final for method parameters [push] support the "matching" RefSpecs ":" and "+:" [push] Call the pre-push hook later in the push process IndexDiff: use tree filter also for SubmoduleWalk Run license check with option -Ddash.projectId=technology.jgit Exclude transitive dependencies of sshd-sftp Update DEPENDENCIES for 6.1.0 release Add dependency to dash-licenses Fix typos of some keys in LfsText Sort LfsText entries alphabetically Support for "lfs.url" from ".lfsconfig" Change-Id: I1b9f0c0ed647837e00b9640d235dbfab2329c5a6
| | * Prepare 6.1.1-SNAPSHOT buildsMatthias Sohn2022-03-083-27/+27
| | | | | | | | | | | | 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>
| | * 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-036-10/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
| | * 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.0-SNAPSHOT buildsMatthias Sohn2022-03-033-26/+26
| |/ | | | | | | Change-Id: Ic2dde88bee3242169d6fa50956f8938f3fc4ba8e
| * Support LFS Server URL without .git suffixNail Samatov2022-02-081-6/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * LFS: Fix error occurring during delete branchNail Samatov2022-01-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix TransportException occurring when deleting a branch and push that change to remote repository if BuiltinLFS is used to work with repository. When finding LFS pointers in RemoteRepUpdate, LfsPrePushHook fails to open ObjectReader with new object id equal to ObjectId.zeroId(). If update is a deleting update (new object id is zero id), we can assume that this update doesn't contain LFS Pointer and we can skip step with extracting LFS pointer for that RemoteRefUpdate. Bug: 578313 Change-Id: Ic4367978338b8234d39d9af0d9674490f79fc22d Signed-off-by: Nail Samatov <sanail@yandex.ru>
* | Prepare 7.0.0-SNAPSHOT buildsMatthias Sohn2021-12-043-26/+26
|/ | | | Change-Id: Ia2c109af4520302acfc403450778dcaa7a532e6f
* Prepare 6.1.0-SNAPSHOT buildsMatthias Sohn2021-11-243-26/+26
| | | | Change-Id: Ied07b1298bd32672a5025cec5079440ab9b9a100
* 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>