diff options
177 files changed, 3328 insertions, 1341 deletions
diff --git a/.gitattributes b/.gitattributes index f57840b7ee..70de5942cd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,14 @@ +* text=auto + +*.asc binary +*.gif binary +*.gitindex.dat binary +*.key binary +*.patch binary +*.pdf binary +*.png binary +org.eclipse.jgit.test/tst-rsrc/org/eclipse/jgit/diff/** binary +org.eclipse.jgit.test/tst-rsrc/org/eclipse/jgit/test/resources/** binary +org.eclipse.jgit.test/tst-rsrc/org/eclipse/jgit/util/io/** binary + *.java diff=java diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000000..402d0772f0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,61 @@ +name: Bug Report +description: File a bug report. +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to fill out this bug report! + - type: input + id: version + attributes: + label: Version + description: With what version(s) of Eclipse JGit do you observe the problem? + placeholder: a version, like 5.13.0 or 6.8.0 + validations: + required: true + - type: dropdown + id: operatingSystem + attributes: + label: Operating System + description: On what Operating System(s) do you observe the problem? + multiple: true + options: + - "Linux/Unix" + - MacOS + - Windows + validations: + required: true + - type: textarea + id: description + attributes: + label: Bug description + description: Explain the buggy behavior, and how to reproduce it. + validations: + required: true + - type: textarea + id: actual + attributes: + label: Actual behavior + description: What happened? + placeholder: Enclose exception stack traces by backticks, or paste them in the "Relevant log output" field below. + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What did you expect? + validations: + required: true + - type: textarea + id: logs + attributes: + label: Relevant log output + description: Please copy and paste any relevant log output or exception stack traces. This will be automatically formatted into code, so no need for backticks. + render: Shell + - type: textarea + id: other + attributes: + label: Other information + description: Any other relevant information. + placeholder: "For instance if you're reporting a cloning or fetching/pushing problem, what git server is used, and if the repository is public, what's its URL?"
\ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000000..84a012236c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,32 @@ +name: Feature Request +description: Suggest an enhancement or a new feature. +body: + - type: markdown + attributes: + value: | + Thank you for helping making Eclipse JGit better! + - type: textarea + id: description + attributes: + label: Description + description: What feature or enhancement you would like to have in Eclipse JGit? + validations: + required: true + - type: textarea + id: motivation + attributes: + label: Motivation + description: Explain the use case for the new feature. + placeholder: Explain why it would be good to have the new feature or enhancement. What problem would it solve? + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: What alternatives did you consider? What work-around, if any, are you using currently? + - type: textarea + id: other + attributes: + label: Additional context + description: Any other information that may be relevant. diff --git a/Documentation/config-options.md b/Documentation/config-options.md index ec9d86bd8d..78930e6267 100644 --- a/Documentation/config-options.md +++ b/Documentation/config-options.md @@ -56,6 +56,7 @@ For details on native git options see also the official [git config documentatio | `core.symlinks` | Auto detect if filesystem supports symlinks| ✅ | If false, symbolic links are checked out as small plain files that contain the link text. | | `core.trustFolderStat` | `true` | ⃞ | Whether to trust the pack folder's, packed-refs file's and loose-objects folder's file attributes (Java equivalent of stat command on *nix). When looking for pack files, if `false` JGit will always scan the `.git/objects/pack` folder and if set to `true` it assumes that pack files are unchanged if the file attributes of the pack folder are unchanged. When getting the list of packed refs, if `false` JGit will always read the packed-refs file and if set to `true` it uses the file attributes of the packed-refs file and will only read it if a file attribute has changed. When looking for loose objects, if `false` and if a loose object is not found, JGit will open and close a stream to `.git/objects` folder (which can refresh its directory listing, at least on some NFS clients) and retry looking for that loose object. Setting this option to `false` can help to workaround caching issues on NFS, but reduces performance. | | `core.trustPackedRefsStat` | `unset` | ⃞ | Whether to trust the file attributes (Java equivalent of stat command on *nix) of the packed-refs file. If `never` JGit will ignore the file attributes of the packed-refs file and always read it. If `always` JGit will trust the file attributes of the packed-refs file and will only read it if a file attribute has changed. `after_open` behaves the same as `always`, except that the packed-refs file is opened and closed before its file attributes are considered. An open/close of the packed-refs file is known to refresh its file attributes, at least on some NFS clients. If `unset`, JGit will use the behavior described in `trustFolderStat`. | +| `core.trustLooseRefStat` | `always` | ⃞ | Whether to trust the file attributes (Java equivalent of stat command on *nix) of the loose ref. If `always` JGit will trust the file attributes of the loose ref and its parent directories. `after_open` behaves similar to `always`, except that all parent directories of the loose ref up to the repository root are opened and closed before its file attributes are considered. An open/close of these parent directories is known to refresh the file attributes, at least on some NFS clients. | | `core.worktree` | Root directory of the working tree if it is not the parent directory of the `.git` directory | ✅ | The path to the root of the working tree. | ## __fetch__ options @@ -77,6 +78,7 @@ For details on native git options see also the official [git config documentatio | `gc.pruneExpire` | `2.weeks.ago` | ✅ | Grace period after which unreachable objects will be pruned. | | `gc.prunePackExpire` | `1.hour.ago` | ⃞ | Grace period after which packfiles only containing unreachable objects will be pruned. | | `gc.writeChangedPaths` | `false`| ⃞ | Whether bloom filter should be written to commit-graph during a gc operation. | +| `gc.writeCommitGraph`| `false` | ⃞ | If true, then gc will rewrite the commit-graph file when jgit gc is run. | ## __http__ options diff --git a/SECURITY.md b/SECURITY.md index e6f57c6986..468a1dbfdf 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,48 +2,41 @@ _ISO 27005 defines vulnerability as: "A weakness of an asset or group of assets that can be exploited by one or more threats."_ -## The Eclipse Security Team +## Reporting a Security Vulnerability -The Eclipse Security Team provides help and advice to Eclipse projects -on vulnerability issues and is the first point of contact -for handling security vulnerabilities. -Members of the Security Team are committers on Eclipse Projects -and members of the Eclipse Architecture Council. +Vulnerabilities can be reported either via +[email to the Eclipse Security Team](security@eclipse-foundation.org) +or using the +[dedicated security issue tracker](https://gitlab.eclipse.org/security/vulnerability-reports/-/issues/new?issuable_template=new_vulnerability). -Contact the [Eclipse Security Team](mailto:security@eclipse.org). +## Additional Information -**Note that, as a matter of policy, the security team does not open attachments.** +**The Eclipse Foundation Security Team** provides help and advice to Eclipse Foundation projects on +vulnerability issues and is the first point of contact for handling security vulnerabilities. +Members of the Eclipse Foundation Security Team are selected amongs committers on Eclipse Projects, +members of the Eclipse Architecture Council, and Eclipse Foundation staff. -## Reporting a Security Vulnerability +The general security mailing list address is security@eclipse-foundation.org. Members of the Eclipse +Foundation Security Team will receive messages sent to this address. This address should be used +only for reporting undisclosed vulnerabilities; regular issue reports and questions unrelated to +vulnerabilities in Eclipse Foundation software will be ignored. Note that this email set to this +address is not encrypted. -Vulnerabilities can be reported either via email to the Eclipse Security Team -or directly with a project via the Eclipse Foundation's Bugzilla instance. - -The general security mailing list address is security@eclipse.org. -Members of the Eclipse Security Team will receive messages sent to this address. -This address should be used only for reporting undisclosed vulnerabilities; -regular issue reports and questions unrelated to vulnerabilities in Eclipse software -will be ignored. -Note that this email address is not encrypted. +**Note that, as a matter of policy, the security team does not open attachments.** The community is also encouraged to report vulnerabilities using the -[Eclipse Foundation's Bugzilla instance](https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Community&component=Vulnerability%20Reports&keywords=security&groups=Security_Advisories). -Note that you will require an Eclipse Foundation account to create an issue report, +[Eclipse Foundation’s issue tracker](https://gitlab.eclipse.org/security/vulnerability-reports/-/issues/new?issuable_template=new_vulnerability). +Note that you will need an Eclipse Foundation account to create an issue report +([create an account here if you do not have one](https://accounts.eclipse.org/user/register?destination=user)), but by doing so you will be able to participate directly in the resolution of the issue. -Issue reports related to vulnerabilities must be marked as "committers-only", -either automatically by clicking the provided link, by the reporter, -or by a committer during the triage process. -Note that issues marked "committers-only" are visible to all Eclipse committers. -By default, a "committers-only" issue is also accessible to the reporter -and individuals explicitly indicated in the "cc" list. +Issue reports related to vulnerabilities must be marked as “confidential”, either automatically by +clicking the provided link by the reporter, or by a committer during the triage process. ## Disclosure -Disclosure is initially limited to the reporter and all Eclipse Committers, -but is expanded to include other individuals, and the general public. The timing and manner of disclosure is governed by the -[Eclipse Security Policy](https://www.eclipse.org/security/policy.php). +[Eclipse Foundation Vulnerability Reporting Policy](https://www.eclipse.org/security/policy). Publicly disclosed issues are listed on the -[Disclosed Vulnerabilities Page](https://www.eclipse.org/security/known.php).
\ No newline at end of file +[Disclosed Vulnerabilities page](https://www.eclipse.org/security/known).
\ No newline at end of file @@ -90,30 +90,32 @@ maven_jar( sha1 = "51cf043c87253c9f58b539c9f7e44c8894223850", ) -SSHD_VERS = "2.11.0" +SSHD_VERS = "2.12.0" maven_jar( name = "sshd-osgi", artifact = "org.apache.sshd:sshd-osgi:" + SSHD_VERS, - sha1 = "7ec6b14ab789fc4b1ce9fdcd0e13d22b5c940e7b", + sha1 = "32b8de1cbb722ba75bdf9898e0c41d42af00ce57", ) maven_jar( name = "sshd-sftp", artifact = "org.apache.sshd:sshd-sftp:" + SSHD_VERS, - sha1 = "3a293bba303c486a9ff6be8e11c9c68fd56b63c7", + sha1 = "0f96f00a07b186ea62838a6a4122e8f4cad44df6", ) +JNA_VERS = "5.14.0" + maven_jar( name = "jna", - artifact = "net.java.dev.jna:jna:5.13.0", - sha1 = "1200e7ebeedbe0d10062093f32925a912020e747", + artifact = "net.java.dev.jna:jna:" + JNA_VERS, + sha1 = "67bf3eaea4f0718cb376a181a629e5f88fa1c9dd", ) maven_jar( name = "jna-platform", - artifact = "net.java.dev.jna:jna-platform:5.13.0", - sha1 = "88e9a306715e9379f3122415ef4ae759a352640d", + artifact = "net.java.dev.jna:jna-platform:" + JNA_VERS, + sha1 = "28934d48aed814f11e4c584da55c49fa7032b31b", ) maven_jar( @@ -148,8 +150,14 @@ maven_jar( maven_jar( name = "commons-compress", - artifact = "org.apache.commons:commons-compress:1.25.0", - sha1 = "9d35aec423da6c8a7f93d7e9e1c6b1d9fe14bb5e", + artifact = "org.apache.commons:commons-compress:1.26.0", + sha1 = "659feffdd12280201c8aacb8f7be94f9a883c824", +) + +maven_jar( + name = "commons-io", + artifact = "commons-io:commons-io:2.15.1", + sha1 = "f11560da189ab563a5c8e351941415430e9304ea", ) maven_jar( @@ -178,28 +186,28 @@ maven_jar( maven_jar( name = "mockito", - artifact = "org.mockito:mockito-core:5.7.0", - sha1 = "a1c258331ab91d66863c983aff7136357e9de056", + artifact = "org.mockito:mockito-core:5.10.0", + sha1 = "b3812fa2ee069f1d0b41c1c0155da79d0e1dcde0", ) maven_jar( name = "assertj-core", - artifact = "org.assertj:assertj-core:3.24.2", - sha1 = "ebbf338e33f893139459ce5df023115971c2786f", + artifact = "org.assertj:assertj-core:3.25.3", + sha1 = "792b270e73aa1cfc28fa135be0b95e69ea451432", ) -BYTE_BUDDY_VERSION = "1.14.8" +BYTE_BUDDY_VERSION = "1.14.12" maven_jar( name = "bytebuddy", artifact = "net.bytebuddy:byte-buddy:" + BYTE_BUDDY_VERSION, - sha1 = "505d7d8937ff00cc55db79723e26c94069b87d66", + sha1 = "6e37f743dc15a8d7a4feb3eb0025cbc612d5b9e1", ) maven_jar( name = "bytebuddy-agent", artifact = "net.bytebuddy:byte-buddy-agent:" + BYTE_BUDDY_VERSION, - sha1 = "ae6ebe485f3bcd0a1e20241488a32e6400a501ef", + sha1 = "be4984cb6fd1ef1d11f218a648889dfda44b8a15", ) maven_jar( @@ -214,55 +222,55 @@ maven_jar( sha1 = "b3add478d4382b78ea20b1671390a858002feb6c", ) -JETTY_VER = "10.0.18" +JETTY_VER = "10.0.20" maven_jar( name = "jetty-servlet", artifact = "org.eclipse.jetty:jetty-servlet:" + JETTY_VER, - sha1 = "cc0acde71a3b04db8fcde2ad60a00dfd4effab23", - src_sha1 = "b038debaa2c0c4674fa1bc6e96bcf8bf283be0e8", + sha1 = "e3661d28d5f2e2185fb085ce5560b2969e8f7c1e", + src_sha1 = "23b97219833769e3e69a071abab3811f49077e2e", ) maven_jar( name = "jetty-security", artifact = "org.eclipse.jetty:jetty-security:" + JETTY_VER, - sha1 = "399601ef4e649b3be6f9fd6176b208914f9fd171", - src_sha1 = "b203e58304afe23d8820af6abe3ca39696fe7530", + sha1 = "f082f9198038e4781ff4cdf4d32db9f90fa8f38a", + src_sha1 = "a1acb8cb40bd495ba67562cb342f371425dba47b", ) maven_jar( name = "jetty-server", artifact = "org.eclipse.jetty:jetty-server:" + JETTY_VER, - sha1 = "b59b7df009bbb85be455e42524e9a11944fb3ba1", - src_sha1 = "d45709036a573843cd57daeb3112f00f8bf4f753", + sha1 = "66deea078236e21ae9dd7443716b7642766526aa", + src_sha1 = "e2ddea07b6c85dbc7cf078e408f68d69e504b33c", ) maven_jar( name = "jetty-http", artifact = "org.eclipse.jetty:jetty-http:" + JETTY_VER, - sha1 = "9b7f2b580bdcf2a9c27168eac58276c7e6e99ccf", - src_sha1 = "4bbede666e912c8abb60c04022b84225fe9ce369", + sha1 = "d76bf933db81e9f530f1e59f1858bceddb7c4a43", + src_sha1 = "5fd939e4e5000ac76eb686e68e978747802c8a5f", ) maven_jar( name = "jetty-io", artifact = "org.eclipse.jetty:jetty-io:" + JETTY_VER, - sha1 = "a622527216b27f72744daf849aa2fa0c6f3db131", - src_sha1 = "402c5aa958a734576f13898e63f7ca7f73360b76", + sha1 = "269cea7949f739e41707f3d574782c9f227fe188", + src_sha1 = "1d30687503a0256da23706e1ebf597658d8c0011", ) maven_jar( name = "jetty-util", artifact = "org.eclipse.jetty:jetty-util:" + JETTY_VER, - sha1 = "1ee6a71c2249d5596ba578f015121c99b2b7591a", - src_sha1 = "cbba373f654f22e0f0c10c02938e2df8ec2f0fd3", + sha1 = "c628108266e75f17dffee34191b74a696fe21746", + src_sha1 = "63c17b20a8ca5c3bc1740bd807ad446f842749b4", ) maven_jar( name = "jetty-util-ajax", artifact = "org.eclipse.jetty:jetty-util-ajax:" + JETTY_VER, - sha1 = "3560c8a15f920e24daf8ad4196e23ec21610f7d6", - src_sha1 = "4b4966b125c586795e425b7b561bcd5b223d6617", + sha1 = "049dcc0ad4190786e17389b257195fe936ed3d27", + src_sha1 = "b012c053d25d902cc64a5c4432a8eedab3241d94", ) BOUNCYCASTLE_VER = "1.77" @@ -20,6 +20,16 @@ java_library( ) java_library( + name = "commons-io", + visibility = [ + "//org.eclipse.jgit.archive:__pkg__", + "//org.eclipse.jgit.pgm.test:__pkg__", + "//org.eclipse.jgit.test:__pkg__", + ], + exports = ["@commons-io//jar"], +) + +java_library( name = "commons-codec", visibility = [ "//org.eclipse.jgit:__pkg__", diff --git a/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF index 849da13e50..44cf7b0957 100644 --- a/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF @@ -5,13 +5,13 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ant.test Bundle-SymbolicName: org.eclipse.jgit.ant.test Bundle-Vendor: %Bundle-Vendor -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: org.apache.tools.ant, - org.eclipse.jgit.ant.tasks;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", + org.eclipse.jgit.ant.tasks;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", org.hamcrest.core;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)" diff --git a/org.eclipse.jgit.ant.test/pom.xml b/org.eclipse.jgit.ant.test/pom.xml index 26b4268717..f4049af032 100644 --- a/org.eclipse.jgit.ant.test/pom.xml +++ b/org.eclipse.jgit.ant.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ant.test</artifactId> diff --git a/org.eclipse.jgit.ant/META-INF/MANIFEST.MF b/org.eclipse.jgit.ant/META-INF/MANIFEST.MF index 54ea3d5215..7d416dadbd 100644 --- a/org.eclipse.jgit.ant/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ant/META-INF/MANIFEST.MF @@ -3,13 +3,13 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ant Bundle-SymbolicName: org.eclipse.jgit.ant -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: org.apache.tools.ant, - org.eclipse.jgit.storage.file;version="[6.8.1,6.9.0)" + org.eclipse.jgit.storage.file;version="[6.9.1,6.10.0)" Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor -Export-Package: org.eclipse.jgit.ant;version="6.8.1", - org.eclipse.jgit.ant.tasks;version="6.8.1"; +Export-Package: org.eclipse.jgit.ant;version="6.9.1", + org.eclipse.jgit.ant.tasks;version="6.9.1"; uses:="org.apache.tools.ant, org.apache.tools.ant.types" diff --git a/org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF index 856c782921..1ec6d789bd 100644 --- a/org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.ant - Sources Bundle-SymbolicName: org.eclipse.jgit.ant.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.ant;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.ant;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.ant/pom.xml b/org.eclipse.jgit.ant/pom.xml index 387dc1aa59..6639067109 100644 --- a/org.eclipse.jgit.ant/pom.xml +++ b/org.eclipse.jgit.ant/pom.xml @@ -15,7 +15,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ant</artifactId> diff --git a/org.eclipse.jgit.archive/META-INF/MANIFEST.MF b/org.eclipse.jgit.archive/META-INF/MANIFEST.MF index 74d38d80f1..ec7df3c89f 100644 --- a/org.eclipse.jgit.archive/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.archive/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.archive Bundle-SymbolicName: org.eclipse.jgit.archive -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: OSGI-INF/l10n/plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -13,17 +13,17 @@ Import-Package: org.apache.commons.compress.archivers;version="[1.4,2.0)", org.apache.commons.compress.compressors.bzip2;version="[1.4,2.0)", org.apache.commons.compress.compressors.gzip;version="[1.4,2.0)", org.apache.commons.compress.compressors.xz;version="[1.4,2.0)", - org.eclipse.jgit.api;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", + org.eclipse.jgit.api;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", org.osgi.framework;version="[1.3.0,2.0.0)" Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.jgit.archive.FormatActivator -Export-Package: org.eclipse.jgit.archive;version="6.8.1"; +Export-Package: org.eclipse.jgit.archive;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.api, org.apache.commons.compress.archivers, org.osgi.framework", - org.eclipse.jgit.archive.internal;version="6.8.1";x-internal:=true + org.eclipse.jgit.archive.internal;version="6.9.1";x-internal:=true diff --git a/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF index 441cbf68f0..f8169464c6 100644 --- a/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.archive - Sources Bundle-SymbolicName: org.eclipse.jgit.archive.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.archive;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.archive;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.archive/pom.xml b/org.eclipse.jgit.archive/pom.xml index 0705e5fa83..ed2a64c648 100644 --- a/org.eclipse.jgit.archive/pom.xml +++ b/org.eclipse.jgit.archive/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.archive</artifactId> diff --git a/org.eclipse.jgit.benchmarks/pom.xml b/org.eclipse.jgit.benchmarks/pom.xml index 56c6c4cb2c..614f346bbe 100644 --- a/org.eclipse.jgit.benchmarks/pom.xml +++ b/org.eclipse.jgit.benchmarks/pom.xml @@ -16,7 +16,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.benchmarks</artifactId> @@ -60,7 +60,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> - <version>3.3.0</version> <executions> <execution> <id>enforce-maven</id> @@ -80,7 +79,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.11.0</version> + <version>${maven-compiler-plugin-version}</version> <configuration> <encoding>UTF-8</encoding> <release>${java.version}</release> @@ -117,7 +116,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> - <version>3.4.1</version> <executions> <execution> <phase>package</phase> @@ -203,7 +201,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> - <version>4.0.0-M9</version> <dependencies> <dependency><!-- add support for ssh/scp --> <groupId>org.apache.maven.wagon</groupId> @@ -215,17 +212,16 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> - <version>3.0.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> - <version>3.3.0</version> + <version>${maven-jxr-plugin-version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> - <version>3.4.3</version> + <version>${maven-project-info-reports-plugin-version}</version> </plugin> </plugins> </pluginManagement> diff --git a/org.eclipse.jgit.coverage/pom.xml b/org.eclipse.jgit.coverage/pom.xml index 0718c34dc9..8c97734efb 100644 --- a/org.eclipse.jgit.coverage/pom.xml +++ b/org.eclipse.jgit.coverage/pom.xml @@ -14,7 +14,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -27,88 +27,88 @@ <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ant</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.archive</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.http.apache</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.http.server</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs.server</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.pgm</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ui</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ssh.apache</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.test</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ant.test</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.http.test</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.pgm.test</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs.test</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs.server.test</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ssh.apache.test</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> </dependencies> diff --git a/org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF index cae7b85978..ba4acf169c 100644 --- a/org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.gpg.bc.test Bundle-SymbolicName: org.eclipse.jgit.gpg.bc.test -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -13,9 +13,9 @@ Import-Package: org.bouncycastle.jce.provider;version="[1.65.0,2.0.0)", org.bouncycastle.openpgp.operator;version="[1.65.0,2.0.0)", org.bouncycastle.openpgp.operator.jcajce;version="[1.65.0,2.0.0)", org.bouncycastle.util.encoders;version="[1.65.0,2.0.0)", - org.eclipse.jgit.gpg.bc.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.gpg.bc.internal.keys;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util.sha1;version="[6.8.1,6.9.0)", + org.eclipse.jgit.gpg.bc.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.gpg.bc.internal.keys;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util.sha1;version="[6.9.1,6.10.0)", org.junit;version="[4.13,5.0.0)", org.junit.runner;version="[4.13,5.0.0)", org.junit.runners;version="[4.13,5.0.0)" diff --git a/org.eclipse.jgit.gpg.bc.test/pom.xml b/org.eclipse.jgit.gpg.bc.test/pom.xml index 00783812b9..d62bedafee 100644 --- a/org.eclipse.jgit.gpg.bc.test/pom.xml +++ b/org.eclipse.jgit.gpg.bc.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.gpg.bc.test</artifactId> diff --git a/org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF b/org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF index e5ba18a93b..d27c9def82 100644 --- a/org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF @@ -3,10 +3,10 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.gpg.bc Bundle-SymbolicName: org.eclipse.jgit.gpg.bc;singleton:=true -Fragment-Host: org.eclipse.jgit;bundle-version="[6.8.1,6.9.0)" +Fragment-Host: org.eclipse.jgit;bundle-version="[6.9.1,6.10.0)" Bundle-Vendor: %Bundle-Vendor Bundle-Localization: OSGI-INF/l10n/gpg_bc -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: org.bouncycastle.asn1;version="[1.69.0,2.0.0)", org.bouncycastle.asn1.cryptlib;version="[1.69.0,2.0.0)", @@ -29,9 +29,9 @@ Import-Package: org.bouncycastle.asn1;version="[1.69.0,2.0.0)", org.bouncycastle.util;version="[1.69.0,2.0.0)", org.bouncycastle.util.encoders;version="[1.69.0,2.0.0)", org.bouncycastle.util.io;version="[1.69.0,2.0.0)", - org.eclipse.jgit.annotations;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api.errors;version="[6.8.1,6.9.0)", - org.slf4j;version="[1.7.0,2.0.0)" -Export-Package: org.eclipse.jgit.gpg.bc;version="6.8.1", - org.eclipse.jgit.gpg.bc.internal;version="6.8.1";x-friends:="org.eclipse.jgit.gpg.bc.test", - org.eclipse.jgit.gpg.bc.internal.keys;version="6.8.1";x-friends:="org.eclipse.jgit.gpg.bc.test" + org.eclipse.jgit.annotations;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api.errors;version="[6.9.1,6.10.0)", + org.slf4j;version="[1.7.0,3.0.0)" +Export-Package: org.eclipse.jgit.gpg.bc;version="6.9.1", + org.eclipse.jgit.gpg.bc.internal;version="6.9.1";x-friends:="org.eclipse.jgit.gpg.bc.test", + org.eclipse.jgit.gpg.bc.internal.keys;version="6.9.1";x-friends:="org.eclipse.jgit.gpg.bc.test" diff --git a/org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF index 29c6a188e4..2e1149a1b5 100644 --- a/org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.gpg.bc - Sources Bundle-SymbolicName: org.eclipse.jgit.gpg.bc.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.gpg.bc;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.gpg.bc;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.gpg.bc/pom.xml b/org.eclipse.jgit.gpg.bc/pom.xml index 50886578df..191a6cfdbb 100644 --- a/org.eclipse.jgit.gpg.bc/pom.xml +++ b/org.eclipse.jgit.gpg.bc/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.gpg.bc</artifactId> diff --git a/org.eclipse.jgit.gpg.bc/src/org/eclipse/jgit/gpg/bc/internal/BouncyCastleGpgSignatureVerifier.java b/org.eclipse.jgit.gpg.bc/src/org/eclipse/jgit/gpg/bc/internal/BouncyCastleGpgSignatureVerifier.java index 7161895a6b..f4fed40973 100644 --- a/org.eclipse.jgit.gpg.bc/src/org/eclipse/jgit/gpg/bc/internal/BouncyCastleGpgSignatureVerifier.java +++ b/org.eclipse.jgit.gpg.bc/src/org/eclipse/jgit/gpg/bc/internal/BouncyCastleGpgSignatureVerifier.java @@ -15,7 +15,6 @@ import java.io.InputStream; import java.security.Security; import java.text.MessageFormat; import java.time.Instant; -import java.util.Arrays; import java.util.Date; import java.util.Iterator; import java.util.Locale; @@ -33,21 +32,18 @@ import org.bouncycastle.openpgp.jcajce.JcaPGPObjectFactory; import org.bouncycastle.openpgp.operator.jcajce.JcaPGPContentVerifierBuilderProvider; import org.bouncycastle.util.encoders.Hex; import org.eclipse.jgit.annotations.NonNull; -import org.eclipse.jgit.annotations.Nullable; import org.eclipse.jgit.api.errors.JGitInternalException; +import org.eclipse.jgit.lib.AbstractGpgSignatureVerifier; import org.eclipse.jgit.lib.GpgConfig; import org.eclipse.jgit.lib.GpgSignatureVerifier; -import org.eclipse.jgit.revwalk.RevCommit; -import org.eclipse.jgit.revwalk.RevObject; -import org.eclipse.jgit.revwalk.RevTag; import org.eclipse.jgit.util.LRUMap; -import org.eclipse.jgit.util.RawParseUtils; import org.eclipse.jgit.util.StringUtils; /** * A {@link GpgSignatureVerifier} to verify GPG signatures using BouncyCastle. */ -public class BouncyCastleGpgSignatureVerifier implements GpgSignatureVerifier { +public class BouncyCastleGpgSignatureVerifier + extends AbstractGpgSignatureVerifier { private static void registerBouncyCastleProviderIfNecessary() { if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) { @@ -77,50 +73,6 @@ public class BouncyCastleGpgSignatureVerifier implements GpgSignatureVerifier { return "bc"; //$NON-NLS-1$ } - @Override - @Nullable - public SignatureVerification verifySignature(@NonNull RevObject object, - @NonNull GpgConfig config) throws IOException { - if (object instanceof RevCommit) { - RevCommit commit = (RevCommit) object; - byte[] signatureData = commit.getRawGpgSignature(); - if (signatureData == null) { - return null; - } - byte[] raw = commit.getRawBuffer(); - // Now remove the GPG signature - byte[] header = { 'g', 'p', 'g', 's', 'i', 'g' }; - int start = RawParseUtils.headerStart(header, raw, 0); - if (start < 0) { - return null; - } - int end = RawParseUtils.headerEnd(raw, start); - // start is at the beginning of the header's content - start -= header.length + 1; - // end is on the terminating LF; we need to skip that, too - if (end < raw.length) { - end++; - } - byte[] data = new byte[raw.length - (end - start)]; - System.arraycopy(raw, 0, data, 0, start); - System.arraycopy(raw, end, data, start, raw.length - end); - return verify(data, signatureData); - } else if (object instanceof RevTag) { - RevTag tag = (RevTag) object; - byte[] signatureData = tag.getRawGpgSignature(); - if (signatureData == null) { - return null; - } - byte[] raw = tag.getRawBuffer(); - // The signature is just tacked onto the end of the message, which - // is last in the buffer. - byte[] data = Arrays.copyOfRange(raw, 0, - raw.length - signatureData.length); - return verify(data, signatureData); - } - return null; - } - static PGPSignature parseSignature(InputStream in) throws IOException, PGPException { try (InputStream sigIn = PGPUtil.getDecoderStream(in)) { @@ -138,7 +90,8 @@ public class BouncyCastleGpgSignatureVerifier implements GpgSignatureVerifier { } @Override - public SignatureVerification verify(byte[] data, byte[] signatureData) + public SignatureVerification verify(@NonNull GpgConfig config, byte[] data, + byte[] signatureData) throws IOException { PGPSignature signature = null; String fingerprint = null; @@ -280,6 +233,13 @@ public class BouncyCastleGpgSignatureVerifier implements GpgSignatureVerifier { verified, expired, trust, null); } + @Override + public SignatureVerification verify(byte[] data, byte[] signatureData) + throws IOException { + throw new UnsupportedOperationException( + "Call verify(GpgConfig, byte[], byte[]) instead."); //$NON-NLS-1$ + } + private TrustLevel parseGpgTrustPacket(byte[] packet) { if (packet == null || packet.length < 6) { // A GPG trust packet has at least 6 bytes. diff --git a/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF index b2dcb684a1..82e6a04501 100644 --- a/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF @@ -3,12 +3,13 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.http.apache Bundle-SymbolicName: org.eclipse.jgit.http.apache -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy -Import-Package: org.apache.http;version="[4.3.0,5.0.0)", +Import-Package: javax.net.ssl, + org.apache.http;version="[4.3.0,5.0.0)", org.apache.http.client;version="[4.4.0,5.0.0)", org.apache.http.client.config;version="[4.4.0,5.0.0)", org.apache.http.client.methods;version="[4.4.0,5.0.0)", @@ -25,11 +26,11 @@ Import-Package: org.apache.http;version="[4.3.0,5.0.0)", org.apache.http.impl.conn;version="[4.4.0,5.0.0)", org.apache.http.params;version="[4.3.0,5.0.0)", org.apache.http.ssl;version="[4.3.0,5.0.0)", - org.eclipse.jgit.annotations;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.http;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)" -Export-Package: org.eclipse.jgit.transport.http.apache;version="6.8.1"; + org.eclipse.jgit.annotations;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.http;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)" +Export-Package: org.eclipse.jgit.transport.http.apache;version="6.9.1"; uses:="org.apache.http.client, org.eclipse.jgit.transport.http, org.apache.http.entity, diff --git a/org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF index 296d4b76b4..db19ed10f2 100644 --- a/org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.http.apache - Sources Bundle-SymbolicName: org.eclipse.jgit.http.apache.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.http.apache;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.http.apache;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.http.apache/pom.xml b/org.eclipse.jgit.http.apache/pom.xml index b45a95d640..0353fdf584 100644 --- a/org.eclipse.jgit.http.apache/pom.xml +++ b/org.eclipse.jgit.http.apache/pom.xml @@ -15,7 +15,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.http.apache</artifactId> diff --git a/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF index de0d61af49..fb8e105c7c 100644 --- a/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF @@ -3,13 +3,13 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.http.server Bundle-SymbolicName: org.eclipse.jgit.http.server -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor -Export-Package: org.eclipse.jgit.http.server;version="6.8.1", - org.eclipse.jgit.http.server.glue;version="6.8.1"; +Export-Package: org.eclipse.jgit.http.server;version="6.9.1", + org.eclipse.jgit.http.server.glue;version="6.9.1"; uses:="javax.servlet,javax.servlet.http", - org.eclipse.jgit.http.server.resolver;version="6.8.1"; + org.eclipse.jgit.http.server.resolver;version="6.9.1"; uses:="org.eclipse.jgit.transport.resolver, org.eclipse.jgit.lib, org.eclipse.jgit.transport, @@ -18,14 +18,14 @@ Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: javax.servlet;version="[2.5.0,5.0.0)", javax.servlet.http;version="[2.5.0,5.0.0)", - org.eclipse.jgit.annotations;version="[6.8.1,6.9.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.dfs;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.transport.parser;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.resolver;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)" + org.eclipse.jgit.annotations;version="[6.9.1,6.10.0)", + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.dfs;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.transport.parser;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.resolver;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)" diff --git a/org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF index 741f9f212b..b765631480 100644 --- a/org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.http.server - Sources Bundle-SymbolicName: org.eclipse.jgit.http.server.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.http.server;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.http.server;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.http.server/pom.xml b/org.eclipse.jgit.http.server/pom.xml index e819792c18..363729245f 100644 --- a/org.eclipse.jgit.http.server/pom.xml +++ b/org.eclipse.jgit.http.server/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.http.server</artifactId> diff --git a/org.eclipse.jgit.http.test/.settings/org.eclipse.core.resources.prefs b/org.eclipse.jgit.http.test/.settings/org.eclipse.core.resources.prefs index ceaec8217f..4e2aba5b8c 100644 --- a/org.eclipse.jgit.http.test/.settings/org.eclipse.core.resources.prefs +++ b/org.eclipse.jgit.http.test/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,3 @@ -#Fri Jun 18 23:33:29 CEST 2010
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
+#Fri Jun 18 23:33:29 CEST 2010 +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF index e86cee8d22..cc84aac3e9 100644 --- a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.http.test Bundle-SymbolicName: org.eclipse.jgit.http.test -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -28,26 +28,26 @@ Import-Package: javax.servlet;version="[2.5.0,5.0.0)", org.eclipse.jetty.util.log;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.security;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.thread;version="[10.0.0,11.0.0)", - org.eclipse.jgit.api;version="[6.8.1,6.9.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.http.server;version="[6.8.1,6.9.0)", - org.eclipse.jgit.http.server.glue;version="[6.8.1,6.9.0)", - org.eclipse.jgit.http.server.resolver;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.dfs;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.reftable;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit.http;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.http;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.http.apache;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.resolver;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", + org.eclipse.jgit.api;version="[6.9.1,6.10.0)", + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.http.server;version="[6.9.1,6.10.0)", + org.eclipse.jgit.http.server.glue;version="[6.9.1,6.10.0)", + org.eclipse.jgit.http.server.resolver;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.dfs;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.reftable;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit.http;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.http;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.http.apache;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.resolver;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", org.junit;version="[4.13,5.0.0)", org.junit.rules;version="[4.13,5.0.0)", org.junit.runner;version="[4.13,5.0.0)", diff --git a/org.eclipse.jgit.http.test/pom.xml b/org.eclipse.jgit.http.test/pom.xml index ce8c4c1b1d..eba5578be1 100644 --- a/org.eclipse.jgit.http.test/pom.xml +++ b/org.eclipse.jgit.http.test/pom.xml @@ -18,7 +18,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.http.test</artifactId> diff --git a/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF index 33a37adeb4..533f170998 100644 --- a/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.junit.http Bundle-SymbolicName: org.eclipse.jgit.junit.http -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy @@ -21,17 +21,17 @@ Import-Package: javax.servlet;version="[2.5.0,5.0.0)", org.eclipse.jetty.util.log;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.security;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.ssl;version="[10.0.0,11.0.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.http.server;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.resolver;version="[6.8.1,6.9.0)", + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.http.server;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.resolver;version="[6.9.1,6.10.0)", org.junit;version="[4.13,5.0.0)", - org.slf4j.helpers;version="[1.7.0,2.0.0)" -Export-Package: org.eclipse.jgit.junit.http;version="6.8.1"; + org.slf4j.helpers;version="[1.7.0,3.0.0)" +Export-Package: org.eclipse.jgit.junit.http;version="6.9.1"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.junit, javax.servlet.http, diff --git a/org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF index 7d25044075..2da45670c1 100644 --- a/org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.junit.http - Sources Bundle-SymbolicName: org.eclipse.jgit.junit.http.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.junit.http;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.junit.http;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.junit.http/pom.xml b/org.eclipse.jgit.junit.http/pom.xml index 63fe58dd0e..e6206e27df 100644 --- a/org.eclipse.jgit.junit.http/pom.xml +++ b/org.eclipse.jgit.junit.http/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.junit.http</artifactId> diff --git a/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF index cc6afdabc9..e7f8972144 100644 --- a/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF @@ -3,46 +3,46 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.junit.ssh Bundle-SymbolicName: org.eclipse.jgit.junit.ssh -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.apache.sshd.common;version="[2.11.0,2.12.0)", - org.apache.sshd.common.config.keys;version="[2.11.0,2.12.0)", - org.apache.sshd.common.file.virtualfs;version="[2.11.0,2.12.0)", - org.apache.sshd.common.helpers;version="[2.11.0,2.12.0)", - org.apache.sshd.common.io;version="[2.11.0,2.12.0)", - org.apache.sshd.common.kex;version="[2.11.0,2.12.0)", - org.apache.sshd.common.keyprovider;version="[2.11.0,2.12.0)", - org.apache.sshd.common.session;version="[2.11.0,2.12.0)", - org.apache.sshd.common.signature;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.buffer;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.logging;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.security;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.threads;version="[2.11.0,2.12.0)", - org.apache.sshd.core;version="[2.11.0,2.12.0)", - org.apache.sshd.server;version="[2.11.0,2.12.0)", - org.apache.sshd.server.auth;version="[2.11.0,2.12.0)", - org.apache.sshd.server.auth.gss;version="[2.11.0,2.12.0)", - org.apache.sshd.server.auth.keyboard;version="[2.11.0,2.12.0)", - org.apache.sshd.server.auth.password;version="[2.11.0,2.12.0)", - org.apache.sshd.server.command;version="[2.11.0,2.12.0)", - org.apache.sshd.server.session;version="[2.11.0,2.12.0)", - org.apache.sshd.server.shell;version="[2.11.0,2.12.0)", - org.apache.sshd.server.subsystem;version="[2.11.0,2.12.0)", - org.apache.sshd.sftp;version="[2.11.0,2.12.0)", - org.apache.sshd.sftp.server;version="[2.11.0,2.12.0)", - org.eclipse.jgit.annotations;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", +Import-Package: org.apache.sshd.common;version="[2.12.0,2.13.0)", + org.apache.sshd.common.config.keys;version="[2.12.0,2.13.0)", + org.apache.sshd.common.file.virtualfs;version="[2.12.0,2.13.0)", + org.apache.sshd.common.helpers;version="[2.12.0,2.13.0)", + org.apache.sshd.common.io;version="[2.12.0,2.13.0)", + org.apache.sshd.common.kex;version="[2.12.0,2.13.0)", + org.apache.sshd.common.keyprovider;version="[2.12.0,2.13.0)", + org.apache.sshd.common.session;version="[2.12.0,2.13.0)", + org.apache.sshd.common.signature;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.buffer;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.logging;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.security;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.threads;version="[2.12.0,2.13.0)", + org.apache.sshd.core;version="[2.12.0,2.13.0)", + org.apache.sshd.server;version="[2.12.0,2.13.0)", + org.apache.sshd.server.auth;version="[2.12.0,2.13.0)", + org.apache.sshd.server.auth.gss;version="[2.12.0,2.13.0)", + org.apache.sshd.server.auth.keyboard;version="[2.12.0,2.13.0)", + org.apache.sshd.server.auth.password;version="[2.12.0,2.13.0)", + org.apache.sshd.server.command;version="[2.12.0,2.13.0)", + org.apache.sshd.server.session;version="[2.12.0,2.13.0)", + org.apache.sshd.server.shell;version="[2.12.0,2.13.0)", + org.apache.sshd.server.subsystem;version="[2.12.0,2.13.0)", + org.apache.sshd.sftp;version="[2.12.0,2.13.0)", + org.apache.sshd.sftp.server;version="[2.12.0,2.13.0)", + org.eclipse.jgit.annotations;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", org.junit;version="[4.13,5.0.0)", org.junit.experimental.theories;version="[4.13,5.0.0)", - org.slf4j;version="[1.7.0,2.0.0)" -Export-Package: org.eclipse.jgit.junit.ssh;version="6.8.1" + org.slf4j;version="[1.7.0,3.0.0)" +Export-Package: org.eclipse.jgit.junit.ssh;version="6.9.1" diff --git a/org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF index 5bbf81543d..24e31eb856 100644 --- a/org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.junit.ssh - Sources Bundle-SymbolicName: org.eclipse.jgit.junit.ssh.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.junit.ssh;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.junit.ssh;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.junit.ssh/pom.xml b/org.eclipse.jgit.junit.ssh/pom.xml index 0b760f5625..7cf78c355b 100644 --- a/org.eclipse.jgit.junit.ssh/pom.xml +++ b/org.eclipse.jgit.junit.ssh/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.junit.ssh</artifactId> diff --git a/org.eclipse.jgit.junit/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit/META-INF/MANIFEST.MF index c4950f9cbc..bd8746096f 100644 --- a/org.eclipse.jgit.junit/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.junit/META-INF/MANIFEST.MF @@ -3,36 +3,36 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.junit Bundle-SymbolicName: org.eclipse.jgit.junit -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.eclipse.jgit.annotations;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.dircache;version="[6.8.1,6.9.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.pack;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.util;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.merge;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="6.8.1", - org.eclipse.jgit.treewalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk.filter;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util.io;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util.time;version="[6.8.1,6.9.0)", +Import-Package: org.eclipse.jgit.annotations;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.dircache;version="[6.9.1,6.10.0)", + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.pack;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.util;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.merge;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="6.9.1", + org.eclipse.jgit.treewalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk.filter;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util.io;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util.time;version="[6.9.1,6.10.0)", org.junit;version="[4.13,5.0.0)", org.junit.rules;version="[4.13,5.0.0)", org.junit.runner;version="[4.13,5.0.0)", org.junit.runners;version="[4.13,5.0.0)", org.junit.runners.model;version="[4.13,5.0.0)", - org.slf4j;version="[1.7.0,2.0.0)" -Export-Package: org.eclipse.jgit.junit;version="6.8.1"; + org.slf4j;version="[1.7.0,3.0.0)" +Export-Package: org.eclipse.jgit.junit;version="6.9.1"; uses:="org.eclipse.jgit.dircache, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, @@ -45,4 +45,4 @@ Export-Package: org.eclipse.jgit.junit;version="6.8.1"; org.junit.runners.model, org.junit.runner, org.eclipse.jgit.util.time", - org.eclipse.jgit.junit.time;version="6.8.1";uses:="org.eclipse.jgit.util.time" + org.eclipse.jgit.junit.time;version="6.9.1";uses:="org.eclipse.jgit.util.time" diff --git a/org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF index 7e2bbd044a..52fc544258 100644 --- a/org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.junit - Sources Bundle-SymbolicName: org.eclipse.jgit.junit.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.junit;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.junit;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.junit/pom.xml b/org.eclipse.jgit.junit/pom.xml index 606a5a64ea..1638238a86 100644 --- a/org.eclipse.jgit.junit/pom.xml +++ b/org.eclipse.jgit.junit/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.junit</artifactId> diff --git a/org.eclipse.jgit.lfs.server.test/.settings/org.eclipse.core.resources.prefs b/org.eclipse.jgit.lfs.server.test/.settings/org.eclipse.core.resources.prefs index 4824b80263..99f26c0203 100644 --- a/org.eclipse.jgit.lfs.server.test/.settings/org.eclipse.core.resources.prefs +++ b/org.eclipse.jgit.lfs.server.test/.settings/org.eclipse.core.resources.prefs @@ -1,2 +1,2 @@ -eclipse.preferences.version=1
-encoding/<project>=UTF-8
+eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF index d66585285a..266d9bb3e1 100644 --- a/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs.server.test Bundle-SymbolicName: org.eclipse.jgit.lfs.server.test -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -26,24 +26,24 @@ Import-Package: javax.servlet;version="[3.1.0,5.0.0)", org.eclipse.jetty.util.log;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.security;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.thread;version="[10.0.0,11.0.0)", - org.eclipse.jgit.api;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit.http;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.server;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.server.fs;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.test;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk.filter;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", + org.eclipse.jgit.api;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit.http;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.server;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.server.fs;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.test;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk.filter;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", org.hamcrest.core;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", org.junit.rules;version="[4.13,5.0.0)", diff --git a/org.eclipse.jgit.lfs.server.test/pom.xml b/org.eclipse.jgit.lfs.server.test/pom.xml index 11e3706c34..53ee569769 100644 --- a/org.eclipse.jgit.lfs.server.test/pom.xml +++ b/org.eclipse.jgit.lfs.server.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.lfs.server.test</artifactId> diff --git a/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF index 5ad3cc1bc6..f3a5028458 100644 --- a/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF @@ -3,19 +3,19 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs.server Bundle-SymbolicName: org.eclipse.jgit.lfs.server -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor -Export-Package: org.eclipse.jgit.lfs.server;version="6.8.1"; +Export-Package: org.eclipse.jgit.lfs.server;version="6.9.1"; uses:="javax.servlet.http, org.eclipse.jgit.lfs.lib", - org.eclipse.jgit.lfs.server.fs;version="6.8.1"; + org.eclipse.jgit.lfs.server.fs;version="6.9.1"; uses:="javax.servlet, javax.servlet.http, org.eclipse.jgit.lfs.server, org.eclipse.jgit.lfs.lib", - org.eclipse.jgit.lfs.server.internal;version="6.8.1";x-internal:=true, - org.eclipse.jgit.lfs.server.s3;version="6.8.1"; + org.eclipse.jgit.lfs.server.internal;version="6.9.1";x-internal:=true, + org.eclipse.jgit.lfs.server.s3;version="6.9.1"; uses:="org.eclipse.jgit.lfs.server, org.eclipse.jgit.lfs.lib" Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -24,15 +24,15 @@ Import-Package: com.google.gson;version="[2.8.0,3.0.0)", javax.servlet.annotation;version="[3.1.0,5.0.0)", javax.servlet.http;version="[3.1.0,5.0.0)", org.apache.http;version="[4.3.0,5.0.0)", - org.eclipse.jgit.annotations;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.http;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.http.apache;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", - org.slf4j;version="[1.7.0,2.0.0)" + org.eclipse.jgit.annotations;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.http;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.http.apache;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", + org.slf4j;version="[1.7.0,3.0.0)" diff --git a/org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF index 03c3d46ba5..4a869dd85b 100644 --- a/org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.lfs.server - Sources Bundle-SymbolicName: org.eclipse.jgit.lfs.server.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.lfs.server;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.lfs.server;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.lfs.server/pom.xml b/org.eclipse.jgit.lfs.server/pom.xml index f7cd017227..b1eca71449 100644 --- a/org.eclipse.jgit.lfs.server/pom.xml +++ b/org.eclipse.jgit.lfs.server/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.lfs.server</artifactId> diff --git a/org.eclipse.jgit.lfs.test/.settings/org.eclipse.core.resources.prefs b/org.eclipse.jgit.lfs.test/.settings/org.eclipse.core.resources.prefs index 4824b80263..99f26c0203 100644 --- a/org.eclipse.jgit.lfs.test/.settings/org.eclipse.core.resources.prefs +++ b/org.eclipse.jgit.lfs.test/.settings/org.eclipse.core.resources.prefs @@ -1,2 +1,2 @@ -eclipse.preferences.version=1
-encoding/<project>=UTF-8
+eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF index 939eb27d89..4ea3ccbf78 100644 --- a/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF @@ -3,27 +3,27 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs.test Bundle-SymbolicName: org.eclipse.jgit.lfs.test -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.eclipse.jgit.api;version="[6.8.1,6.9.0)", - org.eclipse.jgit.attributes;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.dfs;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.http;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk.filter;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", +Import-Package: org.eclipse.jgit.api;version="[6.9.1,6.10.0)", + org.eclipse.jgit.attributes;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.dfs;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.http;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk.filter;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", org.hamcrest.core;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", org.junit.runner;version="[4.13,5.0.0)", org.junit.runners;version="[4.13,5.0.0)" -Export-Package: org.eclipse.jgit.lfs.test;version="6.8.1";x-friends:="org.eclipse.jgit.lfs.server.test" +Export-Package: org.eclipse.jgit.lfs.test;version="6.9.1";x-friends:="org.eclipse.jgit.lfs.server.test" diff --git a/org.eclipse.jgit.lfs.test/pom.xml b/org.eclipse.jgit.lfs.test/pom.xml index a0d8aa1f5d..667335a517 100644 --- a/org.eclipse.jgit.lfs.test/pom.xml +++ b/org.eclipse.jgit.lfs.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.lfs.test</artifactId> diff --git a/org.eclipse.jgit.lfs/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs/META-INF/MANIFEST.MF index 4654b2dc11..442a87ccd8 100644 --- a/org.eclipse.jgit.lfs/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs/META-INF/MANIFEST.MF @@ -3,32 +3,32 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs Bundle-SymbolicName: org.eclipse.jgit.lfs -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor -Export-Package: org.eclipse.jgit.lfs;version="6.8.1", - org.eclipse.jgit.lfs.errors;version="6.8.1", - org.eclipse.jgit.lfs.internal;version="6.8.1";x-friends:="org.eclipse.jgit.lfs.test,org.eclipse.jgit.lfs.server.fs,org.eclipse.jgit.lfs.server", - org.eclipse.jgit.lfs.lib;version="6.8.1" +Export-Package: org.eclipse.jgit.lfs;version="6.9.1", + org.eclipse.jgit.lfs.errors;version="6.9.1", + org.eclipse.jgit.lfs.internal;version="6.9.1";x-friends:="org.eclipse.jgit.lfs.test,org.eclipse.jgit.lfs.server.fs,org.eclipse.jgit.lfs.server", + org.eclipse.jgit.lfs.lib;version="6.9.1" Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: com.google.gson;version="[2.8.2,3.0.0)", com.google.gson.stream;version="[2.8.2,3.0.0)", - org.eclipse.jgit.annotations;version="[6.8.1,6.9.0)";resolution:=optional, - org.eclipse.jgit.api.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.attributes;version="[6.8.1,6.9.0)", - org.eclipse.jgit.diff;version="[6.8.1,6.9.0)", - org.eclipse.jgit.dircache;version="[6.8.1,6.9.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.hooks;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.storage.pack;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.http;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk.filter;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util.io;version="[6.8.1,6.9.0)" + org.eclipse.jgit.annotations;version="[6.9.1,6.10.0)";resolution:=optional, + org.eclipse.jgit.api.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.attributes;version="[6.9.1,6.10.0)", + org.eclipse.jgit.diff;version="[6.9.1,6.10.0)", + org.eclipse.jgit.dircache;version="[6.9.1,6.10.0)", + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.hooks;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.storage.pack;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.http;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk.filter;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util.io;version="[6.9.1,6.10.0)" diff --git a/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF index 605b52cf7b..ad93a57c17 100644 --- a/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.lfs - Sources Bundle-SymbolicName: org.eclipse.jgit.lfs.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.lfs;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.lfs;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.lfs/pom.xml b/org.eclipse.jgit.lfs/pom.xml index 79c36d4ca0..1dd81e0741 100644 --- a/org.eclipse.jgit.lfs/pom.xml +++ b/org.eclipse.jgit.lfs/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.lfs</artifactId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml index f44317883e..53a6d971f2 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit" label="%featureName" - version="6.8.1.qualifier" + version="6.9.1.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml index e3030b8076..a8df8d3aab 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/feature.xml index b67b91ed29..e12baced16 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.gpg.bc" label="%featureName" - version="6.8.1.qualifier" + version="6.9.1.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import plugin="org.eclipse.jgit" version="6.8.1" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="6.9.1" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/pom.xml index d5aea23828..47b6cb22ba 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml index 05798c3d6d..fa9758c71e 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.http.apache" label="%featureName" - version="6.8.1.qualifier" + version="6.9.1.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import plugin="org.eclipse.jgit" version="6.8.1" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="6.9.1" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml index f1999d785e..7edde81ff8 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/.settings/org.eclipse.core.resources.prefs index f6d7cf334e..a666abd5c6 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/.settings/org.eclipse.core.resources.prefs +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,3 @@ -#Fri Jun 18 23:33:08 CEST 2010
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
+#Fri Jun 18 23:33:08 CEST 2010 +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/.settings/org.eclipse.core.runtime.prefs index 039a33ca05..61f6762bba 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/.settings/org.eclipse.core.runtime.prefs +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/.settings/org.eclipse.core.runtime.prefs @@ -1,3 +1,3 @@ -#Fri Jun 18 23:33:08 CEST 2010
-eclipse.preferences.version=1
-line.separator=\n
+#Fri Jun 18 23:33:08 CEST 2010 +eclipse.preferences.version=1 +line.separator=\n diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml index 321f2330bc..58e0de9d86 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.junit" label="%featureName" - version="6.8.1.qualifier" + version="6.9.1.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -24,7 +24,7 @@ <requires> <import plugin="com.jcraft.jsch"/> - <import plugin="org.eclipse.jgit" version="6.8.1" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="6.9.1" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/pom.xml index 47cdfb8298..46f365066a 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/feature.xml index 0ece0d0db7..09d897517f 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.lfs" label="%featureName" - version="6.8.1.qualifier" + version="6.9.1.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import feature="org.eclipse.jgit" version="6.8.1" match="equivalent"/> + <import feature="org.eclipse.jgit" version="6.9.1" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/pom.xml index 725ae80505..4273207dcd 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/.settings/org.eclipse.core.resources.prefs index 6f96ce809a..14bdc2c705 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/.settings/org.eclipse.core.resources.prefs +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,3 @@ -#Fri Jun 18 23:33:45 CEST 2010
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
+#Fri Jun 18 23:33:45 CEST 2010 +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/.settings/org.eclipse.core.runtime.prefs index 1a32dba177..898252b4d6 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/.settings/org.eclipse.core.runtime.prefs +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/.settings/org.eclipse.core.runtime.prefs @@ -1,3 +1,3 @@ -#Fri Jun 18 23:33:45 CEST 2010
-eclipse.preferences.version=1
-line.separator=\n
+#Fri Jun 18 23:33:45 CEST 2010 +eclipse.preferences.version=1 +line.separator=\n diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/feature.xml index facc8af715..ad85f8e7f0 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.pgm" label="%featureName" - version="6.8.1.qualifier" + version="6.9.1.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -35,9 +35,9 @@ version="0.0.0"/> <requires> - <import feature="org.eclipse.jgit" version="6.8.1" match="equivalent"/> - <import feature="org.eclipse.jgit.lfs" version="6.8.1" match="equivalent"/> - <import feature="org.eclipse.jgit.ssh.apache" version="6.8.1" match="equivalent"/> + <import feature="org.eclipse.jgit" version="6.9.1" match="equivalent"/> + <import feature="org.eclipse.jgit.lfs" version="6.9.1" match="equivalent"/> + <import feature="org.eclipse.jgit.ssh.apache" version="6.9.1" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/pom.xml index 0474e37368..041fac1c12 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml index 6b0febb4d6..58f47b0d72 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.repository</artifactId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/.settings/org.eclipse.core.resources.prefs index 6f96ce809a..14bdc2c705 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/.settings/org.eclipse.core.resources.prefs +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,3 @@ -#Fri Jun 18 23:33:45 CEST 2010
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
+#Fri Jun 18 23:33:45 CEST 2010 +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/.settings/org.eclipse.core.runtime.prefs index 1a32dba177..898252b4d6 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/.settings/org.eclipse.core.runtime.prefs +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/.settings/org.eclipse.core.runtime.prefs @@ -1,3 +1,3 @@ -#Fri Jun 18 23:33:45 CEST 2010
-eclipse.preferences.version=1
-line.separator=\n
+#Fri Jun 18 23:33:45 CEST 2010 +eclipse.preferences.version=1 +line.separator=\n diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/feature.xml index f75dde95f8..c94d25e7c8 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.source" label="%featureName" - version="6.8.1.qualifier" + version="6.9.1.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import feature="org.eclipse.jgit" version="6.8.1" match="equivalent"/> + <import feature="org.eclipse.jgit" version="6.9.1" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/pom.xml index 9ec3f88b62..a962942767 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> @@ -30,7 +30,7 @@ <dependency> <groupId>org.eclipse.jgit.feature</groupId> <artifactId>org.eclipse.jgit</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </dependency> </dependencies> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml index cae8d09922..b1e6e9d60a 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.ssh.apache" label="%featureName" - version="6.8.1.qualifier" + version="6.9.1.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import feature="org.eclipse.jgit" version="6.8.1" match="equivalent"/> + <import feature="org.eclipse.jgit" version="6.9.1" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/pom.xml index 323e4fd0d4..361a31eb38 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/feature.xml index 12e8e410e0..5856a21975 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.ssh.jsch" label="%featureName" - version="6.8.1.qualifier" + version="6.9.1.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import plugin="org.eclipse.jgit" version="6.8.1" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="6.9.1" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/pom.xml index d3d8b80158..d1ed898607 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/META-INF/MANIFEST.MF b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/META-INF/MANIFEST.MF deleted file mode 100644 index 7017b9e3c6..0000000000 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/META-INF/MANIFEST.MF +++ /dev/null @@ -1,5 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: JGit Target Platform Bundle -Bundle-SymbolicName: org.eclipse.jgit.target -Bundle-Version: 6.8.1.qualifier diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target index 4879c3a0b3..cf278d8d41 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.17" sequenceNumber="1701211970"> +<target name="jgit-4.17" sequenceNumber="1708457973"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target index 62b67439b5..c7fdb830dd 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.18" sequenceNumber="1701211970"> +<target name="jgit-4.18" sequenceNumber="1708457973"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target index 269334b7a7..b3f4165412 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.19-staging" sequenceNumber="1701211970"> +<target name="jgit-4.19-staging" sequenceNumber="1708457973"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target index dab00e85e3..55b6281408 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.20" sequenceNumber="1701211970"> +<target name="jgit-4.20" sequenceNumber="1708457973"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target index 2c9689fb14..45136a7aaa 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.21" sequenceNumber="1701211970"> +<target name="jgit-4.21" sequenceNumber="1708457973"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target index adf6fb123b..7fe3b68085 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.22" sequenceNumber="1701211970"> +<target name="jgit-4.22" sequenceNumber="1708457972"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target index 5907d7f6ff..e0786fd4eb 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.23" sequenceNumber="1701211970"> +<target name="jgit-4.23" sequenceNumber="1708457972"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target index 9df673cd02..4656b56676 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.24" sequenceNumber="1701211970"> +<target name="jgit-4.24" sequenceNumber="1708457972"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target index d9c55b6ddc..efa79b3246 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.25" sequenceNumber="1701211970"> +<target name="jgit-4.25" sequenceNumber="1708457972"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target index 02fa46f8eb..a432bbbe12 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.26" sequenceNumber="1701211970"> +<target name="jgit-4.26" sequenceNumber="1708457970"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target index 3579da43b5..4b912382d9 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.27" sequenceNumber="1701211970"> +<target name="jgit-4.27" sequenceNumber="1708457970"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target index 1900424ea6..7dc8dd82fd 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.28" sequenceNumber="1701211970"> +<target name="jgit-4.28" sequenceNumber="1708457970"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.29.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.29.target index 8c7c1ac66f..d86ea2826d 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.29.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.29.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.29" sequenceNumber="1701211970"> +<target name="jgit-4.29" sequenceNumber="1708457970"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.30.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.30.target index 8fbc56760e..afd4d320bc 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.30.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.30.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.30" sequenceNumber="1701211970"> +<target name="jgit-4.30" sequenceNumber="1708457970"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -63,13 +63,13 @@ <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-osgi</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.sshd</groupId> <artifactId>sshd-sftp</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <type>jar</type> </dependency> </dependencies> @@ -79,7 +79,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> <type>jar</type> </dependency> </dependencies> @@ -89,13 +89,13 @@ <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> - <version>5.13.0</version> + <version>5.14.0</version> <type>jar</type> </dependency> </dependencies> @@ -105,43 +105,43 @@ <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>10.0.18</version> + <version>10.0.20</version> <type>jar</type> </dependency> <dependency> @@ -187,13 +187,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.14.9</version> + <version>1.14.12</version> <type>jar</type> </dependency> </dependencies> @@ -231,7 +231,7 @@ <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> - <version>3.24.2</version> + <version>3.25.3</version> <type>jar</type> </dependency> </dependencies> @@ -257,7 +257,13 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> - <version>1.25.0</version> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> <type>jar</type> </dependency> <dependency> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.31.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.31.target new file mode 100644 index 0000000000..d95197a43e --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.31.target @@ -0,0 +1,278 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<?pde?> +<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> +<target name="jgit-4.31" sequenceNumber="1708457970"> + <locations> + <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> + <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> + <unit id="com.jcraft.jsch.source" version="0.1.55.v20230916-1400"/> + <unit id="com.jcraft.jzlib" version="1.1.3.v20230916-1400"/> + <unit id="com.jcraft.jzlib.source" version="1.1.3.v20230916-1400"/> + <unit id="net.i2p.crypto.eddsa" version="0.3.0"/> + <unit id="net.i2p.crypto.eddsa.source" version="0.3.0"/> + <unit id="org.apache.ant" version="1.10.14.v20230922-1200"/> + <unit id="org.apache.ant.source" version="1.10.14.v20230922-1200"/> + <unit id="org.apache.httpcomponents.httpclient" version="4.5.14"/> + <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.14"/> + <unit id="org.apache.httpcomponents.httpcore" version="4.4.16"/> + <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.16"/> + <unit id="org.hamcrest.core" version="1.3.0.v20230809-1000"/> + <unit id="org.hamcrest.core.source" version="1.3.0.v20230809-1000"/> + <unit id="org.hamcrest.library" version="1.3.0.v20230809-1000"/> + <unit id="org.hamcrest.library.source" version="1.3.0.v20230809-1000"/> + <unit id="org.junit" version="4.13.2.v20230809-1000"/> + <unit id="org.junit.source" version="4.13.2.v20230809-1000"/> + <unit id="org.objenesis" version="3.3.0"/> + <unit id="org.objenesis.source" version="3.3.0"/> + <unit id="org.osgi.service.cm" version="1.6.1.202109301733"/> + <unit id="org.osgi.service.cm.source" version="1.6.1.202109301733"/> + <repository location="https://download.eclipse.org/tools/orbit/simrel/orbit-aggregation/2023-12"/> + </location> + <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> + <unit id="org.eclipse.osgi" version="0.0.0"/> + <repository location="https://download.eclipse.org/staging/2024-03/"/> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="xz"> + <dependencies> + <dependency> + <groupId>org.tukaani</groupId> + <artifactId>xz</artifactId> + <version>1.9</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="slf4j"> + <dependencies> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.7.36</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + <version>1.7.36</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="sshd"> + <dependencies> + <dependency> + <groupId>org.apache.sshd</groupId> + <artifactId>sshd-osgi</artifactId> + <version>2.12.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.apache.sshd</groupId> + <artifactId>sshd-sftp</artifactId> + <version>2.12.0</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="mockito"> + <dependencies> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>5.10.0</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="jna"> + <dependencies> + <dependency> + <groupId>net.java.dev.jna</groupId> + <artifactId>jna</artifactId> + <version>5.14.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>net.java.dev.jna</groupId> + <artifactId>jna-platform</artifactId> + <version>5.14.0</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="jetty"> + <dependencies> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-http</artifactId> + <version>10.0.20</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-io</artifactId> + <version>10.0.20</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-security</artifactId> + <version>10.0.20</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-server</artifactId> + <version>10.0.20</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-servlet</artifactId> + <version>10.0.20</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + <version>10.0.20</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util-ajax</artifactId> + <version>10.0.20</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>jakarta.servlet</groupId> + <artifactId>jakarta.servlet-api</artifactId> + <version>4.0.4</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="javaewah"> + <dependencies> + <dependency> + <groupId>com.googlecode.javaewah</groupId> + <artifactId>JavaEWAH</artifactId> + <version>1.2.3</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="hamcrest"> + <dependencies> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest</artifactId> + <version>2.2</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="gson"> + <dependencies> + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + <version>2.10.1</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="bytebuddy"> + <dependencies> + <dependency> + <groupId>net.bytebuddy</groupId> + <artifactId>byte-buddy</artifactId> + <version>1.14.12</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>net.bytebuddy</groupId> + <artifactId>byte-buddy-agent</artifactId> + <version>1.14.12</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="bouncycastle"> + <dependencies> + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcpg-jdk18on</artifactId> + <version>1.77</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcprov-jdk18on</artifactId> + <version>1.77</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcpkix-jdk18on</artifactId> + <version>1.77</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcutil-jdk18on</artifactId> + <version>1.77</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="assertj"> + <dependencies> + <dependency> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + <version>3.25.3</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="args4j"> + <dependencies> + <dependency> + <groupId>args4j</groupId> + <artifactId>args4j</artifactId> + <version>2.33</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="apache"> + <dependencies> + <dependency> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + <version>1.16.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-compress</artifactId> + <version>1.26.0</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.15.1</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + <version>1.2</version> + <type>jar</type> + </dependency> + </dependencies> + </location> + </locations> +</target> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.31.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.31.tpd new file mode 100644 index 0000000000..58491c85d5 --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.31.tpd @@ -0,0 +1,8 @@ +target "jgit-4.31" with source configurePhase + +include "orbit/orbit-4.31.tpd" +include "maven/dependencies.tpd" + +location "https://download.eclipse.org/staging/2024-03/" { + org.eclipse.osgi lazy +} diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd index 10d707f3d2..8347389018 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd @@ -15,7 +15,12 @@ maven apache dependency { groupId = "org.apache.commons" artifactId = "commons-compress" - version = "1.25.0" + version = "1.26.0" + } + dependency { + groupId = "commons-io" + artifactId = "commons-io" + version = "2.15.1" } dependency { groupId = "commons-logging" @@ -46,7 +51,7 @@ maven assertj dependency { groupId = "org.assertj" artifactId = "assertj-core" - version = "3.24.2" + version = "3.25.3" } } @@ -87,12 +92,12 @@ maven bytebuddy dependency { groupId = "net.bytebuddy" artifactId = "byte-buddy" - version = "1.14.9" + version = "1.14.12" } dependency { groupId = "net.bytebuddy" artifactId = "byte-buddy-agent" - version = "1.14.9" + version = "1.14.12" } } @@ -144,37 +149,37 @@ maven jetty dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-http" - version = "10.0.18" + version = "10.0.20" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-io" - version = "10.0.18" + version = "10.0.20" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-security" - version = "10.0.18" + version = "10.0.20" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-server" - version = "10.0.18" + version = "10.0.20" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-servlet" - version = "10.0.18" + version = "10.0.20" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-util" - version = "10.0.18" + version = "10.0.20" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-util-ajax" - version = "10.0.18" + version = "10.0.20" } dependency { groupId = "jakarta.servlet" @@ -192,12 +197,12 @@ maven jna dependency { groupId = "net.java.dev.jna" artifactId = "jna" - version = "5.13.0" + version = "5.14.0" } dependency { groupId = "net.java.dev.jna" artifactId = "jna-platform" - version = "5.13.0" + version = "5.14.0" } } @@ -210,7 +215,7 @@ maven mockito dependency { groupId = "org.mockito" artifactId = "mockito-core" - version = "5.7.0" + version = "5.10.0" } } @@ -223,12 +228,12 @@ maven sshd dependency { groupId = "org.apache.sshd" artifactId = "sshd-osgi" - version = "2.11.0" + version = "2.12.0" } dependency { groupId = "org.apache.sshd" artifactId = "sshd-sftp" - version = "2.11.0" + version = "2.12.0" } } diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/orbit-4.31.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/orbit-4.31.tpd new file mode 100644 index 0000000000..0554a8578c --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/orbit-4.31.tpd @@ -0,0 +1,27 @@ +target "orbit-4.30" with source configurePhase +// see https://download.eclipse.org/tools/orbit/downloads/ + +location "https://download.eclipse.org/tools/orbit/simrel/orbit-aggregation/2023-12" { + com.jcraft.jsch [0.1.55.v20230916-1400,0.1.55.v20230916-1400] + com.jcraft.jsch.source [0.1.55.v20230916-1400,0.1.55.v20230916-1400] + com.jcraft.jzlib [1.1.3.v20230916-1400,1.1.3.v20230916-1400] + com.jcraft.jzlib.source [1.1.3.v20230916-1400,1.1.3.v20230916-1400] + net.i2p.crypto.eddsa [0.3.0,0.3.0] + net.i2p.crypto.eddsa.source [0.3.0,0.3.0] + org.apache.ant [1.10.14.v20230922-1200,1.10.14.v20230922-1200] + org.apache.ant.source [1.10.14.v20230922-1200,1.10.14.v20230922-1200] + org.apache.httpcomponents.httpclient [4.5.14,4.5.14] + org.apache.httpcomponents.httpclient.source [4.5.14,4.5.14] + org.apache.httpcomponents.httpcore [4.4.16,4.4.16] + org.apache.httpcomponents.httpcore.source [4.4.16,4.4.16] + org.hamcrest.core [1.3.0.v20230809-1000,1.3.0.v20230809-1000] + org.hamcrest.core.source [1.3.0.v20230809-1000,1.3.0.v20230809-1000] + org.hamcrest.library [1.3.0.v20230809-1000,1.3.0.v20230809-1000] + org.hamcrest.library.source [1.3.0.v20230809-1000,1.3.0.v20230809-1000] + org.junit [4.13.2.v20230809-1000,4.13.2.v20230809-1000] + org.junit.source [4.13.2.v20230809-1000,4.13.2.v20230809-1000] + org.objenesis [3.3,3.3] + org.objenesis.source [3.3,3.3] + org.osgi.service.cm [1.6.1.202109301733,1.6.1.202109301733] + org.osgi.service.cm.source [1.6.1.202109301733,1.6.1.202109301733] +} diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/pom.xml deleted file mode 100644 index 4e2d9907da..0000000000 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/pom.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright (C) 2013, Matthias Sohn <matthias.sohn@sap.com> and others - - This program and the accompanying materials are made available under the - terms of the Eclipse Distribution License v. 1.0 which is available at - http://www.eclipse.org/org/documents/edl-v10.php. - - SPDX-License-Identifier: BSD-3-Clause ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.eclipse.jgit</groupId> - <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> - </parent> - - <artifactId>org.eclipse.jgit.target</artifactId> - <packaging>pom</packaging> - <name>JGit Target Platform</name> -</project>
\ No newline at end of file diff --git a/org.eclipse.jgit.packaging/pom.xml b/org.eclipse.jgit.packaging/pom.xml index 03469db379..c06d6e41da 100644 --- a/org.eclipse.jgit.packaging/pom.xml +++ b/org.eclipse.jgit.packaging/pom.xml @@ -16,7 +16,7 @@ <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> <packaging>pom</packaging> <name>JGit Tycho Parent</name> @@ -43,7 +43,6 @@ </pluginRepositories> <modules> - <module>org.eclipse.jgit.target</module> <module>org.eclipse.jgit.feature</module> <module>org.eclipse.jgit.gpg.bc.feature</module> <module>org.eclipse.jgit.http.apache.feature</module> @@ -175,7 +174,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> - <version>3.3.0</version> + <version>3.4.1</version> <executions> <execution> <id>enforce-maven</id> @@ -201,15 +200,11 @@ <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> - <version>${tycho-version}</version> - <configuration> - <resolver>p2</resolver> - </configuration> </plugin> <plugin> <groupId>org.cyclonedx</groupId> <artifactId>cyclonedx-maven-plugin</artifactId> - <version>2.7.9</version> + <version>2.7.11</version> <configuration> <projectType>library</projectType> <schemaVersion>1.4</schemaVersion> @@ -238,7 +233,7 @@ <plugin> <groupId>io.github.git-commit-id</groupId> <artifactId>git-commit-id-maven-plugin</artifactId> - <version>6.0.0</version> + <version>7.0.0</version> <executions> <execution> <id>get-the-git-infos</id> @@ -304,7 +299,6 @@ <artifactId>target-platform-configuration</artifactId> <version>${tycho-version}</version> <configuration> - <resolver>p2</resolver> <pomDependencies>consider</pomDependencies> <target> <file>${project.basedir}/../org.eclipse.jgit.target/${target-platform}.target</file> @@ -387,16 +381,16 @@ <plugin> <groupId>org.eclipse.cbi.maven.plugins</groupId> <artifactId>eclipse-jarsigner-plugin</artifactId> - <version>1.4.2</version> + <version>1.4.3</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> - <version>3.3.0</version> + <version>3.5.0</version> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> - <version>3.2.0</version> + <version>3.3.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -411,7 +405,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> - <version>3.12.1</version> + <version>4.0.0-M13</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -434,9 +428,6 @@ <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> - <configuration> - <includePackedArtifacts>true</includePackedArtifacts> - </configuration> </plugin> <plugin> <groupId>org.eclipse.cbi.maven.plugins</groupId> @@ -477,9 +468,6 @@ <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> - <configuration> - <includePackedArtifacts>true</includePackedArtifacts> - </configuration> </plugin> <plugin> <groupId>org.eclipse.tycho</groupId> diff --git a/org.eclipse.jgit.pgm.test/BUILD b/org.eclipse.jgit.pgm.test/BUILD index 539d666883..b8ffa69594 100644 --- a/org.eclipse.jgit.pgm.test/BUILD +++ b/org.eclipse.jgit.pgm.test/BUILD @@ -15,6 +15,7 @@ junit_tests( deps = [ ":helpers", "//lib:args4j", + "//lib:commons-io", "//lib:commons-compress", "//lib:javaewah", "//lib:junit", diff --git a/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF index 94c650a525..7232b276f3 100644 --- a/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF @@ -3,30 +3,30 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.pgm.test Bundle-SymbolicName: org.eclipse.jgit.pgm.test -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.eclipse.jgit.api;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.diff;version="[6.8.1,6.9.0)", - org.eclipse.jgit.dircache;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.diffmergetool;version="6.8.1", - org.eclipse.jgit.internal.storage.file;version="6.8.1", - org.eclipse.jgit.junit;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.merge;version="[6.8.1,6.9.0)", - org.eclipse.jgit.pgm;version="[6.8.1,6.9.0)", - org.eclipse.jgit.pgm.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.pgm.opt;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util.io;version="[6.8.1,6.9.0)", +Import-Package: org.eclipse.jgit.api;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.diff;version="[6.9.1,6.10.0)", + org.eclipse.jgit.dircache;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.diffmergetool;version="6.9.1", + org.eclipse.jgit.internal.storage.file;version="6.9.1", + org.eclipse.jgit.junit;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.merge;version="[6.9.1,6.10.0)", + org.eclipse.jgit.pgm;version="[6.9.1,6.10.0)", + org.eclipse.jgit.pgm.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.pgm.opt;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util.io;version="[6.9.1,6.10.0)", org.hamcrest.core;bundle-version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", org.junit.rules;version="[4.13,5.0.0)", diff --git a/org.eclipse.jgit.pgm.test/pom.xml b/org.eclipse.jgit.pgm.test/pom.xml index c51d55342c..ae02cdc668 100644 --- a/org.eclipse.jgit.pgm.test/pom.xml +++ b/org.eclipse.jgit.pgm.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.pgm.test</artifactId> diff --git a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF index cc07eb4a2f..825911c838 100644 --- a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.pgm Bundle-SymbolicName: org.eclipse.jgit.pgm -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: OSGI-INF/l10n/plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -14,49 +14,49 @@ Import-Package: javax.servlet;version="[3.1.0,5.0.0)", org.eclipse.jetty.servlet;version="[10.0.0,11.0.0)", org.eclipse.jetty.util;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.component;version="[10.0.0,11.0.0)", - org.eclipse.jgit.api;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.archive;version="[6.8.1,6.9.0)", - org.eclipse.jgit.awtui;version="[6.8.1,6.9.0)", - org.eclipse.jgit.blame;version="[6.8.1,6.9.0)", - org.eclipse.jgit.diff;version="[6.8.1,6.9.0)", - org.eclipse.jgit.dircache;version="[6.8.1,6.9.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.gitrepo;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.diffmergetool;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.io;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.pack;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.reftable;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.server;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.server.fs;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs.server.s3;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.merge;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.notes;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revplot;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk.filter;version="[6.8.1,6.9.0)", - org.eclipse.jgit.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.storage.pack;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.http.apache;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.resolver;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.ssh.jsch;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.sshd;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk.filter;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util.io;version="[6.8.1,6.9.0)", + org.eclipse.jgit.api;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.archive;version="[6.9.1,6.10.0)", + org.eclipse.jgit.awtui;version="[6.9.1,6.10.0)", + org.eclipse.jgit.blame;version="[6.9.1,6.10.0)", + org.eclipse.jgit.diff;version="[6.9.1,6.10.0)", + org.eclipse.jgit.dircache;version="[6.9.1,6.10.0)", + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.gitrepo;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.diffmergetool;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.io;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.pack;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.reftable;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.server;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.server.fs;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs.server.s3;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.merge;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.notes;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revplot;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk.filter;version="[6.9.1,6.10.0)", + org.eclipse.jgit.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.storage.pack;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.http.apache;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.resolver;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.ssh.jsch;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.sshd;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk.filter;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util.io;version="[6.9.1,6.10.0)", org.kohsuke.args4j;version="[2.33.0,3.0.0)", org.kohsuke.args4j.spi;version="[2.33.0,3.0.0)" -Export-Package: org.eclipse.jgit.console;version="6.8.1"; +Export-Package: org.eclipse.jgit.console;version="6.9.1"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.util", - org.eclipse.jgit.pgm;version="6.8.1"; + org.eclipse.jgit.pgm;version="6.9.1"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.util.io, org.eclipse.jgit.awtui, @@ -68,14 +68,14 @@ Export-Package: org.eclipse.jgit.console;version="6.8.1"; org.eclipse.jgit.treewalk, org.eclipse.jgit.api, javax.swing", - org.eclipse.jgit.pgm.debug;version="6.8.1"; + org.eclipse.jgit.pgm.debug;version="6.9.1"; uses:="org.eclipse.jgit.util.io, org.eclipse.jgit.pgm, org.eclipse.jetty.servlet", - org.eclipse.jgit.pgm.internal;version="6.8.1"; + org.eclipse.jgit.pgm.internal;version="6.9.1"; x-friends:="org.eclipse.jgit.pgm.test, org.eclipse.jgit.test", - org.eclipse.jgit.pgm.opt;version="6.8.1"; + org.eclipse.jgit.pgm.opt;version="6.9.1"; uses:="org.kohsuke.args4j, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, diff --git a/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF index 8a44aec89a..cb5e8148da 100644 --- a/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.pgm - Sources Bundle-SymbolicName: org.eclipse.jgit.pgm.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.pgm;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.pgm;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.pgm/pom.xml b/org.eclipse.jgit.pgm/pom.xml index 26b9d2a136..488b481565 100644 --- a/org.eclipse.jgit.pgm/pom.xml +++ b/org.eclipse.jgit.pgm/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.pgm</artifactId> diff --git a/org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF index 1bb957e31a..5011a8e764 100644 --- a/org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF @@ -2,16 +2,16 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.agent;singleton:=true -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Localization: OSGI-INF/l10n/agent Bundle-Vendor: %Bundle-Vendor -Fragment-Host: org.eclipse.jgit.ssh.apache;bundle-version="[6.8.1,6.9.0)" +Fragment-Host: org.eclipse.jgit.ssh.apache;bundle-version="[6.9.1,6.10.0)" Bundle-ActivationPolicy: lazy Automatic-Module-Name: org.eclipse.jgit.ssh.apache.agent Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.eclipse.jgit.transport.sshd;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)" +Import-Package: org.eclipse.jgit.transport.sshd;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)" Require-Bundle: com.sun.jna;bundle-version="[5.8.0,6.0.0)", com.sun.jna.platform;bundle-version="[5.8.0,6.0.0)" -Export-Package: org.eclipse.jgit.internal.transport.sshd.agent.connector;version="6.8.1";x-internal:=true +Export-Package: org.eclipse.jgit.internal.transport.sshd.agent.connector;version="6.9.1";x-internal:=true diff --git a/org.eclipse.jgit.ssh.apache.agent/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ssh.apache.agent/META-INF/SOURCE-MANIFEST.MF index 5f4ea134f2..e841539fc9 100644 --- a/org.eclipse.jgit.ssh.apache.agent/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache.agent/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.ssh.apache.agent - Sources Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.agent.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache.agent;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache.agent;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.ssh.apache.agent/pom.xml b/org.eclipse.jgit.ssh.apache.agent/pom.xml index b08523f71b..7da173a099 100644 --- a/org.eclipse.jgit.ssh.apache.agent/pom.xml +++ b/org.eclipse.jgit.ssh.apache.agent/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.apache.agent</artifactId> diff --git a/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF index e9e57933e6..7c5b2d7788 100644 --- a/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF @@ -3,35 +3,35 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ssh.apache.test Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.test -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.hamcrest.core;bundle-version="[1.3.0,2.0.0)" -Import-Package: org.apache.sshd.client.config.hosts;version="[2.11.0,2.12.0)", - org.apache.sshd.common;version="[2.11.0,2.12.0)", - org.apache.sshd.common.auth;version="[2.11.0,2.12.0)", - org.apache.sshd.common.config.keys;version="[2.11.0,2.12.0)", - org.apache.sshd.common.helpers;version="[2.11.0,2.12.0)", - org.apache.sshd.common.kex;version="[2.11.0,2.12.0)", - org.apache.sshd.common.keyprovider;version="[2.11.0,2.12.0)", - org.apache.sshd.common.session;version="[2.11.0,2.12.0)", - org.apache.sshd.common.signature;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.net;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.security;version="[2.11.0,2.12.0)", - org.apache.sshd.core;version="[2.11.0,2.12.0)", - org.apache.sshd.server;version="[2.11.0,2.12.0)", - org.apache.sshd.server.forward;version="[2.11.0,2.12.0)", - org.eclipse.jgit.api;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.transport.sshd.proxy;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit.ssh;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.sshd;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.sshd.agent;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", +Import-Package: org.apache.sshd.client.config.hosts;version="[2.12.0,2.13.0)", + org.apache.sshd.common;version="[2.12.0,2.13.0)", + org.apache.sshd.common.auth;version="[2.12.0,2.13.0)", + org.apache.sshd.common.config.keys;version="[2.12.0,2.13.0)", + org.apache.sshd.common.helpers;version="[2.12.0,2.13.0)", + org.apache.sshd.common.kex;version="[2.12.0,2.13.0)", + org.apache.sshd.common.keyprovider;version="[2.12.0,2.13.0)", + org.apache.sshd.common.session;version="[2.12.0,2.13.0)", + org.apache.sshd.common.signature;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.net;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.security;version="[2.12.0,2.13.0)", + org.apache.sshd.core;version="[2.12.0,2.13.0)", + org.apache.sshd.server;version="[2.12.0,2.13.0)", + org.apache.sshd.server.forward;version="[2.12.0,2.13.0)", + org.eclipse.jgit.api;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.transport.sshd.proxy;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit.ssh;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.sshd;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.sshd.agent;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", org.junit;version="[4.13,5.0.0)", org.junit.experimental.theories;version="[4.13,5.0.0)", org.junit.runner;version="[4.13,5.0.0)" diff --git a/org.eclipse.jgit.ssh.apache.test/pom.xml b/org.eclipse.jgit.ssh.apache.test/pom.xml index 14b5160c3b..a8598a9ca4 100644 --- a/org.eclipse.jgit.ssh.apache.test/pom.xml +++ b/org.eclipse.jgit.ssh.apache.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.apache.test</artifactId> diff --git a/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF index 98bc78e634..ac9d96499b 100644 --- a/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF @@ -6,9 +6,9 @@ Bundle-SymbolicName: org.eclipse.jgit.ssh.apache Bundle-Vendor: %Bundle-Vendor Bundle-Localization: OSGI-INF/l10n/plugin Bundle-ActivationPolicy: lazy -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 -Export-Package: org.eclipse.jgit.internal.transport.sshd;version="6.8.1";x-internal:=true; +Export-Package: org.eclipse.jgit.internal.transport.sshd;version="6.9.1";x-internal:=true; uses:="org.apache.sshd.client, org.apache.sshd.client.auth, org.apache.sshd.client.auth.keyboard, @@ -23,77 +23,77 @@ Export-Package: org.eclipse.jgit.internal.transport.sshd;version="6.8.1";x-inter org.apache.sshd.common.signature, org.apache.sshd.common.util.buffer, org.eclipse.jgit.transport", - org.eclipse.jgit.internal.transport.sshd.agent;version="6.8.1";x-internal:=true, - org.eclipse.jgit.internal.transport.sshd.auth;version="6.8.1";x-internal:=true, - org.eclipse.jgit.internal.transport.sshd.pkcs11;version="6.8.1";x-internal:=true, - org.eclipse.jgit.internal.transport.sshd.proxy;version="6.8.1";x-friends:="org.eclipse.jgit.ssh.apache.test", - org.eclipse.jgit.transport.sshd;version="6.8.1"; + org.eclipse.jgit.internal.transport.sshd.agent;version="6.9.1";x-internal:=true, + org.eclipse.jgit.internal.transport.sshd.auth;version="6.9.1";x-internal:=true, + org.eclipse.jgit.internal.transport.sshd.pkcs11;version="6.9.1";x-internal:=true, + org.eclipse.jgit.internal.transport.sshd.proxy;version="6.9.1";x-friends:="org.eclipse.jgit.ssh.apache.test", + org.eclipse.jgit.transport.sshd;version="6.9.1"; uses:="org.eclipse.jgit.transport, org.apache.sshd.client.config.hosts, org.apache.sshd.common.keyprovider, org.eclipse.jgit.util, org.apache.sshd.client.session, org.apache.sshd.client.keyverifier", - org.eclipse.jgit.transport.sshd.agent;version="6.8.1", + org.eclipse.jgit.transport.sshd.agent;version="6.9.1", sun.security.x509 Import-Package: net.i2p.crypto.eddsa;version="[0.3.0,0.4.0)", - org.apache.sshd.agent;version="[2.11.0,2.12.0)", - org.apache.sshd.client;version="[2.11.0,2.12.0)", - org.apache.sshd.client.auth;version="[2.11.0,2.12.0)", - org.apache.sshd.client.auth.keyboard;version="[2.11.0,2.12.0)", - org.apache.sshd.client.auth.password;version="[2.11.0,2.12.0)", - org.apache.sshd.client.auth.pubkey;version="[2.11.0,2.12.0)", - org.apache.sshd.client.channel;version="[2.11.0,2.12.0)", - org.apache.sshd.client.config.hosts;version="[2.11.0,2.12.0)", - org.apache.sshd.client.config.keys;version="[2.11.0,2.12.0)", - org.apache.sshd.client.future;version="[2.11.0,2.12.0)", - org.apache.sshd.client.keyverifier;version="[2.11.0,2.12.0)", - org.apache.sshd.client.session;version="[2.11.0,2.12.0)", - org.apache.sshd.client.session.forward;version="[2.11.0,2.12.0)", - org.apache.sshd.common;version="[2.11.0,2.12.0)", - org.apache.sshd.common.auth;version="[2.11.0,2.12.0)", - org.apache.sshd.common.channel;version="[2.11.0,2.12.0)", - org.apache.sshd.common.compression;version="[2.11.0,2.12.0)", - org.apache.sshd.common.config.keys;version="[2.11.0,2.12.0)", - org.apache.sshd.common.config.keys.loader;version="[2.11.0,2.12.0)", - org.apache.sshd.common.config.keys.loader.openssh.kdf;version="[2.11.0,2.12.0)", - org.apache.sshd.common.config.keys.u2f;version="[2.11.0,2.12.0)", - org.apache.sshd.common.digest;version="[2.11.0,2.12.0)", - org.apache.sshd.common.forward;version="[2.11.0,2.12.0)", - org.apache.sshd.common.future;version="[2.11.0,2.12.0)", - org.apache.sshd.common.helpers;version="[2.11.0,2.12.0)", - org.apache.sshd.common.io;version="[2.11.0,2.12.0)", - org.apache.sshd.common.kex;version="[2.11.0,2.12.0)", - org.apache.sshd.common.kex.extension;version="[2.11.0,2.12.0)", - org.apache.sshd.common.kex.extension.parser;version="[2.11.0,2.12.0)", - org.apache.sshd.common.keyprovider;version="[2.11.0,2.12.0)", - org.apache.sshd.common.mac;version="[2.11.0,2.12.0)", - org.apache.sshd.common.random;version="[2.11.0,2.12.0)", - org.apache.sshd.common.session;version="[2.11.0,2.12.0)", - org.apache.sshd.common.session.helpers;version="[2.11.0,2.12.0)", - org.apache.sshd.common.signature;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.buffer;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.buffer.keys;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.closeable;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.io;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.io.der;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.io.functors;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.io.resource;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.logging;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.net;version="[2.11.0,2.12.0)", - org.apache.sshd.common.util.security;version="[2.11.0,2.12.0)", - org.apache.sshd.core;version="[2.11.0,2.12.0)", - org.apache.sshd.server.auth;version="[2.11.0,2.12.0)", - org.apache.sshd.sftp;version="[2.11.0,2.12.0)", - org.apache.sshd.sftp.client;version="[2.11.0,2.12.0)", - org.apache.sshd.sftp.common;version="[2.11.0,2.12.0)", - org.eclipse.jgit.annotations;version="[6.8.1,6.9.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.fnmatch;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.transport.ssh;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", - org.slf4j;version="[1.7.0,2.0.0)" + org.apache.sshd.agent;version="[2.12.0,2.13.0)", + org.apache.sshd.client;version="[2.12.0,2.13.0)", + org.apache.sshd.client.auth;version="[2.12.0,2.13.0)", + org.apache.sshd.client.auth.keyboard;version="[2.12.0,2.13.0)", + org.apache.sshd.client.auth.password;version="[2.12.0,2.13.0)", + org.apache.sshd.client.auth.pubkey;version="[2.12.0,2.13.0)", + org.apache.sshd.client.channel;version="[2.12.0,2.13.0)", + org.apache.sshd.client.config.hosts;version="[2.12.0,2.13.0)", + org.apache.sshd.client.config.keys;version="[2.12.0,2.13.0)", + org.apache.sshd.client.future;version="[2.12.0,2.13.0)", + org.apache.sshd.client.keyverifier;version="[2.12.0,2.13.0)", + org.apache.sshd.client.session;version="[2.12.0,2.13.0)", + org.apache.sshd.client.session.forward;version="[2.12.0,2.13.0)", + org.apache.sshd.common;version="[2.12.0,2.13.0)", + org.apache.sshd.common.auth;version="[2.12.0,2.13.0)", + org.apache.sshd.common.channel;version="[2.12.0,2.13.0)", + org.apache.sshd.common.compression;version="[2.12.0,2.13.0)", + org.apache.sshd.common.config.keys;version="[2.12.0,2.13.0)", + org.apache.sshd.common.config.keys.loader;version="[2.12.0,2.13.0)", + org.apache.sshd.common.config.keys.loader.openssh.kdf;version="[2.12.0,2.13.0)", + org.apache.sshd.common.config.keys.u2f;version="[2.12.0,2.13.0)", + org.apache.sshd.common.digest;version="[2.12.0,2.13.0)", + org.apache.sshd.common.forward;version="[2.12.0,2.13.0)", + org.apache.sshd.common.future;version="[2.12.0,2.13.0)", + org.apache.sshd.common.helpers;version="[2.12.0,2.13.0)", + org.apache.sshd.common.io;version="[2.12.0,2.13.0)", + org.apache.sshd.common.kex;version="[2.12.0,2.13.0)", + org.apache.sshd.common.kex.extension;version="[2.12.0,2.13.0)", + org.apache.sshd.common.kex.extension.parser;version="[2.12.0,2.13.0)", + org.apache.sshd.common.keyprovider;version="[2.12.0,2.13.0)", + org.apache.sshd.common.mac;version="[2.12.0,2.13.0)", + org.apache.sshd.common.random;version="[2.12.0,2.13.0)", + org.apache.sshd.common.session;version="[2.12.0,2.13.0)", + org.apache.sshd.common.session.helpers;version="[2.12.0,2.13.0)", + org.apache.sshd.common.signature;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.buffer;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.buffer.keys;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.closeable;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.io;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.io.der;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.io.functors;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.io.resource;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.logging;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.net;version="[2.12.0,2.13.0)", + org.apache.sshd.common.util.security;version="[2.12.0,2.13.0)", + org.apache.sshd.core;version="[2.12.0,2.13.0)", + org.apache.sshd.server.auth;version="[2.12.0,2.13.0)", + org.apache.sshd.sftp;version="[2.12.0,2.13.0)", + org.apache.sshd.sftp.client;version="[2.12.0,2.13.0)", + org.apache.sshd.sftp.common;version="[2.12.0,2.13.0)", + org.eclipse.jgit.annotations;version="[6.9.1,6.10.0)", + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.fnmatch;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.transport.ssh;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", + org.slf4j;version="[1.7.0,3.0.0)" diff --git a/org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF index 3573437658..5e7a06c8ab 100644 --- a/org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.ssh.apache - Sources Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.ssh.apache/pom.xml b/org.eclipse.jgit.ssh.apache/pom.xml index 58144f46d4..68b2360449 100644 --- a/org.eclipse.jgit.ssh.apache/pom.xml +++ b/org.eclipse.jgit.ssh.apache/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.apache</artifactId> diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPublicKeyAuthentication.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPublicKeyAuthentication.java index eb55ec045b..b0b1028daa 100644 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPublicKeyAuthentication.java +++ b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPublicKeyAuthentication.java @@ -48,9 +48,7 @@ import org.apache.sshd.client.config.hosts.HostConfigEntry; import org.apache.sshd.client.session.ClientSession; import org.apache.sshd.common.FactoryManager; import org.apache.sshd.common.NamedFactory; -import org.apache.sshd.common.config.keys.AuthorizedKeyEntry; import org.apache.sshd.common.config.keys.KeyUtils; -import org.apache.sshd.common.config.keys.PublicKeyEntryResolver; import org.apache.sshd.common.config.keys.u2f.SecurityKeyPublicKey; import org.apache.sshd.common.signature.Signature; import org.apache.sshd.common.signature.SignatureFactoriesManager; @@ -314,6 +312,8 @@ public class JGitPublicKeyAuthentication extends UserAuthPublicKey { private class KeyIterator extends UserAuthPublicKeyIterator { + private static final String PUB_KEY_SUFFIX = ".pub"; //$NON-NLS-1$ + public KeyIterator(ClientSession session, SignatureFactoriesManager manager) throws Exception { @@ -326,22 +326,53 @@ public class JGitPublicKeyAuthentication extends UserAuthPublicKey { return null; } return explicitFiles.stream().map(s -> { - try { - Path p = Paths.get(s + ".pub"); //$NON-NLS-1$ - if (Files.isRegularFile(p, LinkOption.NOFOLLOW_LINKS)) { - return AuthorizedKeyEntry.readAuthorizedKeys(p).get(0) - .resolvePublicKey(null, - PublicKeyEntryResolver.IGNORING); - } - } catch (InvalidPathException | IOException - | GeneralSecurityException e) { - log.warn("{}", //$NON-NLS-1$ - format(SshdText.get().cannotReadPublicKey, s), e); + // assume the explicit key is a public key + PublicKey publicKey = readPublicKey(s, false); + if (publicKey == null && !s.endsWith(PUB_KEY_SUFFIX)) { + // if this is not the case, try to lookup public key with + // same filename and extension .pub + publicKey = readPublicKey(s + PUB_KEY_SUFFIX, true); } - return null; + return publicKey; }).filter(Objects::nonNull).collect(Collectors.toList()); } + /** + * + * @param keyFile + * the path to a public key + * @param isDerived + * {@code false} in case the given {@code keyFile} is set in + * the SSH config as is, otherwise {@code false} + * @return the public key read from the key file + */ + private PublicKey readPublicKey(String keyFile, boolean isDerived) { + try { + Path p = Paths.get(keyFile); + if (Files.isRegularFile(p, LinkOption.NOFOLLOW_LINKS)) { + return KeyUtils.loadPublicKey(p); + } + // only warn about non-existing files in case the key file is + // not derived + if (!isDerived) { + log.warn("{}", //$NON-NLS-1$ + format(SshdText.get().cannotReadPublicKey, keyFile)); + } + } catch (InvalidPathException | IOException e) { + log.warn("{}", //$NON-NLS-1$ + format(SshdText.get().cannotReadPublicKey, keyFile), e); + } catch (GeneralSecurityException e) { + // ignore in case this is not a derived key path, as in most + // cases this specifies a private key + if (isDerived) { + log.warn("{}", //$NON-NLS-1$ + format(SshdText.get().cannotReadPublicKey, keyFile), + e); + } + } + return null; + } + @Override protected Iterable<KeyAgentIdentity> initializeAgentIdentities( ClientSession session) throws IOException { diff --git a/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF index 582d5e6aa0..1af338b73e 100644 --- a/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF @@ -3,19 +3,19 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ssh.jsch.test Bundle-SymbolicName: org.eclipse.jgit.ssh.jsch.test -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.hamcrest.core;bundle-version="[1.3.0,2.0.0)" Import-Package: com.jcraft.jsch;version="[0.1.54,0.2.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit.ssh;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.ssh.jsch;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit.ssh;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.ssh.jsch;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", org.junit;version="[4.13,5.0.0)", org.junit.experimental.theories;version="[4.13,5.0.0)", org.junit.runner;version="[4.13,5.0.0)" diff --git a/org.eclipse.jgit.ssh.jsch.test/pom.xml b/org.eclipse.jgit.ssh.jsch.test/pom.xml index 51a9f30c24..d70dc1216e 100644 --- a/org.eclipse.jgit.ssh.jsch.test/pom.xml +++ b/org.eclipse.jgit.ssh.jsch.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.jsch.test</artifactId> diff --git a/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF index 2028c7607e..36e2de2117 100644 --- a/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF @@ -3,19 +3,19 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ssh.jsch Bundle-SymbolicName: org.eclipse.jgit.ssh.jsch;singleton:=true -Fragment-Host: org.eclipse.jgit;bundle-version="[6.8.1,6.9.0)" +Fragment-Host: org.eclipse.jgit;bundle-version="[6.9.1,6.10.0)" Bundle-Vendor: %Bundle-Vendor Bundle-Localization: OSGI-INF/l10n/jsch Bundle-ActivationPolicy: lazy -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 -Export-Package: org.eclipse.jgit.transport.ssh.jsch;version="6.8.1" +Export-Package: org.eclipse.jgit.transport.ssh.jsch;version="6.9.1" Import-Package: com.jcraft.jsch;version="[0.1.37,0.2.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.transport.ssh;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util.io;version="[6.8.1,6.9.0)", - org.slf4j;version="[1.7.0,2.0.0)" + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.transport.ssh;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util.io;version="[6.9.1,6.10.0)", + org.slf4j;version="[1.7.0,3.0.0)" diff --git a/org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF index 797bca41a7..50747f6e21 100644 --- a/org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.ssh.jsch - Sources Bundle-SymbolicName: org.eclipse.jgit.ssh.jsch.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.ssh.jsch;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.ssh.jsch;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.ssh.jsch/pom.xml b/org.eclipse.jgit.ssh.jsch/pom.xml index 1a100ea395..bd0ff6084f 100644 --- a/org.eclipse.jgit.ssh.jsch/pom.xml +++ b/org.eclipse.jgit.ssh.jsch/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.jsch</artifactId> diff --git a/org.eclipse.jgit.test/BUILD b/org.eclipse.jgit.test/BUILD index bb15de0b2d..29f5b36149 100644 --- a/org.eclipse.jgit.test/BUILD +++ b/org.eclipse.jgit.test/BUILD @@ -78,6 +78,7 @@ java_library( deps = [ "//lib:assertj-core", "//lib:commons-codec", + "//lib:commons-io", "//lib:junit", "//lib:mockito", "//lib:slf4j-simple", diff --git a/org.eclipse.jgit.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.test/META-INF/MANIFEST.MF index 8845014417..fb6255eed9 100644 --- a/org.eclipse.jgit.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.test Bundle-SymbolicName: org.eclipse.jgit.test -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -18,65 +18,67 @@ Import-Package: com.googlecode.javaewah;version="[1.1.6,2.0.0)", org.apache.commons.compress.compressors.bzip2;version="[1.15.0,2.0)", org.apache.commons.compress.compressors.gzip;version="[1.15.0,2.0)", org.apache.commons.compress.compressors.xz;version="[1.15.0,2.0)", + org.apache.commons.io;version="[2.15.0,3.0.0)", + org.apache.commons.io.output;version="[2.15.0,3.0.0)", org.assertj.core.api;version="[3.14.0,4.0.0)", - org.eclipse.jgit.annotations;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api;version="[6.8.1,6.9.0)", - org.eclipse.jgit.api.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.archive;version="[6.8.1,6.9.0)", - org.eclipse.jgit.attributes;version="[6.8.1,6.9.0)", - org.eclipse.jgit.awtui;version="[6.8.1,6.9.0)", - org.eclipse.jgit.blame;version="[6.8.1,6.9.0)", - org.eclipse.jgit.diff;version="[6.8.1,6.9.0)", - org.eclipse.jgit.dircache;version="[6.8.1,6.9.0)", - org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.events;version="[6.8.1,6.9.0)", - org.eclipse.jgit.fnmatch;version="[6.8.1,6.9.0)", - org.eclipse.jgit.gitrepo;version="[6.8.1,6.9.0)", - org.eclipse.jgit.hooks;version="[6.8.1,6.9.0)", - org.eclipse.jgit.ignore;version="[6.8.1,6.9.0)", - org.eclipse.jgit.ignore.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.diff;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.diffmergetool;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.fsck;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.commitgraph;version="6.8.1", - org.eclipse.jgit.internal.storage.dfs;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.io;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.memory;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.pack;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.storage.reftable;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.transport.connectivity;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.transport.http;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.transport.parser;version="[6.8.1,6.9.0)", - org.eclipse.jgit.internal.transport.ssh;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit;version="[6.8.1,6.9.0)", - org.eclipse.jgit.junit.time;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lfs;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.logging;version="[6.8.1,6.9.0)", - org.eclipse.jgit.merge;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.notes;version="[6.8.1,6.9.0)", - org.eclipse.jgit.patch;version="[6.8.1,6.9.0)", - org.eclipse.jgit.pgm;version="[6.8.1,6.9.0)", - org.eclipse.jgit.pgm.internal;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revplot;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk.filter;version="[6.8.1,6.9.0)", - org.eclipse.jgit.storage.file;version="[6.8.1,6.9.0)", - org.eclipse.jgit.storage.pack;version="[6.8.1,6.9.0)", - org.eclipse.jgit.submodule;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.http;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport.resolver;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.treewalk.filter;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util.io;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util.sha1;version="[6.8.1,6.9.0)", + org.eclipse.jgit.annotations;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api;version="[6.9.1,6.10.0)", + org.eclipse.jgit.api.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.archive;version="[6.9.1,6.10.0)", + org.eclipse.jgit.attributes;version="[6.9.1,6.10.0)", + org.eclipse.jgit.awtui;version="[6.9.1,6.10.0)", + org.eclipse.jgit.blame;version="[6.9.1,6.10.0)", + org.eclipse.jgit.diff;version="[6.9.1,6.10.0)", + org.eclipse.jgit.dircache;version="[6.9.1,6.10.0)", + org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.events;version="[6.9.1,6.10.0)", + org.eclipse.jgit.fnmatch;version="[6.9.1,6.10.0)", + org.eclipse.jgit.gitrepo;version="[6.9.1,6.10.0)", + org.eclipse.jgit.hooks;version="[6.9.1,6.10.0)", + org.eclipse.jgit.ignore;version="[6.9.1,6.10.0)", + org.eclipse.jgit.ignore.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.diff;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.diffmergetool;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.fsck;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.commitgraph;version="6.9.1", + org.eclipse.jgit.internal.storage.dfs;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.io;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.memory;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.pack;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.storage.reftable;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.transport.connectivity;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.transport.http;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.transport.parser;version="[6.9.1,6.10.0)", + org.eclipse.jgit.internal.transport.ssh;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit;version="[6.9.1,6.10.0)", + org.eclipse.jgit.junit.time;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lfs;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.logging;version="[6.9.1,6.10.0)", + org.eclipse.jgit.merge;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.notes;version="[6.9.1,6.10.0)", + org.eclipse.jgit.patch;version="[6.9.1,6.10.0)", + org.eclipse.jgit.pgm;version="[6.9.1,6.10.0)", + org.eclipse.jgit.pgm.internal;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revplot;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk.filter;version="[6.9.1,6.10.0)", + org.eclipse.jgit.storage.file;version="[6.9.1,6.10.0)", + org.eclipse.jgit.storage.pack;version="[6.9.1,6.10.0)", + org.eclipse.jgit.submodule;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.http;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport.resolver;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.treewalk.filter;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util.io;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util.sha1;version="[6.9.1,6.10.0)", org.junit;version="[4.13,5.0.0)", org.junit.experimental.theories;version="[4.13,5.0.0)", org.junit.function;version="[4.13.0,5.0.0)", @@ -88,5 +90,5 @@ Import-Package: com.googlecode.javaewah;version="[1.1.6,2.0.0)", org.mockito.junit;version="[5.4.0,6.0.0)", org.mockito.stubbing;version="[5.4.0,6.0.0)", org.objenesis;version="[3.3.0,4.0.0)", - org.slf4j;version="[1.7.0,2.0.0)", + org.slf4j;version="[1.7.0,3.0.0)", org.tukaani.xz diff --git a/org.eclipse.jgit.test/pom.xml b/org.eclipse.jgit.test/pom.xml index 2ff7b7edd1..fd40586661 100644 --- a/org.eclipse.jgit.test/pom.xml +++ b/org.eclipse.jgit.test/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.test</artifactId> diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CherryPickCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CherryPickCommandTest.java index 301d6be662..be3b33a9c5 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CherryPickCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CherryPickCommandTest.java @@ -9,6 +9,8 @@ */ package org.eclipse.jgit.api; +import static org.eclipse.jgit.api.CherryPickCommitMessageProvider.ORIGINAL; +import static org.eclipse.jgit.api.CherryPickCommitMessageProvider.ORIGINAL_WITH_REFERENCE; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -590,4 +592,187 @@ public class CherryPickCommandTest extends RepositoryTestCase { checkFile(new File(db.getWorkTree(), "file"), "a\n2\n3\n"); } } + + private void doCherryPickWithCustomProviderBaseTest(Git git, + CherryPickCommitMessageProvider commitMessageProvider) + throws Exception { + writeTrashFile("fileA", "line 1\nline 2\nline 3\n"); + git.add().addFilepattern("fileA").call(); + RevCommit commitFirst = git.commit().setMessage("create fileA").call(); + + writeTrashFile("fileB", "content from file B\n"); + git.add().addFilepattern("fileB").call(); + RevCommit commitCreateFileB = git.commit() + .setMessage("create fileB\n\nsome commit details").call(); + + writeTrashFile("fileA", "line 1\nline 2\nline 3\nline 4\n"); + git.add().addFilepattern("fileA").call(); + RevCommit commitEditFileA1 = git.commit().setMessage("patch fileA 1") + .call(); + + writeTrashFile("fileA", "line 1\nline 2\nline 3\nline 4\nline 5\n"); + git.add().addFilepattern("fileA").call(); + RevCommit commitEditFileA2 = git.commit().setMessage("patch fileA 2") + .call(); + + git.branchCreate().setName("side").setStartPoint(commitFirst).call(); + checkoutBranch("refs/heads/side"); + + CherryPickResult pickResult = git.cherryPick() + .setCherryPickCommitMessageProvider(commitMessageProvider) + .include(commitCreateFileB).include(commitEditFileA1) + .include(commitEditFileA2).call(); + + assertEquals(CherryPickStatus.OK, pickResult.getStatus()); + + assertTrue(new File(db.getWorkTree(), "fileA").exists()); + assertTrue(new File(db.getWorkTree(), "fileB").exists()); + + checkFile(new File(db.getWorkTree(), "fileA"), + "line 1\nline 2\nline 3\nline 4\nline 5\n"); + checkFile(new File(db.getWorkTree(), "fileB"), "content from file B\n"); + } + + @Test + public void testCherryPickWithCustomCommitMessageProvider() + throws Exception { + try (Git git = new Git(db)) { + @SuppressWarnings("boxing") + CherryPickCommitMessageProvider messageProvider = srcCommit -> { + String message = srcCommit.getFullMessage(); + return String.format("%s (message length: %d)", message, + message.length()); + }; + doCherryPickWithCustomProviderBaseTest(git, messageProvider); + + Iterator<RevCommit> history = git.log().call().iterator(); + assertEquals("patch fileA 2 (message length: 13)", + history.next().getFullMessage()); + assertEquals("patch fileA 1 (message length: 13)", + history.next().getFullMessage()); + assertEquals( + "create fileB\n\nsome commit details (message length: 33)", + history.next().getFullMessage()); + assertEquals("create fileA", history.next().getFullMessage()); + assertFalse(history.hasNext()); + } + } + + @Test + public void testCherryPickWithCustomCommitMessageProvider_ORIGINAL() + throws Exception { + try (Git git = new Git(db)) { + doCherryPickWithCustomProviderBaseTest(git, ORIGINAL); + + Iterator<RevCommit> history = git.log().call().iterator(); + assertEquals("patch fileA 2", history.next().getFullMessage()); + assertEquals("patch fileA 1", history.next().getFullMessage()); + assertEquals("create fileB\n\nsome commit details", + history.next().getFullMessage()); + assertEquals("create fileA", history.next().getFullMessage()); + assertFalse(history.hasNext()); + } + } + + @Test + public void testCherryPickWithCustomCommitMessageProvider_ORIGINAL_WITH_REFERENCE() + throws Exception { + try (Git git = new Git(db)) { + doCherryPickWithCustomProviderBaseTest(git, + ORIGINAL_WITH_REFERENCE); + + Iterator<RevCommit> history = git.log().call().iterator(); + assertEquals("patch fileA 2\n\n(cherry picked from commit 1ac121e90b0fb6fb18bbb4307e3e9731ceeba9e1)", history.next().getFullMessage()); + assertEquals("patch fileA 1\n\n(cherry picked from commit 71475239df59076e18564fa360e3a74280926c2a)", history.next().getFullMessage()); + assertEquals("create fileB\n\nsome commit details\n\n(cherry picked from commit 29b4501297ccf8de9de9f451e7beb384b51f5378)", + history.next().getFullMessage()); + assertEquals("create fileA", history.next().getFullMessage()); + assertFalse(history.hasNext()); + } + } + + @Test + public void testCherryPickWithCustomCommitMessageProvider_ORIGINAL_WITH_REFERENCE_DonNotAddNewLineAfterFooter() + throws Exception { + try (Git git = new Git(db)) { + CherryPickCommitMessageProvider commitMessageProvider = CherryPickCommitMessageProvider.ORIGINAL_WITH_REFERENCE; + + RevCommit commit1 = addFileAndCommit(git, "file1", "content 1", + "commit1: no footer line"); + RevCommit commit2 = addFileAndCommit(git, "file2", "content 2", + "commit2: simple single footer line" + + "\n\nSigned-off-by: Alice <alice@example.com>"); + RevCommit commit3 = addFileAndCommit(git, "file3", "content 3", + "commit3: multiple footer lines\n\n" + + "Signed-off-by: Alice <alice@example.com>\n" + + "Signed-off-by: Bob <bob@example.com>"); + RevCommit commit4 = addFileAndCommit(git, "file4", "content 4", + "commit4: extra commit text before footer line\n\n" + + "Commit message details\n\n" + + "Signed-off-by: Alice <alice@example.com>\n" + + "Signed-off-by: Bob <bob@example.com>"); + RevCommit commit5 = addFileAndCommit(git, "file5", "content 5", + "commit5: extra commit text after footer line\n\n" + + "Signed-off-by: Alice <alice@example.com>\n" + + "Signed-off-by: Bob <bob@example.com>\n\n" + + "some extra description after footer"); + + git.branchCreate().setName("side").setStartPoint(commit1).call(); + checkoutBranch("refs/heads/side"); + + CherryPickResult pickResult = git.cherryPick() + .setCherryPickCommitMessageProvider(commitMessageProvider) + .include(commit2).include(commit3).include(commit4) + .include(commit5).call(); + + assertEquals(CherryPickStatus.OK, pickResult.getStatus()); + + assertTrue(new File(db.getWorkTree(), "file1").exists()); + assertTrue(new File(db.getWorkTree(), "file2").exists()); + assertTrue(new File(db.getWorkTree(), "file3").exists()); + assertTrue(new File(db.getWorkTree(), "file4").exists()); + assertTrue(new File(db.getWorkTree(), "file5").exists()); + + Iterator<RevCommit> history = git.log().call().iterator(); + RevCommit cpCommit1 = history.next(); + RevCommit cpCommit2 = history.next(); + RevCommit cpCommit3 = history.next(); + RevCommit cpCommit4 = history.next(); + RevCommit cpCommitInit = history.next(); + assertFalse(history.hasNext()); + + assertEquals("commit5: extra commit text after footer line\n\n" + + "Signed-off-by: Alice <alice@example.com>\n" + + "Signed-off-by: Bob <bob@example.com>\n\n" + + "some extra description after footer\n\n" + + "(cherry picked from commit c3c9959207dc7ae7c83da5d36dc14ef2ca42d572)", + cpCommit1.getFullMessage()); + assertEquals("commit4: extra commit text before footer line\n\n" + + "Commit message details\n\n" + + "Signed-off-by: Alice <alice@example.com>\n" + + "Signed-off-by: Bob <bob@example.com>\n" + + "(cherry picked from commit af3e8106c12cb946a37b403ddb2dd6c11a883698)", + cpCommit2.getFullMessage()); + assertEquals("commit3: multiple footer lines\n\n" + + "Signed-off-by: Alice <alice@example.com>\n" + + "Signed-off-by: Bob <bob@example.com>\n" + + "(cherry picked from commit 6d60f1a70a11a32dff4402c157c4ac328c32ce6c)", + cpCommit3.getFullMessage()); + assertEquals("commit2: simple single footer line\n\n" + + "Signed-off-by: Alice <alice@example.com>\n" + + "(cherry picked from commit 92bf0ec458814ecc73da8e050e60547d2ea6cce5)", + cpCommit4.getFullMessage()); + + assertEquals("commit1: no footer line", + cpCommitInit.getFullMessage()); + } + } + + private RevCommit addFileAndCommit(Git git, String fileName, + String fileText, String commitMessage) + throws IOException, GitAPIException { + writeTrashFile(fileName, fileText); + git.add().addFilepattern(fileName).call(); + return git.commit().setMessage(commitMessage).call(); + } } diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java index 16f7cd1eb0..987c98e232 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java @@ -332,6 +332,40 @@ public class RebaseCommandTest extends RepositoryTestCase { } /** + * Create a commit A and an unrelated commit B creating the same file with + * different content. Then rebase A onto B. The rebase should stop with a + * conflict. + * + * @throws Exception + * on errors + */ + @Test + public void testRebaseNoMergeBaseConflict() throws Exception { + writeTrashFile(FILE1, FILE1); + git.add().addFilepattern(FILE1).call(); + RevCommit first = git.commit().setMessage("Add file").call(); + File file1 = new File(db.getWorkTree(), FILE1); + assertTrue(file1.exists()); + // Create an independent branch + git.checkout().setOrphan(true).setName("orphan").call(); + git.rm().addFilepattern(FILE1).call(); + assertFalse(file1.exists()); + writeTrashFile(FILE1, "something else"); + git.add().addFilepattern(FILE1).call(); + git.commit().setMessage("Orphan").call(); + checkoutBranch("refs/heads/master"); + assertEquals(first.getId(), db.resolve("HEAD")); + RebaseResult res = git.rebase().setUpstream("refs/heads/orphan").call(); + assertEquals(Status.STOPPED, res.getStatus()); + assertEquals(first, res.getCurrentCommit()); + checkFile(file1, "<<<<<<< Upstream, based on orphan\n" + + "something else\n" + + "=======\n" + + "file1\n" + + ">>>>>>> " + first.abbreviate(7).name() + " Add file\n"); + } + + /** * Create the following commits and then attempt to rebase topic onto * master. This will serialize the branches. * diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsPackFileTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsPackFileTest.java index 77e5b7cb14..44694acc8d 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsPackFileTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsPackFileTest.java @@ -14,6 +14,8 @@ import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_MIN_BYTES_OBJ_SIZE import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_PACK_SECTION; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.io.ByteArrayOutputStream; @@ -24,14 +26,18 @@ import java.util.zip.Deflater; import org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.PackSource; import org.eclipse.jgit.internal.storage.dfs.DfsReader.PackLoadListener; +import org.eclipse.jgit.internal.storage.file.PackBitmapIndex; import org.eclipse.jgit.internal.storage.pack.PackExt; import org.eclipse.jgit.internal.storage.pack.PackOutputStream; import org.eclipse.jgit.internal.storage.pack.PackWriter; import org.eclipse.jgit.junit.JGitTestUtil; import org.eclipse.jgit.junit.TestRng; +import org.eclipse.jgit.lib.BatchRefUpdate; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.NullProgressMonitor; import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.revwalk.RevWalk; +import org.eclipse.jgit.transport.ReceiveCommand; import org.junit.Before; import org.junit.Test; @@ -123,6 +129,41 @@ public class DfsPackFileTest { } @Test + public void testGetBitmapIndex() throws IOException { + bypassCache = false; + clearCache = true; + ObjectId objectId = setupPack(512, 800); + + // Add a ref for GC + BatchRefUpdate batchRefUpdate = db.getRefDatabase().newBatchUpdate(); + batchRefUpdate.addCommand(new ReceiveCommand(ObjectId.zeroId(), + objectId, "refs/heads/master")); + try (RevWalk rw = new RevWalk(db)) { + batchRefUpdate.execute(rw, NullProgressMonitor.INSTANCE); + } + DfsGarbageCollector gc = new DfsGarbageCollector(db); + gc.pack(NullProgressMonitor.INSTANCE); + + DfsReader reader = db.getObjectDatabase().newReader(); + PackBitmapIndex bitmapIndex = db.getObjectDatabase().getPacks()[0] + .getBitmapIndex(reader); + assertNotNull(bitmapIndex); + assertEquals(1, bitmapIndex.getObjectCount()); + } + + @Test + public void testGetBitmapIndex_noBitmaps() throws IOException { + bypassCache = false; + clearCache = true; + setupPack(512, 800); + + DfsReader reader = db.getObjectDatabase().newReader(); + PackBitmapIndex bitmapIndex = db.getObjectDatabase().getPacks()[0] + .getBitmapIndex(reader); + assertNull(bitmapIndex); + } + + @Test public void testLoadObjectSizeIndex_noIndex() throws IOException { bypassCache = false; clearCache = true; diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsReaderTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsReaderTest.java index eb8ceecd81..254184ee80 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsReaderTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsReaderTest.java @@ -12,6 +12,7 @@ package org.eclipse.jgit.internal.storage.dfs; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_MIN_BYTES_OBJ_SIZE_INDEX; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_PACK_SECTION; import static org.eclipse.jgit.lib.Constants.OBJ_BLOB; +import static org.eclipse.jgit.lib.Constants.OBJ_COMMIT; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -39,8 +40,56 @@ public class DfsReaderTest { } @Test - public void isNotLargerThan_objAboveThreshold() - throws IOException { + public void getObjectSize_noIndex_blob() throws IOException { + ObjectId obj = insertBlobWithSize(100); + try (DfsReader ctx = db.getObjectDatabase().newReader()) { + long size = ctx.getObjectSize(obj, OBJ_BLOB); + assertEquals(100, size); + } + } + + @Test + public void getObjectSize_noIndex_commit() throws IOException { + ObjectId obj = insertObjectWithSize(OBJ_COMMIT, 110); + try (DfsReader ctx = db.getObjectDatabase().newReader()) { + long size = ctx.getObjectSize(obj, OBJ_COMMIT); + assertEquals(110, size); + } + } + + @Test + public void getObjectSize_index_indexedBlob() throws IOException { + setObjectSizeIndexMinBytes(100); + ObjectId obj = insertBlobWithSize(200); + try (DfsReader ctx = db.getObjectDatabase().newReader()) { + long size = ctx.getObjectSize(obj, OBJ_BLOB); + assertEquals(200, size); + } + } + + @Test + public void getObjectSize_index_nonIndexedBlob() throws IOException { + setObjectSizeIndexMinBytes(100); + ObjectId obj = insertBlobWithSize(50); + try (DfsReader ctx = db.getObjectDatabase().newReader()) { + long size = ctx.getObjectSize(obj, OBJ_BLOB); + assertEquals(50, size); + } + } + + @Test + public void getObjectSize_index_commit() throws IOException { + setObjectSizeIndexMinBytes(100); + insertBlobWithSize(110); + ObjectId obj = insertObjectWithSize(OBJ_COMMIT, 120); + try (DfsReader ctx = db.getObjectDatabase().newReader()) { + long size = ctx.getObjectSize(obj, OBJ_COMMIT); + assertEquals(120, size); + } + } + + @Test + public void isNotLargerThan_objAboveThreshold() throws IOException { setObjectSizeIndexMinBytes(100); ObjectId obj = insertBlobWithSize(200); try (DfsReader ctx = db.getObjectDatabase().newReader()) { @@ -76,10 +125,8 @@ public class DfsReaderTest { } } - @Test - public void isNotLargerThan_objBelowThreshold() - throws IOException { + public void isNotLargerThan_objBelowThreshold() throws IOException { setObjectSizeIndexMinBytes(100); insertBlobWithSize(1000); // index not empty ObjectId obj = insertBlobWithSize(50); @@ -168,22 +215,26 @@ public class DfsReaderTest { ctx.addPackLoadListener(listener); boolean has = ctx.has(obj); assertTrue(has); - assertEquals(Integer.valueOf(1), listener.callsPerExt.get(PackExt.INDEX)); + assertEquals(Integer.valueOf(1), + listener.callsPerExt.get(PackExt.INDEX)); } } @Test - public void packLoadListener_notLargerThan_openMultipleIndices() throws IOException { - setObjectSizeIndexMinBytes(100); - ObjectId obj = insertBlobWithSize(200); - try (DfsReader ctx = db.getObjectDatabase().newReader()) { - CounterPackLoadListener listener = new CounterPackLoadListener(); - ctx.addPackLoadListener(listener); - boolean notLargerThan = ctx.isNotLargerThan(obj, OBJ_BLOB, 1000); - assertTrue(notLargerThan); - assertEquals(Integer.valueOf(1), listener.callsPerExt.get(PackExt.INDEX)); - assertEquals(Integer.valueOf(1), listener.callsPerExt.get(PackExt.OBJECT_SIZE_INDEX)); - } + public void packLoadListener_notLargerThan_openMultipleIndices() + throws IOException { + setObjectSizeIndexMinBytes(100); + ObjectId obj = insertBlobWithSize(200); + try (DfsReader ctx = db.getObjectDatabase().newReader()) { + CounterPackLoadListener listener = new CounterPackLoadListener(); + ctx.addPackLoadListener(listener); + boolean notLargerThan = ctx.isNotLargerThan(obj, OBJ_BLOB, 1000); + assertTrue(notLargerThan); + assertEquals(Integer.valueOf(1), + listener.callsPerExt.get(PackExt.INDEX)); + assertEquals(Integer.valueOf(1), + listener.callsPerExt.get(PackExt.OBJECT_SIZE_INDEX)); + } } @Test @@ -195,20 +246,24 @@ public class DfsReaderTest { try (DfsReader ctx = db.getObjectDatabase().newReader()) { CounterPackLoadListener listener = new CounterPackLoadListener(); ctx.addPackLoadListener(listener); - ObjectId oid = ObjectId.fromString("aa48de2aa61d9dffa8a05439dc115fe82f10f129"); + ObjectId oid = ObjectId + .fromString("aa48de2aa61d9dffa8a05439dc115fe82f10f129"); boolean has = ctx.has(oid); assertFalse(has); // Open 3 indices trying to find the pack - assertEquals(Integer.valueOf(3), listener.callsPerExt.get(PackExt.INDEX)); + assertEquals(Integer.valueOf(3), + listener.callsPerExt.get(PackExt.INDEX)); } } - @Test - public void packLoadListener_has_repeatedCalls_openMultipleIndices() throws IOException { + public void packLoadListener_has_repeatedCalls_openMultipleIndices() + throws IOException { // Two objects NOT in the repo - ObjectId oid = ObjectId.fromString("aa48de2aa61d9dffa8a05439dc115fe82f10f129"); - ObjectId oid2 = ObjectId.fromString("aa48de2aa61d9dffa8a05439dc115fe82f10f130"); + ObjectId oid = ObjectId + .fromString("aa48de2aa61d9dffa8a05439dc115fe82f10f129"); + ObjectId oid2 = ObjectId + .fromString("aa48de2aa61d9dffa8a05439dc115fe82f10f130"); setObjectSizeIndexMinBytes(100); insertBlobWithSize(200); @@ -222,7 +277,8 @@ public class DfsReaderTest { ctx.has(oid2); assertFalse(has); // The 3 indices were loaded only once each - assertEquals(Integer.valueOf(3), listener.callsPerExt.get(PackExt.INDEX)); + assertEquals(Integer.valueOf(3), + listener.callsPerExt.get(PackExt.INDEX)); } } @@ -231,8 +287,8 @@ public class DfsReaderTest { @SuppressWarnings("boxing") @Override - public void onIndexLoad(String packName, PackSource src, PackExt ext, long size, - Object loadedIdx) { + public void onIndexLoad(String packName, PackSource src, PackExt ext, + long size, Object loadedIdx) { callsPerExt.merge(ext, 1, Integer::sum); } @@ -243,13 +299,16 @@ public class DfsReaderTest { } } - private ObjectId insertBlobWithSize(int size) + private ObjectId insertBlobWithSize(int size) throws IOException { + return insertObjectWithSize(OBJ_BLOB, size); + } + + private ObjectId insertObjectWithSize(int object_type, int size) throws IOException { TestRng testRng = new TestRng(JGitTestUtil.getName()); ObjectId oid; try (ObjectInserter ins = db.newObjectInserter()) { - oid = ins.insert(OBJ_BLOB, - testRng.nextBytes(size)); + oid = ins.insert(object_type, testRng.nextBytes(size)); ins.flush(); } return oid; diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/BasePackBitmapIndexTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/BasePackBitmapIndexTest.java new file mode 100644 index 0000000000..f47c385ab9 --- /dev/null +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/BasePackBitmapIndexTest.java @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2023, Google LLC and others + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Distribution License v. 1.0 which is available at + * http://www.eclipse.org/org/documents/edl-v10.php. + * + * SPDX-License-Identifier: BSD-3-Clause + */ +package org.eclipse.jgit.internal.storage.file; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import org.eclipse.jgit.internal.storage.file.BasePackBitmapIndex.StoredBitmap; +import org.eclipse.jgit.lib.AnyObjectId; +import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.ObjectIdOwnerMap; +import org.junit.Before; +import org.junit.Test; + +import com.googlecode.javaewah.EWAHCompressedBitmap; + +public class BasePackBitmapIndexTest { + + private ObjectId baseOid; + + private StoredBitmap baseBitmap; + + private ObjectId xorOid; + + private StoredBitmap xorBitmap; + + private ObjectIdOwnerMap<StoredBitmap> bitmaps; + + @Before + public void setUp() { + baseOid = ObjectId + .fromString("c46f36f2bfc96d6d6f75bd71ee33625293aee690"); + baseBitmap = newBaseStoredBitmap(baseOid, bitmapOf(100)); + xorOid = ObjectId + .fromString("52c18ae15f8fa3787f920e68791367dae2e1af2d"); + xorBitmap = newXorStoredBitmap(xorOid, bitmapOf(200, 300), baseBitmap); + bitmaps = new ObjectIdOwnerMap<>(); + bitmaps.add(baseBitmap); + bitmaps.add(xorBitmap); + } + + @Test + public void testBitmapCounts() { + TestPackBitmapIndex index = new TestPackBitmapIndex(bitmaps); + + assertEquals(1, index.getBaseBitmapCount()); + assertEquals(1, index.getXorBitmapCount()); + assertEquals(2, index.getBitmapCount()); + } + + @Test + public void testBitmapCounts_xorResolved() { + TestPackBitmapIndex index = new TestPackBitmapIndex(bitmaps); + index.getBitmap(xorOid); + + assertEquals(2, index.getBaseBitmapCount()); + assertEquals(0, index.getXorBitmapCount()); + assertEquals(2, index.getBitmapCount()); + } + + @Test + public void testBitmapSizes() { + TestPackBitmapIndex index = new TestPackBitmapIndex(bitmaps); + + assertEquals(baseBitmap.getCurrentSizeInBytes(), + index.getBaseBitmapSizeInBytes()); + assertEquals(xorBitmap.getCurrentSizeInBytes(), + index.getXorBitmapSizeInBytes()); + } + + @Test + public void testBitmapSizes_xorResolved() { + TestPackBitmapIndex index = new TestPackBitmapIndex(bitmaps); + index.getBitmap(xorOid); + + assertTrue(baseBitmap.getCurrentSizeInBytes() < index + .getBaseBitmapSizeInBytes()); + assertEquals(0, index.getXorBitmapSizeInBytes()); + } + + private static final StoredBitmap newBaseStoredBitmap(ObjectId oid, + EWAHCompressedBitmap base) { + return new StoredBitmap(oid, base, null, 0); + } + + private static StoredBitmap newXorStoredBitmap(ObjectId oid, + EWAHCompressedBitmap xorMask, StoredBitmap base) { + return new StoredBitmap(oid, xorMask, base, 0); + } + + private static final EWAHCompressedBitmap bitmapOf(int... bits) { + EWAHCompressedBitmap b = new EWAHCompressedBitmap(); + for (int bit : bits) + b.set(bit); + return b; + } + + private static class TestPackBitmapIndex extends BasePackBitmapIndex { + TestPackBitmapIndex(ObjectIdOwnerMap<StoredBitmap> bitmaps) { + super(bitmaps); + } + + @Override + public int findPosition(AnyObjectId objectId) { + throw new IllegalStateException(); + } + + @Override + public ObjectId getObject(int position) + throws IllegalArgumentException { + throw new IllegalStateException(); + } + + @Override + public EWAHCompressedBitmap ofObjectType(EWAHCompressedBitmap bitmap, + int type) { + throw new IllegalStateException(); + } + + @Override + public int getObjectCount() { + throw new IllegalStateException(); + } + + @Override + public int getBitmapCount() { + return getBitmaps().size(); + } + } +} diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/StoredBitmapTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/StoredBitmapTest.java index f5c7c67c5d..684ee52b4a 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/StoredBitmapTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/StoredBitmapTest.java @@ -11,6 +11,8 @@ package org.eclipse.jgit.internal.storage.file; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import org.eclipse.jgit.internal.storage.file.BasePackBitmapIndex.StoredBitmap; import org.eclipse.jgit.lib.ObjectId; @@ -44,6 +46,33 @@ public class StoredBitmapTest { assertEquals(bitmapOf(50, 90), sb.getBitmap()); } + @Test + public void testGetSizeWithoutXor() { + EWAHCompressedBitmap base = bitmapOf(100); + StoredBitmap sb = newStoredBitmap(base); + assertEquals(base.sizeInBytes(), sb.getCurrentSizeInBytes()); + sb.getBitmap(); + assertEquals(base.sizeInBytes(), sb.getCurrentSizeInBytes()); + } + + @Test + public void testGetSizeWithOneXor() { + EWAHCompressedBitmap base = bitmapOf(100, 101); + EWAHCompressedBitmap xor = bitmapOf(100); + StoredBitmap sb = newStoredBitmap(base, xor); + assertEquals(xor.sizeInBytes(), sb.getCurrentSizeInBytes()); + } + + @Test + public void testIsBase() { + EWAHCompressedBitmap one = bitmapOf(100, 101); + EWAHCompressedBitmap two = bitmapOf(100); + StoredBitmap baseBitmap = newStoredBitmap(one); + StoredBitmap xoredBitmap = newStoredBitmap(one, two); + assertTrue(baseBitmap.isBase()); + assertFalse(xoredBitmap.isBase()); + } + private static final StoredBitmap newStoredBitmap( EWAHCompressedBitmap... bitmaps) { StoredBitmap sb = null; diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/BitmapWalkerTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/BitmapWalkerTest.java new file mode 100644 index 0000000000..a59a71d19f --- /dev/null +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/BitmapWalkerTest.java @@ -0,0 +1,161 @@ +/* + * Copyright (C) 2023, Google Inc. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Distribution License v. 1.0 which is available at + * https://www.eclipse.org/org/documents/edl-v10.php. + * + * SPDX-License-Identifier: BSD-3-Clause + */ +package org.eclipse.jgit.revwalk; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.util.List; + +import org.eclipse.jgit.internal.storage.file.FileRepository; +import org.eclipse.jgit.internal.storage.file.GC; +import org.eclipse.jgit.junit.LocalDiskRepositoryTestCase; +import org.eclipse.jgit.junit.TestRepository; +import org.eclipse.jgit.lib.AnyObjectId; +import org.eclipse.jgit.lib.BitmapIndex; +import org.eclipse.jgit.lib.BitmapIndex.Bitmap; +import org.eclipse.jgit.lib.BitmapIndex.BitmapBuilder; +import org.eclipse.jgit.lib.BitmapIndex.BitmapLookupListener; +import org.eclipse.jgit.lib.NullProgressMonitor; +import org.eclipse.jgit.lib.ObjectReader; +import org.junit.Before; +import org.junit.Test; + +public class BitmapWalkerTest extends LocalDiskRepositoryTestCase { + + private static final String MAIN = "refs/heads/main"; + + TestRepository<FileRepository> repo; + + RevCommit tipWithBitmap; + + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + FileRepository db = createWorkRepository(); + repo = new TestRepository<>(db); + + RevCommit base = repo.commit().create(); + RevCommit one = repo.commit().parent(base).create(); + tipWithBitmap = repo.commit().parent(one).create(); + repo.update(MAIN, tipWithBitmap); + + GC gc = new GC(repo.getRepository()); + gc.setAuto(false); + gc.gc().get(); + + assertNotNull(repo.getRevWalk().getObjectReader().getBitmapIndex()); + } + + private static class BitmapWalkCounter implements BitmapLookupListener { + int withBitmap; + + int withoutBitmap; + + @Override + public void onBitmapFound(AnyObjectId oid) { + withBitmap += 1; + } + + @Override + public void onBitmapNotFound(AnyObjectId oid) { + withoutBitmap += 1; + } + } + + @Test + public void counters_bitmapAtTip() throws Exception { + try (RevWalk rw = repo.getRevWalk(); + ObjectReader or = rw.getObjectReader()) { + BitmapWalkCounter counter = new BitmapWalkCounter(); + BitmapIndex bitmapIndex = or.getBitmapIndex(); + bitmapIndex.addBitmapLookupListener(counter); + BitmapWalker bw = new BitmapWalker(rw.toObjectWalkWithSameObjects(), + bitmapIndex, NullProgressMonitor.INSTANCE); + BitmapBuilder bitmap = bw.findObjects(List.of(tipWithBitmap), null, + true); + // First commit has a tree, so in total 4 objects + assertEquals(4, bitmap.cardinality()); + assertEquals(1, counter.withBitmap); + assertEquals(0, counter.withoutBitmap); + assertEquals(0, bw.getCountOfBitmapIndexMisses()); + } + } + + @Test + public void counters_bitmapAfterAStep() throws Exception { + System.out.println("Old tip: " + tipWithBitmap); + RevCommit newTip = repo.commit().parent(tipWithBitmap).create(); + System.out.println("New tip: " + newTip); + try (RevWalk rw = repo.getRevWalk(); + ObjectReader or = rw.getObjectReader()) { + BitmapWalkCounter counter = new BitmapWalkCounter(); + BitmapIndex bitmapIndex = or.getBitmapIndex(); + bitmapIndex.addBitmapLookupListener(counter); + BitmapWalker bw = new BitmapWalker(rw.toObjectWalkWithSameObjects(), + bitmapIndex, NullProgressMonitor.INSTANCE); + + bw.findObjects(List.of(newTip), null, true); + + assertEquals(1, counter.withBitmap); + // It checks bitmap before marking as interesting, and again in the + // walk + assertEquals(2, counter.withoutBitmap); + assertEquals(1, bw.getCountOfBitmapIndexMisses()); + } + } + + @Test + public void counters_bitmapAfterThreeSteps() throws Exception { + RevCommit newOne = repo.commit().parent(tipWithBitmap).create(); + RevCommit newTwo = repo.commit().parent(newOne).create(); + RevCommit newTip = repo.commit().parent(newTwo).create(); + + try (RevWalk rw = repo.getRevWalk(); + ObjectReader or = rw.getObjectReader()) { + BitmapWalkCounter counter = new BitmapWalkCounter(); + BitmapIndex bitmapIndex = or.getBitmapIndex(); + bitmapIndex.addBitmapLookupListener(counter); + BitmapWalker bw = new BitmapWalker(rw.toObjectWalkWithSameObjects(), + bitmapIndex, NullProgressMonitor.INSTANCE); + + bw.findObjects(List.of(newTip), null, true); + + assertEquals(1, counter.withBitmap); + assertEquals(4, counter.withoutBitmap); + assertEquals(3, bw.getCountOfBitmapIndexMisses()); + } + } + + @Test + public void counters_bitmapAfterThreeStepsWithSeen() throws Exception { + RevCommit newOne = repo.commit().parent(tipWithBitmap).create(); + RevCommit newTwo = repo.commit().parent(newOne).create(); + RevCommit newTip = repo.commit().parent(newTwo).create(); + + try (RevWalk rw = repo.getRevWalk(); + ObjectReader or = rw.getObjectReader()) { + BitmapIndex bitmapIndex = or.getBitmapIndex(); + Bitmap seen = bitmapIndex.getBitmap(tipWithBitmap); + BitmapBuilder seenBB = bitmapIndex.newBitmapBuilder().or(seen); + BitmapWalkCounter counter = new BitmapWalkCounter(); + bitmapIndex.addBitmapLookupListener(counter); + BitmapWalker bw = new BitmapWalker(rw.toObjectWalkWithSameObjects(), + bitmapIndex, NullProgressMonitor.INSTANCE); + + bw.findObjects(List.of(newTip), seenBB, true); + + assertEquals(0, counter.withBitmap); + assertEquals(4, counter.withoutBitmap); + assertEquals(3, bw.getCountOfBitmapIndexMisses()); + } + } +} diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/FooterLineTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/FooterLineTest.java index 303aedcd00..657c3d242f 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/FooterLineTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/FooterLineTest.java @@ -80,6 +80,33 @@ public class FooterLineTest extends RepositoryTestCase { } @Test + public void testNoFooters_noRawMsg_SingleLineNoHeaders() { + String noRawMsg = "commit message with no header lines\n"; + List<FooterLine> footers = FooterLine.fromMessage(noRawMsg); + assertNotNull(footers); + assertEquals(0, footers.size()); + } + + @Test + public void testOneFooter_noRawMsg_MultiParagraphNoHeaders() { + String noRawMsg = "subject\n\n" + + "Not: footer\n\n" + + "Footer: value\n"; + List<FooterLine> footers = FooterLine.fromMessage(noRawMsg); + assertNotNull(footers); + assertEquals(1, footers.size()); + } + + @Test + public void testOneFooter_longSubject_NoHeaders() { + String noRawMsg = "50+ chars loooooooooooooong custom commit message.\n\n" + + "Footer: value\n"; + List<FooterLine> footers = FooterLine.fromMessage(noRawMsg); + assertNotNull(footers); + assertEquals(1, footers.size()); + } + + @Test public void testSignedOffBy_OneUserNoLF() { String msg = buildMessage("subject\n\nbody of commit\n" + "\n" + "Signed-off-by: A. U. Thor <a@example.com>"); @@ -264,18 +291,26 @@ public class FooterLineTest extends RepositoryTestCase { f = footers.get(0); assertEquals("Signed-off-by", f.getKey()); assertEquals("A. U. Thor <a@example.com>", f.getValue()); + assertEquals(217, f.getStartOffset()); + assertEquals(258, f.getEndOffset()); f = footers.get(1); assertEquals("CC", f.getKey()); assertEquals("<some.mailing.list@example.com>", f.getValue()); + assertEquals(259, f.getStartOffset()); + assertEquals(305, f.getEndOffset()); f = footers.get(2); assertEquals("Acked-by", f.getKey()); assertEquals("Some Reviewer <sr@example.com>", f.getValue()); + assertEquals(356, f.getStartOffset()); + assertEquals(396, f.getEndOffset()); f = footers.get(3); assertEquals("Signed-off-by", f.getKey()); assertEquals("Main Tain Er <mte@example.com>", f.getValue()); + assertEquals(397, f.getStartOffset()); + assertEquals(442, f.getEndOffset()); } @Test @@ -369,6 +404,26 @@ public class FooterLineTest extends RepositoryTestCase { f.getValue()); } + @Test + public void testFirstLineNeverFooter() { + String msg = buildMessage( + String.join("\n", "First-Line: is never a footer", "Foo: ter", + "1-is: also a footer")); + List<FooterLine> footers = FooterLine.fromMessage(msg); + assertNotNull(footers); + assertEquals(2, footers.size()); + } + + @Test + public void testLineAfterFooters() { + String msg = buildMessage( + String.join("\n", "Subject line: is never a footer", "Foo: ter", + "1-is: also a footer", "this is not a footer")); + List<FooterLine> footers = FooterLine.fromMessage(msg); + assertNotNull(footers); + assertEquals(2, footers.size()); + } + private String buildMessage(String msg) { StringBuilder buf = new StringBuilder(); buf.append("tree " + ObjectId.zeroId().name() + "\n"); diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/FSTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/FSTest.java index 51236e1cc0..3a7fa2388e 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/FSTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/FSTest.java @@ -29,8 +29,12 @@ import java.nio.file.attribute.PosixFilePermission; import java.time.Duration; import java.time.ZoneId; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; import java.util.Locale; import java.util.Set; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import org.eclipse.jgit.errors.CommandFailedException; @@ -196,6 +200,23 @@ public class FSTest { } @Test + @SuppressWarnings("boxing") + public void testConcurrentSymlinkSupport() + throws ExecutionException, InterruptedException { + Assume.assumeTrue(FS.DETECTED.supportsSymlinks()); + int n = 3; + List<CompletableFuture<Boolean>> futures = new ArrayList<>(); + for (int i = 0; i < n; i++) { + futures.add(CompletableFuture.supplyAsync( + () -> FS.DETECTED.newInstance().supportsSymlinks())); + } + + for (int i = 0; i < n; i++) { + assertTrue(futures.get(i).get()); + } + } + + @Test public void testFsTimestampResolution() throws Exception { DateTimeFormatter formatter = DateTimeFormatter .ofPattern("uuuu-MMM-dd HH:mm:ss.nnnnnnnnn", Locale.ENGLISH) diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawParseUtilsTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawParseUtilsTest.java index e80c07509a..e4ef302359 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawParseUtilsTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawParseUtilsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011, Leonard Broman <leonard.broman@gmail.com> and others + * Copyright (C) 2011, 2024 Leonard Broman <leonard.broman@gmail.com> and others * * This program and the accompanying materials are made available under the * terms of the Eclipse Distribution License v. 1.0 which is available at @@ -15,6 +15,7 @@ import static org.junit.Assert.fail; import java.nio.charset.Charset; import java.nio.charset.UnsupportedCharsetException; +import java.util.List; import org.eclipse.jgit.lib.Constants; import org.junit.Test; @@ -24,7 +25,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; public class RawParseUtilsTest { String commit = "tree e3a1035abd2b319bb01e57d69b0ba6cab289297e\n" + "parent 54e895b87c0768d2317a2b17062e3ad9f76a8105\n" + - "committer A U Thor <author@xample.com 1528968566 +0200\n" + + "committer A U Thor <author@example.com> 1528968566 +0200\n" + "gpgsig -----BEGIN PGP SIGNATURE-----\n" + " \n" + " wsBcBAABCAAQBQJbGB4pCRBK7hj4Ov3rIwAAdHIIAENrvz23867ZgqrmyPemBEZP\n" + @@ -67,21 +68,24 @@ public class RawParseUtilsTest { public void testHeaderStart() { byte[] headerName = "some".getBytes(UTF_8); byte[] commitBytes = commit.getBytes(UTF_8); - assertEquals(625, RawParseUtils.headerStart(headerName, commitBytes, 0)); - assertEquals(625, RawParseUtils.headerStart(headerName, commitBytes, 4)); + assertEquals(627, + RawParseUtils.headerStart(headerName, commitBytes, 0)); + assertEquals(627, + RawParseUtils.headerStart(headerName, commitBytes, 4)); byte[] missingHeaderName = "missing".getBytes(UTF_8); assertEquals(-1, RawParseUtils.headerStart(missingHeaderName, commitBytes, 0)); byte[] fauxHeaderName = "other".getBytes(UTF_8); - assertEquals(-1, RawParseUtils.headerStart(fauxHeaderName, commitBytes, 625 + 4)); + assertEquals(-1, RawParseUtils.headerStart(fauxHeaderName, commitBytes, + 627 + 4)); } @Test public void testHeaderEnd() { byte[] commitBytes = commit.getBytes(UTF_8); - int[] expected = new int[] {45, 93, 148, 619, 637}; + int[] expected = new int[] { 45, 93, 150, 621, 639 }; int start = 0; for (int i = 0; i < expected.length; i++) { start = RawParseUtils.headerEnd(commitBytes, start); @@ -89,4 +93,44 @@ public class RawParseUtilsTest { start += 1; } } + + @Test + public void testHeaderValue() { + byte[] commitBytes = commit.getBytes(UTF_8); + List<String> headers = List.of( + "e3a1035abd2b319bb01e57d69b0ba6cab289297e", + "54e895b87c0768d2317a2b17062e3ad9f76a8105", + "A U Thor <author@example.com> 1528968566 +0200", + "-----BEGIN PGP SIGNATURE-----\n" + + "\n" + + "wsBcBAABCAAQBQJbGB4pCRBK7hj4Ov3rIwAAdHIIAENrvz23867ZgqrmyPemBEZP\n" + + "U24B1Tlq/DWvce2buaxmbNQngKZ0pv2s8VMc11916WfTIC9EKvioatmpjduWvhqj\n" + + "znQTFyiMor30pyYsfrqFuQZvqBW01o8GEWqLg8zjf9Rf0R3LlOEw86aT8CdHRlm6\n" + + "wlb22xb8qoX4RB+LYfz7MhK5F+yLOPXZdJnAVbuyoMGRnDpwdzjL5Hj671+XJxN5\n" + + "SasRdhxkkfw/ZnHxaKEc4juMz8Nziz27elRwhOQqlTYoXNJnsV//wy5Losd7aKi1\n" + + "xXXyUpndEOmT0CIcKHrN/kbYoVL28OJaxoBuva3WYQaRrzEe3X02NMxZe9gkSqA=\n" + + "=TClh\n" + + "-----END PGP SIGNATURE-----", + "other header"); + int start = 0; + for (String header : headers) { + int endOfTag = RawParseUtils.next(commitBytes, start, ' '); + int end = RawParseUtils.headerEnd(commitBytes, start); + + assertEquals(header, new String( + RawParseUtils.headerValue(commitBytes, endOfTag, end), + UTF_8)); + start = end + 1; + } + } + + @Test + public void testLastHeaderEnd() { + byte[] raw = "headerA A header\nheaderB Another header".getBytes(UTF_8); + int bStart = RawParseUtils.headerStart("headerB".getBytes(UTF_8), raw, + 0); + assertEquals(25, bStart); + int bEnd = RawParseUtils.nextLfSkippingSplitLines(raw, bStart); + assertEquals(raw.length, bEnd); + } } diff --git a/org.eclipse.jgit.ui/META-INF/MANIFEST.MF b/org.eclipse.jgit.ui/META-INF/MANIFEST.MF index f9b6a847f9..00e7f537e8 100644 --- a/org.eclipse.jgit.ui/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ui/META-INF/MANIFEST.MF @@ -4,14 +4,14 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ui Bundle-SymbolicName: org.eclipse.jgit.ui -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-11 -Export-Package: org.eclipse.jgit.awtui;version="6.8.1" -Import-Package: org.eclipse.jgit.errors;version="[6.8.1,6.9.0)", - org.eclipse.jgit.lib;version="[6.8.1,6.9.0)", - org.eclipse.jgit.nls;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revplot;version="[6.8.1,6.9.0)", - org.eclipse.jgit.revwalk;version="[6.8.1,6.9.0)", - org.eclipse.jgit.transport;version="[6.8.1,6.9.0)", - org.eclipse.jgit.util;version="[6.8.1,6.9.0)" +Export-Package: org.eclipse.jgit.awtui;version="6.9.1" +Import-Package: org.eclipse.jgit.errors;version="[6.9.1,6.10.0)", + org.eclipse.jgit.lib;version="[6.9.1,6.10.0)", + org.eclipse.jgit.nls;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revplot;version="[6.9.1,6.10.0)", + org.eclipse.jgit.revwalk;version="[6.9.1,6.10.0)", + org.eclipse.jgit.transport;version="[6.9.1,6.10.0)", + org.eclipse.jgit.util;version="[6.9.1,6.10.0)" diff --git a/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF index a4e59a200a..8462fb0f9f 100644 --- a/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.ui - Sources Bundle-SymbolicName: org.eclipse.jgit.ui.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.ui;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.ui;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit.ui/pom.xml b/org.eclipse.jgit.ui/pom.xml index b051ad5c04..9f7cfadc24 100644 --- a/org.eclipse.jgit.ui/pom.xml +++ b/org.eclipse.jgit.ui/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ui</artifactId> diff --git a/org.eclipse.jgit/.settings/.api_filters b/org.eclipse.jgit/.settings/.api_filters index 506a89a002..dda62f22a3 100644 --- a/org.eclipse.jgit/.settings/.api_filters +++ b/org.eclipse.jgit/.settings/.api_filters @@ -1,32 +1,10 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <component id="org.eclipse.jgit" version="2"> - <resource path="src/org/eclipse/jgit/api/GarbageCollectCommand.java" type="org.eclipse.jgit.api.GarbageCollectCommand"> - <filter id="1142947843"> - <message_arguments> - <message_argument value="5.13.3"/> - <message_argument value="setPackKeptObjects(boolean)"/> - </message_arguments> - </filter> - </resource> - <resource path="src/org/eclipse/jgit/lib/BitmapIndex.java" type="org.eclipse.jgit.lib.BitmapIndex"> + <resource path="src/org/eclipse/jgit/lib/GpgSignatureVerifier.java" type="org.eclipse.jgit.lib.GpgSignatureVerifier"> <filter id="404000815"> <message_arguments> - <message_argument value="org.eclipse.jgit.lib.BitmapIndex"/> - <message_argument value="addBitmapLookupListener(BitmapIndex.BitmapLookupListener)"/> - </message_arguments> - </filter> - </resource> - <resource path="src/org/eclipse/jgit/lib/ConfigConstants.java" type="org.eclipse.jgit.lib.ConfigConstants"> - <filter id="1142947843"> - <message_arguments> - <message_argument value="5.13.3"/> - <message_argument value="CONFIG_KEY_PACK_KEPT_OBJECTS"/> - </message_arguments> - </filter> - <filter id="1142947843"> - <message_arguments> - <message_argument value="5.13.3"/> - <message_argument value="CONFIG_REPACK_SECTION"/> + <message_argument value="org.eclipse.jgit.lib.GpgSignatureVerifier"/> + <message_argument value="verify(GpgConfig, byte[], byte[])"/> </message_arguments> </filter> </resource> @@ -34,25 +12,7 @@ <filter id="336658481"> <message_arguments> <message_argument value="org.eclipse.jgit.storage.pack.PackConfig"/> - <message_argument value="DEFAULT_PACK_KEPT_OBJECTS"/> - </message_arguments> - </filter> - <filter id="1142947843"> - <message_arguments> - <message_argument value="5.13.3"/> - <message_argument value="DEFAULT_PACK_KEPT_OBJECTS"/> - </message_arguments> - </filter> - <filter id="1142947843"> - <message_arguments> - <message_argument value="5.13.3"/> - <message_argument value="isPackKeptObjects()"/> - </message_arguments> - </filter> - <filter id="1142947843"> - <message_arguments> - <message_argument value="5.13.3"/> - <message_argument value="setPackKeptObjects(boolean)"/> + <message_argument value="DEFAULT_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT"/> </message_arguments> </filter> </resource> diff --git a/org.eclipse.jgit/META-INF/MANIFEST.MF b/org.eclipse.jgit/META-INF/MANIFEST.MF index b0215f535f..b2b01fdc27 100644 --- a/org.eclipse.jgit/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit/META-INF/MANIFEST.MF @@ -3,12 +3,12 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit Bundle-SymbolicName: org.eclipse.jgit -Bundle-Version: 6.8.1.qualifier +Bundle-Version: 6.9.1.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Eclipse-ExtensibleAPI: true -Export-Package: org.eclipse.jgit.annotations;version="6.8.1", - org.eclipse.jgit.api;version="6.8.1"; +Export-Package: org.eclipse.jgit.annotations;version="6.9.1", + org.eclipse.jgit.api;version="6.9.1"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.notes, org.eclipse.jgit.dircache, @@ -23,18 +23,18 @@ Export-Package: org.eclipse.jgit.annotations;version="6.8.1", org.eclipse.jgit.revwalk.filter, org.eclipse.jgit.blame, org.eclipse.jgit.merge", - org.eclipse.jgit.api.errors;version="6.8.1"; + org.eclipse.jgit.api.errors;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.errors", - org.eclipse.jgit.attributes;version="6.8.1"; + org.eclipse.jgit.attributes;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.treewalk", - org.eclipse.jgit.blame;version="6.8.1"; + org.eclipse.jgit.blame;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.diff", - org.eclipse.jgit.diff;version="6.8.1"; + org.eclipse.jgit.diff;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.attributes, org.eclipse.jgit.revwalk, @@ -42,53 +42,53 @@ Export-Package: org.eclipse.jgit.annotations;version="6.8.1", org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.treewalk, org.eclipse.jgit.util", - org.eclipse.jgit.dircache;version="6.8.1"; + org.eclipse.jgit.dircache;version="6.9.1"; uses:="org.eclipse.jgit.events, org.eclipse.jgit.lib, org.eclipse.jgit.attributes, org.eclipse.jgit.treewalk, org.eclipse.jgit.util", - org.eclipse.jgit.errors;version="6.8.1"; + org.eclipse.jgit.errors;version="6.9.1"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.dircache, org.eclipse.jgit.lib, org.eclipse.jgit.internal.storage.pack", - org.eclipse.jgit.events;version="6.8.1"; + org.eclipse.jgit.events;version="6.9.1"; uses:="org.eclipse.jgit.lib", - org.eclipse.jgit.fnmatch;version="6.8.1", - org.eclipse.jgit.gitrepo;version="6.8.1"; + org.eclipse.jgit.fnmatch;version="6.9.1", + org.eclipse.jgit.gitrepo;version="6.9.1"; uses:="org.xml.sax.helpers, org.eclipse.jgit.api, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.xml.sax", - org.eclipse.jgit.gitrepo.internal;version="6.8.1";x-internal:=true, - org.eclipse.jgit.hooks;version="6.8.1";uses:="org.eclipse.jgit.lib", - org.eclipse.jgit.ignore;version="6.8.1", - org.eclipse.jgit.ignore.internal;version="6.8.1"; + org.eclipse.jgit.gitrepo.internal;version="6.9.1";x-internal:=true, + org.eclipse.jgit.hooks;version="6.9.1";uses:="org.eclipse.jgit.lib", + org.eclipse.jgit.ignore;version="6.9.1", + org.eclipse.jgit.ignore.internal;version="6.9.1"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal;version="6.8.1"; + org.eclipse.jgit.internal;version="6.9.1"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.http.test", - org.eclipse.jgit.internal.diff;version="6.8.1"; + org.eclipse.jgit.internal.diff;version="6.9.1"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.diffmergetool;version="6.8.1"; + org.eclipse.jgit.internal.diffmergetool;version="6.9.1"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.pgm.test, org.eclipse.jgit.pgm, org.eclipse.egit.ui", - org.eclipse.jgit.internal.fsck;version="6.8.1"; + org.eclipse.jgit.internal.fsck;version="6.9.1"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.revwalk;version="6.8.1"; + org.eclipse.jgit.internal.revwalk;version="6.9.1"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.storage.commitgraph;version="6.8.1"; + org.eclipse.jgit.internal.storage.commitgraph;version="6.9.1"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.storage.dfs;version="6.8.1"; + org.eclipse.jgit.internal.storage.dfs;version="6.9.1"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.http.server, org.eclipse.jgit.http.test, org.eclipse.jgit.lfs.test", - org.eclipse.jgit.internal.storage.file;version="6.8.1"; + org.eclipse.jgit.internal.storage.file;version="6.9.1"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.junit, org.eclipse.jgit.junit.http, @@ -97,36 +97,36 @@ Export-Package: org.eclipse.jgit.annotations;version="6.8.1", org.eclipse.jgit.pgm, org.eclipse.jgit.pgm.test, org.eclipse.jgit.ssh.apache", - org.eclipse.jgit.internal.storage.io;version="6.8.1"; + org.eclipse.jgit.internal.storage.io;version="6.9.1"; x-friends:="org.eclipse.jgit.junit, org.eclipse.jgit.test, org.eclipse.jgit.pgm", - org.eclipse.jgit.internal.storage.memory;version="6.8.1"; + org.eclipse.jgit.internal.storage.memory;version="6.9.1"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.storage.pack;version="6.8.1"; + org.eclipse.jgit.internal.storage.pack;version="6.9.1"; x-friends:="org.eclipse.jgit.junit, org.eclipse.jgit.test, org.eclipse.jgit.pgm", - org.eclipse.jgit.internal.storage.reftable;version="6.8.1"; + org.eclipse.jgit.internal.storage.reftable;version="6.9.1"; x-friends:="org.eclipse.jgit.http.test, org.eclipse.jgit.junit, org.eclipse.jgit.test, org.eclipse.jgit.pgm", - org.eclipse.jgit.internal.submodule;version="6.8.1";x-internal:=true, - org.eclipse.jgit.internal.transport.connectivity;version="6.8.1"; + org.eclipse.jgit.internal.submodule;version="6.9.1";x-internal:=true, + org.eclipse.jgit.internal.transport.connectivity;version="6.9.1"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.transport.http;version="6.8.1"; + org.eclipse.jgit.internal.transport.http;version="6.9.1"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.transport.parser;version="6.8.1"; + org.eclipse.jgit.internal.transport.parser;version="6.9.1"; x-friends:="org.eclipse.jgit.http.server, org.eclipse.jgit.test", - org.eclipse.jgit.internal.transport.ssh;version="6.8.1"; + org.eclipse.jgit.internal.transport.ssh;version="6.9.1"; x-friends:="org.eclipse.jgit.ssh.apache, org.eclipse.jgit.ssh.jsch, org.eclipse.jgit.test", - org.eclipse.jgit.internal.util;version="6.8.1"; + org.eclipse.jgit.internal.util;version="6.9.1"; x-friends:=" org.eclipse.jgit.junit", - org.eclipse.jgit.lib;version="6.8.1"; + org.eclipse.jgit.lib;version="6.9.1"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.util.sha1, org.eclipse.jgit.dircache, @@ -140,12 +140,12 @@ Export-Package: org.eclipse.jgit.annotations;version="6.8.1", org.eclipse.jgit.util, org.eclipse.jgit.submodule, org.eclipse.jgit.util.time", - org.eclipse.jgit.lib.internal;version="6.8.1"; + org.eclipse.jgit.lib.internal;version="6.9.1"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.pgm, org.eclipse.egit.ui", - org.eclipse.jgit.logging;version="6.8.1", - org.eclipse.jgit.merge;version="6.8.1"; + org.eclipse.jgit.logging;version="6.9.1", + org.eclipse.jgit.merge;version="6.9.1"; uses:="org.eclipse.jgit.dircache, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, @@ -154,40 +154,40 @@ Export-Package: org.eclipse.jgit.annotations;version="6.8.1", org.eclipse.jgit.util, org.eclipse.jgit.api, org.eclipse.jgit.attributes", - org.eclipse.jgit.nls;version="6.8.1", - org.eclipse.jgit.notes;version="6.8.1"; + org.eclipse.jgit.nls;version="6.9.1", + org.eclipse.jgit.notes;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.eclipse.jgit.treewalk, org.eclipse.jgit.merge", - org.eclipse.jgit.patch;version="6.8.1"; + org.eclipse.jgit.patch;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.diff", - org.eclipse.jgit.revplot;version="6.8.1"; + org.eclipse.jgit.revplot;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk", - org.eclipse.jgit.revwalk;version="6.8.1"; + org.eclipse.jgit.revwalk;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.diff, org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.revwalk.filter, org.eclipse.jgit.treewalk", - org.eclipse.jgit.revwalk.filter;version="6.8.1"; + org.eclipse.jgit.revwalk.filter;version="6.9.1"; uses:="org.eclipse.jgit.revwalk, org.eclipse.jgit.lib, org.eclipse.jgit.util", - org.eclipse.jgit.storage.file;version="6.8.1"; + org.eclipse.jgit.storage.file;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.util", - org.eclipse.jgit.storage.pack;version="6.8.1"; + org.eclipse.jgit.storage.pack;version="6.9.1"; uses:="org.eclipse.jgit.lib", - org.eclipse.jgit.submodule;version="6.8.1"; + org.eclipse.jgit.submodule;version="6.9.1"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.diff, org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.treewalk, org.eclipse.jgit.util", - org.eclipse.jgit.transport;version="6.8.1"; + org.eclipse.jgit.transport;version="6.9.1"; uses:="javax.crypto, org.eclipse.jgit.util.io, org.eclipse.jgit.lib, @@ -200,21 +200,21 @@ Export-Package: org.eclipse.jgit.annotations;version="6.8.1", org.eclipse.jgit.transport.resolver, org.eclipse.jgit.storage.pack, org.eclipse.jgit.errors", - org.eclipse.jgit.transport.http;version="6.8.1"; + org.eclipse.jgit.transport.http;version="6.9.1"; uses:="javax.net.ssl", - org.eclipse.jgit.transport.resolver;version="6.8.1"; + org.eclipse.jgit.transport.resolver;version="6.9.1"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.lib", - org.eclipse.jgit.treewalk;version="6.8.1"; + org.eclipse.jgit.treewalk;version="6.9.1"; uses:="org.eclipse.jgit.dircache, org.eclipse.jgit.lib, org.eclipse.jgit.attributes, org.eclipse.jgit.revwalk, org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.util", - org.eclipse.jgit.treewalk.filter;version="6.8.1"; + org.eclipse.jgit.treewalk.filter;version="6.9.1"; uses:="org.eclipse.jgit.treewalk", - org.eclipse.jgit.util;version="6.8.1"; + org.eclipse.jgit.util;version="6.9.1"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.hooks, org.eclipse.jgit.revwalk, @@ -227,18 +227,18 @@ Export-Package: org.eclipse.jgit.annotations;version="6.8.1", org.eclipse.jgit.treewalk, javax.net.ssl, org.eclipse.jgit.util.time", - org.eclipse.jgit.util.io;version="6.8.1"; + org.eclipse.jgit.util.io;version="6.9.1"; uses:="org.eclipse.jgit.attributes, org.eclipse.jgit.lib, org.eclipse.jgit.treewalk", - org.eclipse.jgit.util.sha1;version="6.8.1", - org.eclipse.jgit.util.time;version="6.8.1" + org.eclipse.jgit.util.sha1;version="6.9.1", + org.eclipse.jgit.util.time;version="6.9.1" Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: com.googlecode.javaewah;version="[1.1.6,2.0.0)", javax.crypto, javax.management, javax.net.ssl, org.apache.commons.codec.digest;version="1.15.0", - org.slf4j;version="[1.7.0,2.0.0)", + org.slf4j;version="[1.7.0,3.0.0)", org.xml.sax, org.xml.sax.helpers diff --git a/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF index 4db28703cc..70e1e493df 100644 --- a/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit - Sources Bundle-SymbolicName: org.eclipse.jgit.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.8.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit;version="6.8.1.qualifier";roots="." +Bundle-Version: 6.9.1.qualifier +Eclipse-SourceBundle: org.eclipse.jgit;version="6.9.1.qualifier";roots="." diff --git a/org.eclipse.jgit/pom.xml b/org.eclipse.jgit/pom.xml index 8e18b4c311..49a60923c2 100644 --- a/org.eclipse.jgit/pom.xml +++ b/org.eclipse.jgit/pom.xml @@ -20,7 +20,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit</artifactId> diff --git a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties index 19c90086aa..bbfd0b0d3a 100644 --- a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties +++ b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties @@ -716,7 +716,6 @@ shortReadOfBlock=Short read of block. shortReadOfOptionalDIRCExtensionExpectedAnotherBytes=Short read of optional DIRC extension {0}; expected another {1} bytes within the section. shortSkipOfBlock=Short skip of block. shutdownCleanup=Cleanup {} during JVM shutdown -shutdownCleanupFailed=Cleanup during JVM shutdown failed shutdownCleanupListenerFailed=Cleanup of {0} during JVM shutdown failed signatureVerificationError=Signature verification failed signatureVerificationUnavailable=No signature verifier registered diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java index 38e795b0eb..a1c64788bd 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java @@ -9,6 +9,7 @@ */ package org.eclipse.jgit.api; +import static org.eclipse.jgit.api.CherryPickCommitMessageProvider.ORIGINAL; import static org.eclipse.jgit.lib.Constants.OBJECT_ID_ABBREV_STRING_LENGTH; import java.io.IOException; @@ -66,6 +67,8 @@ public class CherryPickCommand extends GitCommand<CherryPickResult> { private String ourCommitName = null; + private CherryPickCommitMessageProvider messageProvider = ORIGINAL; + private MergeStrategy strategy = MergeStrategy.RECURSIVE; private ContentMergeStrategy contentStrategy; @@ -168,8 +171,10 @@ public class CherryPickCommand extends GitCommand<CherryPickResult> { dco.checkout(); if (!noCommit) { try (Git git = new Git(getRepository())) { + String commitMessage = messageProvider + .getCherryPickedCommitMessage(srcCommit); newHead = git.commit() - .setMessage(srcCommit.getFullMessage()) + .setMessage(commitMessage) .setReflogComment(reflogPrefix + " " //$NON-NLS-1$ + srcCommit.getShortMessage()) .setAuthor(srcCommit.getAuthorIdent()) @@ -297,6 +302,22 @@ public class CherryPickCommand extends GitCommand<CherryPickResult> { } /** + * Set a message provider for a target cherry-picked commit<br> + * By default original commit message is used (see + * {@link CherryPickCommitMessageProvider#ORIGINAL}) + * + * @param messageProvider + * the commit message provider + * @return {@code this} + * @since 6.9 + */ + public CherryPickCommand setCherryPickCommitMessageProvider( + CherryPickCommitMessageProvider messageProvider) { + this.messageProvider = messageProvider; + return this; + } + + /** * Set the prefix to use in the reflog. * <p> * This is primarily needed for implementing rebase in terms of diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommitMessageProvider.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommitMessageProvider.java new file mode 100644 index 0000000000..50d65b6fa8 --- /dev/null +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommitMessageProvider.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2023 Dmitrii Naumenko <dmitrii.naumenko@jetbrains.com> + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Distribution License v. 1.0 which is aailable at + * https://www.eclipse.org/org/documents/edl-v10.php. + * + * SPDX-License-Identifier: BSD-3-Clause + */ +package org.eclipse.jgit.api; + +import java.util.List; + +import org.eclipse.jgit.revwalk.FooterLine; +import org.eclipse.jgit.revwalk.RevCommit; + +/** + * The interface is used to construct a cherry-picked commit message based on + * the original commit + * + * @see #ORIGINAL + * @see #ORIGINAL_WITH_REFERENCE + * @since 6.9 + */ +public interface CherryPickCommitMessageProvider { + + /** + * This provider returns the original commit message + */ + static final CherryPickCommitMessageProvider ORIGINAL = RevCommit::getFullMessage; + + /** + * This provider returns the original commit message with original commit + * hash in SHA-1 form.<br> + * Example: + * + * <pre> + * <code>my original commit message + * + * (cherry picked from commit 75355897dc28e9975afed028c1a6d8c6b97b2a3c)</code> + * </pre> + * + * This is similar to <code>-x</code> flag in git-scm (see <a href= + * "https://git-scm.com/docs/git-cherry-pick#_options">https://git-scm.com/docs/git-cherry-pick#_options</a>) + */ + static final CherryPickCommitMessageProvider ORIGINAL_WITH_REFERENCE = srcCommit -> { + String fullMessage = srcCommit.getFullMessage(); + + // Don't add extra new line after footer (aka trailer) + // https://stackoverflow.com/questions/70007405/git-log-exclude-cherry-pick-messages-for-trailers + // https://lore.kernel.org/git/7vmx136cdc.fsf@alter.siamese.dyndns.org + String separator = messageEndsWithFooter(srcCommit) ? "\n" : "\n\n"; //$NON-NLS-1$//$NON-NLS-2$ + String revisionString = srcCommit.getName(); + return String.format("%s%s(cherry picked from commit %s)", //$NON-NLS-1$ + fullMessage, separator, revisionString); + }; + + /** + * @param srcCommit + * original cherry-picked commit + * @return target cherry-picked commit message + */ + String getCherryPickedCommitMessage(RevCommit srcCommit); + + private static boolean messageEndsWithFooter(RevCommit srcCommit) { + byte[] rawBuffer = srcCommit.getRawBuffer(); + List<FooterLine> footers = srcCommit.getFooterLines(); + int maxFooterEnd = footers.stream().mapToInt(FooterLine::getEndOffset) + .max().orElse(-1); + return rawBuffer.length == maxFooterEnd; + } +} diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java index 0f7b8afe21..757aff89c3 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java @@ -1064,12 +1064,16 @@ public class RebaseCommand extends GitCommand<RebaseResult> { String authorScript = toAuthorScript(author); rebaseState.createFile(AUTHOR_SCRIPT, authorScript); rebaseState.createFile(MESSAGE, commitToPick.getFullMessage()); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - try (DiffFormatter df = new DiffFormatter(bos)) { - df.setRepository(repo); - df.format(commitToPick.getParent(0), commitToPick); + if (commitToPick.getParentCount() > 0) { + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + try (DiffFormatter df = new DiffFormatter(bos)) { + df.setRepository(repo); + df.format(commitToPick.getParent(0), commitToPick); + } + rebaseState.createFile(PATCH, new String(bos.toByteArray(), UTF_8)); + } else { + rebaseState.createFile(PATCH, ""); //$NON-NLS-1$ } - rebaseState.createFile(PATCH, new String(bos.toByteArray(), UTF_8)); rebaseState.createFile(STOPPED_SHA, repo.newObjectReader() .abbreviate( diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java index 700b54a7a6..ef464e3172 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java @@ -745,7 +745,6 @@ public class JGitText extends TranslationBundle { /***/ public String shortReadOfOptionalDIRCExtensionExpectedAnotherBytes; /***/ public String shortSkipOfBlock; /***/ public String shutdownCleanup; - /***/ public String shutdownCleanupFailed; /***/ public String shutdownCleanupListenerFailed; /***/ public String signatureVerificationError; /***/ public String signatureVerificationUnavailable; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/ChangedPathFilter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/ChangedPathFilter.java index 53d921e8f8..ad3ce50181 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/ChangedPathFilter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/ChangedPathFilter.java @@ -87,6 +87,7 @@ public class ChangedPathFilter { * the paths that the filter must match * @return the corresponding filter */ + @SuppressWarnings("ByteBufferBackingArray") public static ChangedPathFilter fromPaths(Set<ByteBuffer> paths) { if (paths.isEmpty()) { return EMPTY; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsInserter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsInserter.java index 2f8d964e0a..a07d8416c4 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsInserter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsInserter.java @@ -83,6 +83,8 @@ public class DfsInserter extends ObjectInserter { private boolean rollback; private boolean checkExisting = true; + private int minBytesForObjectSizeIndex = -1; + /** * Initialize a new inserter. * @@ -91,6 +93,8 @@ public class DfsInserter extends ObjectInserter { */ protected DfsInserter(DfsObjDatabase db) { this.db = db; + PackConfig pc = new PackConfig(db.getRepository().getConfig()); + this.minBytesForObjectSizeIndex = pc.getMinBytesForObjSizeIndex(); } /** @@ -109,6 +113,20 @@ public class DfsInserter extends ObjectInserter { this.compression = compression; } + /** + * Set minimum size for an object to be included in the object size index. + * + * <p> + * Use 0 for all and -1 for nothing (the pack won't have object size index). + * + * @param minBytes + * only objects with size bigger or equal to this are included in + * the index. + */ + protected void setMinBytesForObjectSizeIndex(int minBytes) { + this.minBytesForObjectSizeIndex = minBytes; + } + @Override public DfsPackParser newPackParser(InputStream in) throws IOException { return new DfsPackParser(db, this, in); @@ -195,15 +213,11 @@ public class DfsInserter extends ObjectInserter { sortObjectsById(); PackIndex index = writePackIndex(packDsc, packHash, objectList); - PackConfig pConfig = new PackConfig(db.getRepository().getConfig()); - if (pConfig.isWriteObjSizeIndex()) { - writeObjectSizeIndex(packDsc, objectList, - pConfig.getMinBytesForObjSizeIndex()); - } + writeObjectSizeIndex(packDsc, objectList); db.commitPack(Collections.singletonList(packDsc), null); rollback = false; - DfsPackFile p = new DfsPackFile(cache, packDsc); + DfsPackFile p = db.createDfsPackFile(cache, packDsc); if (index != null) p.setPackIndex(index); db.addPack(p); @@ -323,10 +337,14 @@ public class DfsInserter extends ObjectInserter { } void writeObjectSizeIndex(DfsPackDescription pack, - List<PackedObjectInfo> packedObjs, int minSize) throws IOException { + List<PackedObjectInfo> packedObjs) throws IOException { + if (minBytesForObjectSizeIndex < 0) { + return; + } try (DfsOutputStream os = db.writeFile(pack, PackExt.OBJECT_SIZE_INDEX); CountingOutputStream cnt = new CountingOutputStream(os)) { - PackObjectSizeIndexWriter.createWriter(os, minSize) + PackObjectSizeIndexWriter + .createWriter(os, minBytesForObjectSizeIndex) .write(packedObjs); pack.addFileExt(OBJECT_SIZE_INDEX); pack.setBlockSize(OBJECT_SIZE_INDEX, os.blockSize()); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsObjDatabase.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsObjDatabase.java index 2375698303..9f6eb10256 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsObjDatabase.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsObjDatabase.java @@ -592,7 +592,7 @@ public abstract class DfsObjDatabase extends ObjectDatabase { if (oldPack != null) { newPacks.add(oldPack); } else if (dsc.hasFileExt(PackExt.PACK)) { - newPacks.add(new DfsPackFile(cache, dsc)); + newPacks.add(createDfsPackFile(cache, dsc)); foundNew = true; } @@ -617,6 +617,23 @@ public abstract class DfsObjDatabase extends ObjectDatabase { newReftables.toArray(new DfsReftable[0])); } + /** + * Create instances of DfsPackFile + * + * Implementors can decide to construct or wrap DfsPackFile in different + * ways. + * + * @param cache + * block cache + * @param dsc + * pack description + * @return the dfs packfile + */ + protected DfsPackFile createDfsPackFile(DfsBlockCache cache, + DfsPackDescription dsc) { + return new DfsPackFile(cache, dsc); + } + private static Map<DfsPackDescription, DfsPackFile> packMap(PackList old) { Map<DfsPackDescription, DfsPackFile> forReuse = new HashMap<>(); for (DfsPackFile p : old.packs) { diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java index e0f0e13553..42b1d235bf 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java @@ -65,8 +65,11 @@ import org.eclipse.jgit.util.LongList; */ public final class DfsPackFile extends BlockBasedFile { private static final int REC_SIZE = Constants.OBJECT_ID_LENGTH + 8; + private static final long REF_POSITION = 0; + private static final PackBitmapIndexLoader DEFAULT_BITMAP_LOADER = new StreamPackBitmapIndexLoader(); + /** Index mapping {@link ObjectId} to position within the pack stream. */ private volatile PackIndex index; @@ -79,6 +82,8 @@ public final class DfsPackFile extends BlockBasedFile { /** Index of compressed commit graph mapping entire object graph. */ private volatile CommitGraph commitGraph; + private final PackBitmapIndexLoader bitmapLoader; + /** Index by size */ private boolean objectSizeIndexLoadAttempted; @@ -105,6 +110,10 @@ public final class DfsPackFile extends BlockBasedFile { * description of the pack within the DFS. */ DfsPackFile(DfsBlockCache cache, DfsPackDescription desc) { + this(cache, desc, DEFAULT_BITMAP_LOADER); + } + + DfsPackFile(DfsBlockCache cache, DfsPackDescription desc, PackBitmapIndexLoader bitmapLoader) { super(cache, desc, PACK); int bs = desc.getBlockSize(PACK); @@ -114,6 +123,8 @@ public final class DfsPackFile extends BlockBasedFile { long sz = desc.getFileSize(PACK); length = sz > 0 ? sz : -1; + + this.bitmapLoader = bitmapLoader; } /** @@ -206,7 +217,7 @@ public final class DfsPackFile extends BlockBasedFile { * the bitmap index is not available, or is corrupt. */ public PackBitmapIndex getBitmapIndex(DfsReader ctx) throws IOException { - if (invalid || isGarbage() || !desc.hasFileExt(BITMAP_INDEX)) { + if (invalid || isGarbage() || !bitmapLoader.hasBitmaps(desc)) { return null; } @@ -214,6 +225,15 @@ public final class DfsPackFile extends BlockBasedFile { return bitmapIndex; } + if (!bitmapLoader.keepInDfs(desc)) { + PackBitmapIndexLoader.LoadResult result = bitmapLoader + .loadPackBitmapIndex(ctx, this); + if (bitmapIndex == null && result.bitmapIndex != null) { + bitmapIndex = result.bitmapIndex; + } + return bitmapIndex; + } + DfsStreamKey bitmapKey = desc.getStreamKey(BITMAP_INDEX); AtomicBoolean cacheHit = new AtomicBoolean(true); DfsBlockCache.Ref<PackBitmapIndex> idxref = cache @@ -1252,31 +1272,11 @@ public final class DfsPackFile extends BlockBasedFile { private DfsBlockCache.Ref<PackBitmapIndex> loadBitmapIndex(DfsReader ctx, DfsStreamKey bitmapKey) throws IOException { ctx.stats.readBitmap++; - long start = System.nanoTime(); - try (ReadableChannel rc = ctx.db.openFile(desc, BITMAP_INDEX)) { - long size; - PackBitmapIndex bmidx; - try { - bmidx = PackBitmapIndex.read(alignTo8kBlocks(rc), - () -> idx(ctx), () -> getReverseIdx(ctx), - ctx.getOptions().shouldLoadRevIndexInParallel()); - } finally { - size = rc.position(); - ctx.stats.readBitmapIdxBytes += size; - ctx.stats.readBitmapIdxMicros += elapsedMicros(start); - } - bitmapIndex = bmidx; - return new DfsBlockCache.Ref<>( - bitmapKey, REF_POSITION, size, bmidx); - } catch (EOFException e) { - throw new IOException(MessageFormat.format( - DfsText.get().shortReadOfIndex, - desc.getFileName(BITMAP_INDEX)), e); - } catch (IOException e) { - throw new IOException(MessageFormat.format( - DfsText.get().cannotReadIndex, - desc.getFileName(BITMAP_INDEX)), e); - } + PackBitmapIndexLoader.LoadResult result = bitmapLoader + .loadPackBitmapIndex(ctx, this); + bitmapIndex = result.bitmapIndex; + return new DfsBlockCache.Ref<>(bitmapKey, REF_POSITION, + result.bytesRead, result.bitmapIndex); } private DfsBlockCache.Ref<CommitGraph> loadCommitGraph(DfsReader ctx, @@ -1317,4 +1317,105 @@ public final class DfsPackFile extends BlockBasedFile { } return new BufferedInputStream(in, bs); } + + /** + * Loads the PackBitmapIndex associated with this packfile + */ + public interface PackBitmapIndexLoader { + /** + * Does this pack has bitmaps associated? + * + * @param desc + * the pack + * @return true if the pack has bitmaps + */ + boolean hasBitmaps(DfsPackDescription desc); + + /** + * If the returned instance must be kept in DFS cache + * + * It should be true when the instance is expensive to load and can be + * reused. + * + * @param desc + * the pack + * @return true if the returned bitmap index should be kept in DFS + */ + boolean keepInDfs(DfsPackDescription desc); + + /** + * Returns a PackBitmapIndex for this pack, if the pack has bitmaps + * associated. + * + * @param ctx + * the reader + * @param pack + * the pack + * @return the pack bitmap index and bytes size (when applicable) + * @throws IOException + * error accessing storage + */ + LoadResult loadPackBitmapIndex(DfsReader ctx, DfsPackFile pack) + throws IOException; + + /** + * The instance of the pack bitmap index and the amount of bytes loaded. + * + * The bytes can be 0, if the implementation doesn't do any initial + * loading. + */ + class LoadResult { + final PackBitmapIndex bitmapIndex; + + final long bytesRead; + + LoadResult(PackBitmapIndex packBitmapIndex, long bytesRead) { + this.bitmapIndex = packBitmapIndex; + this.bytesRead = bytesRead; + } + } + } + + /** + * Load the packbitmapindex from the BITMAP_INDEX pack extension + */ + private static final class StreamPackBitmapIndexLoader implements PackBitmapIndexLoader { + @Override + public boolean hasBitmaps(DfsPackDescription desc) { + return desc.hasFileExt(BITMAP_INDEX); + } + + @Override + public boolean keepInDfs(DfsPackDescription desc) { + return true; + } + + @Override + public LoadResult loadPackBitmapIndex(DfsReader ctx, DfsPackFile pack) + throws IOException { + DfsPackDescription desc = pack.getPackDescription(); + try (ReadableChannel rc = ctx.db.openFile(desc, BITMAP_INDEX)) { + long size; + PackBitmapIndex bmidx; + try { + bmidx = PackBitmapIndex.read(alignTo8kBlocks(rc), + () -> pack.idx(ctx), () -> pack.getReverseIdx(ctx), + ctx.getOptions().shouldLoadRevIndexInParallel()); + } finally { + size = rc.position(); + } + return new LoadResult(bmidx, size); + } catch (EOFException e) { + throw new IOException( + MessageFormat.format(DfsText.get().shortReadOfIndex, + desc.getFileName(BITMAP_INDEX)), + e); + } catch (IOException e) { + throw new IOException( + MessageFormat.format(DfsText.get().cannotReadIndex, + desc.getFileName(BITMAP_INDEX)), + e); + } + } + } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackParser.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackParser.java index 8c7b0ec708..b19f65c69b 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackParser.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackParser.java @@ -26,7 +26,6 @@ import org.eclipse.jgit.internal.storage.file.PackIndex; import org.eclipse.jgit.lib.AnyObjectId; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ProgressMonitor; -import org.eclipse.jgit.storage.pack.PackConfig; import org.eclipse.jgit.transport.PackLock; import org.eclipse.jgit.transport.PackParser; import org.eclipse.jgit.transport.PackedObjectInfo; @@ -123,15 +122,11 @@ public class DfsPackParser extends PackParser { packDsc.setBlockSize(PACK, blockSize); writePackIndex(); - PackConfig pConfig = new PackConfig(objdb.getRepository().getConfig()); - if (pConfig.isWriteObjSizeIndex()) { - objins.writeObjectSizeIndex(packDsc, getSortedObjectList(null), - pConfig.getMinBytesForObjSizeIndex()); - } + objins.writeObjectSizeIndex(packDsc, getSortedObjectList(null)); objdb.commitPack(Collections.singletonList(packDsc), null); rollback = false; - DfsPackFile p = new DfsPackFile(blockCache, packDsc); + DfsPackFile p = objdb.createDfsPackFile(blockCache, packDsc); p.setBlockSize(blockSize); if (packIndex != null) p.setPackIndex(packIndex); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReader.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReader.java index 3f0adcba1a..a342796cbe 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReader.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReader.java @@ -28,6 +28,7 @@ import java.util.Set; import java.util.zip.DataFormatException; import java.util.zip.Inflater; +import org.eclipse.jgit.annotations.NonNull; import org.eclipse.jgit.errors.IncorrectObjectTypeException; import org.eclipse.jgit.errors.MissingObjectException; import org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException; @@ -120,11 +121,23 @@ public class DfsReader extends ObjectReader implements ObjectReuseAsIs { for (DfsPackFile pack : db.getPacks()) { PackBitmapIndex bitmapIndex = pack.getBitmapIndex(this); if (bitmapIndex != null) - return new BitmapIndexImpl(bitmapIndex); + return createBitmapIndex(bitmapIndex); } return null; } + /** + * Give subclasses a chance to record pack index stats + * + * @param packBitmapIndex + * packBitmapIndex found in a pack (never null) + * @return an instance of BitmapIndex + */ + protected BitmapIndex createBitmapIndex( + @NonNull PackBitmapIndex packBitmapIndex) { + return new BitmapIndexImpl(packBitmapIndex); + } + @Override public Optional<CommitGraph> getCommitGraph() throws IOException { for (DfsPackFile pack : db.getPacks()) { @@ -490,30 +503,28 @@ public class DfsReader extends ObjectReader implements ObjectReuseAsIs { public long getObjectSize(AnyObjectId objectId, int typeHint) throws MissingObjectException, IncorrectObjectTypeException, IOException { - if (last != null && !skipGarbagePack(last)) { - long sz = last.getObjectSize(this, objectId); - if (0 <= sz) { - return sz; + DfsPackFile pack = findPackWithObject(objectId); + if (pack == null) { + if (typeHint == OBJ_ANY) { + throw new MissingObjectException(objectId.copy(), + JGitText.get().unknownObjectType2); } + throw new MissingObjectException(objectId.copy(), typeHint); } - PackList packList = db.getPackList(); - long sz = getObjectSizeImpl(packList, objectId); - if (0 <= sz) { - return sz; - } - if (packList.dirty()) { - sz = getObjectSizeImpl(packList, objectId); - if (0 <= sz) { - return sz; - } + if (typeHint != Constants.OBJ_BLOB || !pack.hasObjectSizeIndex(this)) { + return pack.getObjectSize(this, objectId); } - if (typeHint == OBJ_ANY) { - throw new MissingObjectException(objectId.copy(), - JGitText.get().unknownObjectType2); + long sz = pack.getIndexedObjectSize(this, objectId); + if (sz >= 0) { + stats.objectSizeIndexHit += 1; + return sz; } - throw new MissingObjectException(objectId.copy(), typeHint); + + // Object wasn't in the index + stats.objectSizeIndexMiss += 1; + return pack.getObjectSize(this, objectId); } @@ -569,21 +580,6 @@ public class DfsReader extends ObjectReader implements ObjectReuseAsIs { return null; } - private long getObjectSizeImpl(PackList packList, AnyObjectId objectId) - throws IOException { - for (DfsPackFile pack : packList.packs) { - if (pack == last || skipGarbagePack(pack)) { - continue; - } - long sz = pack.getObjectSize(this, objectId); - if (0 <= sz) { - last = pack; - return sz; - } - } - return -1; - } - @Override public DfsObjectToPack newObjectToPack(AnyObjectId objectId, int type) { return new DfsObjectToPack(objectId, type); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/BasePackBitmapIndex.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/BasePackBitmapIndex.java index 906faded81..c2b3926309 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/BasePackBitmapIndex.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/BasePackBitmapIndex.java @@ -35,6 +35,50 @@ abstract class BasePackBitmapIndex extends PackBitmapIndex { return bitmaps; } + @Override + public int getBaseBitmapCount() { + int bases = 0; + for (StoredBitmap sb : getBitmaps()) { + if (sb.isBase()) { + bases += 1; + } + } + return bases; + } + + @Override + public long getBaseBitmapSizeInBytes() { + long baseSize = 0; + for (StoredBitmap sb : getBitmaps()) { + if (sb.isBase()) { + baseSize += sb.getCurrentSizeInBytes(); + } + } + return baseSize; + } + + @Override + public int getXorBitmapCount() { + int xored = 0; + for (StoredBitmap sb : getBitmaps()) { + if (!sb.isBase()) { + xored += 1; + } + } + return xored; + } + + @Override + public long getXorBitmapSizeInBytes() { + long xorSize = 0; + for (StoredBitmap sb : getBitmaps()) { + if (!sb.isBase()) { + xorSize += sb.getCurrentSizeInBytes(); + } + } + return xorSize; + } + /** * Data representation of the bitmap entry restored from a pack index. The * commit of the bitmap is the map key. @@ -74,8 +118,9 @@ abstract class BasePackBitmapIndex extends PackBitmapIndex { EWAHCompressedBitmap getBitmapWithoutCaching() { // Fast path to immediately return the expanded result. Object r = bitmapContainer; - if (r instanceof EWAHCompressedBitmap) + if (r instanceof EWAHCompressedBitmap) { return (EWAHCompressedBitmap) r; + } // Expand the bitmap but not cache the result. XorCompressedBitmap xb = (XorCompressedBitmap) r; @@ -100,10 +145,38 @@ abstract class BasePackBitmapIndex extends PackBitmapIndex { int getFlags() { return flags; } + + /** + * This bitmap is (currently) a base or a XOR mask + * + * @return true if this bitmap is a base (a ready map). + */ + boolean isBase() { + return bitmapContainer instanceof EWAHCompressedBitmap; + } + + /** + * Size in bytes of this bitmap in its current representation + * + * If this is a XOR'ed bitmap, size is different before/after + * {@link #getBitmap()}. Before is the byte size of the xor mask, + * afterwards is the size of the "ready" bitmap + * + * @return size in bytes of the bitmap in its current representation + */ + long getCurrentSizeInBytes() { + Object r = bitmapContainer; + if (r instanceof EWAHCompressedBitmap) { + return ((EWAHCompressedBitmap) r).sizeInBytes(); + } + XorCompressedBitmap xor = ((XorCompressedBitmap) r); + return xor.bitmap.sizeInBytes(); + } } private static final class XorCompressedBitmap { final EWAHCompressedBitmap bitmap; + final StoredBitmap xorBitmap; XorCompressedBitmap(EWAHCompressedBitmap b, StoredBitmap xb) { diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java index 5409c4fca7..fc058abcca 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java @@ -1934,7 +1934,7 @@ public class GC { token.close(); } if (wasLocked) { - FileUtils.delete(pidFile.toFile(), FileUtils.RETRY); + FileUtils.delete(pidFile.toFile(), FileUtils.RETRY | FileUtils.SKIP_MISSING); } } catch (IOException e) { LOG.error(MessageFormat diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/LooseObjects.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/LooseObjects.java index 278c846ba8..b4bb2a9293 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/LooseObjects.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/LooseObjects.java @@ -167,6 +167,9 @@ class LooseObjects { while (readAttempts < MAX_LOOSE_OBJECT_STALE_READ_ATTEMPTS) { readAttempts++; File path = fileFor(id); + if (trustFolderStat && !path.exists()) { + break; + } try { return getObjectLoader(curs, path, id); } catch (FileNotFoundException noFile) { @@ -279,7 +282,7 @@ class LooseObjects { // that already exists. We can't be sure renameTo() would // fail on all platforms if dst exists, so we check first. // - FileUtils.delete(tmp, FileUtils.RETRY); + FileUtils.delete(tmp, FileUtils.RETRY | FileUtils.SKIP_MISSING); return InsertLooseObjectResult.EXISTS_LOOSE; } @@ -297,7 +300,7 @@ class LooseObjects { // Any other IO error is considered a failure. // LOG.error(e.getMessage(), e); - FileUtils.delete(tmp, FileUtils.RETRY); + FileUtils.delete(tmp, FileUtils.RETRY | FileUtils.SKIP_MISSING); return InsertLooseObjectResult.FAILURE; } @@ -309,7 +312,7 @@ class LooseObjects { // know what went wrong, so fail. // LOG.error(e.getMessage(), e); - FileUtils.delete(tmp, FileUtils.RETRY); + FileUtils.delete(tmp, FileUtils.RETRY | FileUtils.SKIP_MISSING); return InsertLooseObjectResult.FAILURE; } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java index 579f931795..9f21481a13 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java @@ -548,11 +548,11 @@ public class ObjectDirectory extends FileObjectDatabase { // If the object is already in the repository, remove temporary file. // if (loose.hasCached(id)) { - FileUtils.delete(tmp, FileUtils.RETRY); + FileUtils.delete(tmp, FileUtils.RETRY | FileUtils.SKIP_MISSING); return InsertLooseObjectResult.EXISTS_LOOSE; } if (!createDuplicate && has(id)) { - FileUtils.delete(tmp, FileUtils.RETRY); + FileUtils.delete(tmp, FileUtils.RETRY | FileUtils.SKIP_MISSING); return InsertLooseObjectResult.EXISTS_PACKED; } return loose.insert(tmp, id); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter.java index 2f30a9797f..24fead86bd 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter.java @@ -204,7 +204,7 @@ class ObjectDirectoryInserter extends ObjectInserter { return tmp; } finally { if (delete) { - FileUtils.delete(tmp, FileUtils.RETRY); + FileUtils.delete(tmp, FileUtils.RETRY | FileUtils.SKIP_MISSING); } } } @@ -232,7 +232,7 @@ class ObjectDirectoryInserter extends ObjectInserter { return tmp; } finally { if (delete) { - FileUtils.delete(tmp, FileUtils.RETRY); + FileUtils.delete(tmp, FileUtils.RETRY | FileUtils.SKIP_MISSING); } } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/Pack.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/Pack.java index 333967c5e5..212dbb20aa 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/Pack.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/Pack.java @@ -63,8 +63,8 @@ import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectLoader; -import org.eclipse.jgit.util.Hex; import org.eclipse.jgit.util.FileUtils; +import org.eclipse.jgit.util.Hex; import org.eclipse.jgit.util.LongList; import org.eclipse.jgit.util.NB; import org.eclipse.jgit.util.RawParseUtils; @@ -1162,16 +1162,12 @@ public class Pack implements Iterable<PackIndex.MutableEntry> { // Once upon a time the bitmap or index files existed. Now one // of them has been removed. Most likely an external gc has // removed index, packfile or the bitmap - bitmapIdxFile = null; - return null; } catch (IOException e) { if (!FileUtils.isStaleFileHandleInCausalChain(e)) { throw e; } // Ignore NFS stale handle exception the same way as // FileNotFoundException above. - bitmapIdxFile = null; - return null; } bitmapIdxFile = null; return null; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackBitmapIndex.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackBitmapIndex.java index 2334bd4851..def4f3dc11 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackBitmapIndex.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackBitmapIndex.java @@ -196,6 +196,41 @@ public abstract class PackBitmapIndex { public abstract int getBitmapCount(); /** + * Returns the number of bitmaps in this bitmap index ready to use, not + * XOR'ed against other entries. + * + * @return the number of bitmaps in this bitmap index ready to use. + */ + public abstract int getBaseBitmapCount(); + + /** + * Current size in bytes of all base bitmaps in the index. + * + * Resolving xors for bitmaps can affect this size. + * + * @return Current size (in bytes) of all base bitmaps in this index. + */ + public abstract long getBaseBitmapSizeInBytes(); + + /** + * Returns the number of bitmaps in this bitmap index XOR'ed against other + * entries. + * + * @return the number of bitmaps in this bitmap index represented as XOR + * masks. + */ + public abstract int getXorBitmapCount(); + + /** + * Current size in bytes of all XOR'ed bitmaps in the index. + * + * Resolving xors for bitmaps can affect this size. + * + * @return Current size (in bytes) of all xor bitmaps in this index. + */ + public abstract long getXorBitmapSizeInBytes(); + + /** * Supplier that propagates IOException. * * @param <T> diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackBitmapIndexRemapper.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackBitmapIndexRemapper.java index 91c3683501..bb7cfd0464 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackBitmapIndexRemapper.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackBitmapIndexRemapper.java @@ -95,6 +95,26 @@ public class PackBitmapIndexRemapper extends PackBitmapIndex } @Override + public int getBaseBitmapCount() { + return newPackIndex.getBaseBitmapCount(); + } + + @Override + public long getBaseBitmapSizeInBytes() { + return newPackIndex.getBaseBitmapSizeInBytes(); + } + + @Override + public int getXorBitmapCount() { + return newPackIndex.getXorBitmapCount(); + } + + @Override + public long getXorBitmapSizeInBytes() { + return newPackIndex.getXorBitmapSizeInBytes(); + } + + @Override public EWAHCompressedBitmap ofObjectType( EWAHCompressedBitmap bitmap, int type) { return newPackIndex.ofObjectType(bitmap, type); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java index e27029798d..169dce1cc0 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java @@ -37,6 +37,7 @@ import java.nio.file.DirectoryNotEmptyException; import java.nio.file.Files; import java.nio.file.NoSuchFileException; import java.nio.file.Path; +import java.nio.file.Paths; import java.security.DigestInputStream; import java.security.MessageDigest; import java.text.MessageFormat; @@ -64,6 +65,7 @@ import org.eclipse.jgit.internal.JGitText; import org.eclipse.jgit.lib.ConfigConstants; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.CoreConfig.TrustPackedRefsStat; +import org.eclipse.jgit.lib.CoreConfig.TrustLooseRefStat; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectIdRef; import org.eclipse.jgit.lib.Ref; @@ -181,6 +183,8 @@ public class RefDirectory extends RefDatabase { private final TrustPackedRefsStat trustPackedRefsStat; + private final TrustLooseRefStat trustLooseRefStat; + RefDirectory(RefDirectory refDb) { parent = refDb.parent; gitDir = refDb.gitDir; @@ -192,6 +196,7 @@ public class RefDirectory extends RefDatabase { packedRefs.set(refDb.packedRefs.get()); trustFolderStat = refDb.trustFolderStat; trustPackedRefsStat = refDb.trustPackedRefsStat; + trustLooseRefStat = refDb.trustLooseRefStat; inProcessPackedRefsLock = refDb.inProcessPackedRefsLock; } @@ -213,6 +218,10 @@ public class RefDirectory extends RefDatabase { .getEnum(ConfigConstants.CONFIG_CORE_SECTION, null, ConfigConstants.CONFIG_KEY_TRUST_PACKED_REFS_STAT, TrustPackedRefsStat.UNSET); + trustLooseRefStat = db.getConfig() + .getEnum(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_TRUST_LOOSE_REF_STAT, + TrustLooseRefStat.ALWAYS); inProcessPackedRefsLock = new ReentrantLock(true); } @@ -1136,6 +1145,11 @@ public class RefDirectory extends RefDatabase { LooseRef scanRef(LooseRef ref, String name) throws IOException { final File path = fileFor(name); + + if (trustLooseRefStat.equals(TrustLooseRefStat.AFTER_OPEN)) { + refreshPathToLooseRef(Paths.get(name)); + } + FileSnapshot currentSnapshot = null; if (ref != null) { @@ -1221,6 +1235,29 @@ public class RefDirectory extends RefDatabase { return new LooseUnpeeled(loose.snapshot, name, id); } + /** + * Workaround for issues caused by NFS caching. Refresh directories starting + * from the repository root to a loose ref by opening an input stream. This + * refreshes file attributes of the loose ref (at least on some NFS + * clients). + * + * @param refPath + * path of a loose ref relative to the repository root + */ + void refreshPathToLooseRef(Path refPath) { + for (int i = 1; i < refPath.getNameCount(); i++) { + File dir = fileFor(refPath.subpath(0, i).toString()); + // Use Files.newInputStream(Path) as it is consistent with other + // code where a refresh is being done (see getPackedRefs()) and also + // it performs slightly better than Files.newDirectoryStream(Path) + try (InputStream stream = Files.newInputStream(dir.toPath())) { + // open the dir to refresh attributes (on some NFS clients) + } catch (IOException e) { + break; // loose ref may not exist + } + } + } + private static boolean isSymRef(byte[] buf, int n) { if (n < 6) return false; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java index 6e02b36ccb..9e95231253 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java @@ -2029,8 +2029,8 @@ public class PackWriter implements AutoCloseable { if (!shallowPack && useBitmaps) { BitmapIndex bitmapIndex = reader.getBitmapIndex(); if (bitmapIndex != null) { - BitmapWalker bitmapWalker = new BitmapWalker( - walker, bitmapIndex, countingMonitor); + BitmapWalker bitmapWalker = new BitmapWalker(walker, + bitmapIndex, countingMonitor); findObjectsToPackUsingBitmaps(bitmapWalker, want, have); endPhase(countingMonitor); stats.timeCounting = System.currentTimeMillis() - countingStart; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriterBitmapPreparer.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriterBitmapPreparer.java index 8b5cea7af6..dabc1f0c5f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriterBitmapPreparer.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriterBitmapPreparer.java @@ -28,16 +28,16 @@ import org.eclipse.jgit.errors.MissingObjectException; import org.eclipse.jgit.internal.JGitText; import org.eclipse.jgit.internal.revwalk.AddUnseenToBitmapFilter; import org.eclipse.jgit.internal.storage.file.BitmapIndexImpl; -import org.eclipse.jgit.internal.storage.file.BitmapIndexImpl.CompressedBitmap; import org.eclipse.jgit.internal.storage.file.PackBitmapIndex; import org.eclipse.jgit.internal.storage.file.PackBitmapIndexBuilder; import org.eclipse.jgit.internal.storage.file.PackBitmapIndexRemapper; +import org.eclipse.jgit.internal.storage.file.BitmapIndexImpl.CompressedBitmap; import org.eclipse.jgit.lib.AnyObjectId; -import org.eclipse.jgit.lib.BitmapIndex.BitmapBuilder; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectReader; import org.eclipse.jgit.lib.ProgressMonitor; +import org.eclipse.jgit.lib.BitmapIndex.BitmapBuilder; import org.eclipse.jgit.revwalk.BitmapWalker; import org.eclipse.jgit.revwalk.ObjectWalk; import org.eclipse.jgit.revwalk.RevCommit; @@ -77,6 +77,7 @@ class PackWriterBitmapPreparer { private final int recentCommitSpan; private final int distantCommitSpan; private final int excessiveBranchCount; + private final int excessiveBranchTipCount; private final long inactiveBranchTimestamp; PackWriterBitmapPreparer(ObjectReader reader, @@ -96,6 +97,8 @@ class PackWriterBitmapPreparer { this.recentCommitSpan = config.getBitmapRecentCommitSpan(); this.distantCommitSpan = config.getBitmapDistantCommitSpan(); this.excessiveBranchCount = config.getBitmapExcessiveBranchCount(); + this.excessiveBranchTipCount = Math.max(excessiveBranchCount, + config.getBitmapExcessiveBranchTipCount()); long now = SystemReader.getInstance().getCurrentTime(); long ageInSeconds = (long) config.getBitmapInactiveBranchAgeInDays() * DAY_IN_SECONDS; @@ -163,11 +166,17 @@ class PackWriterBitmapPreparer { rw2.setRetainBody(false); rw2.setRevFilter(new NotInBitmapFilter(seen)); + int newWantsCount = selectionHelper.newWantsByNewest.size(); + int maxBranches = Math.min(excessiveBranchTipCount, newWantsCount); + Set<RevCommit> excessiveBranches = new HashSet<>( + selectionHelper.newWantsByNewest.subList(maxBranches, + newWantsCount)); // For each branch, do a revwalk to enumerate its commits. Exclude // both reused commits and any commits seen in a previous branch. // Then iterate through all new commits from oldest to newest, // selecting well-spaced commits in this branch. - for (RevCommit rc : selectionHelper.newWantsByNewest) { + for (RevCommit rc : selectionHelper.newWantsByNewest.subList(0, + maxBranches)) { BitmapBuilder tipBitmap = commitBitmapIndex.newBitmapBuilder(); rw2.markStart((RevCommit) rw2.peel(rw2.parseAny(rc))); RevCommit rc2; @@ -223,7 +232,7 @@ class PackWriterBitmapPreparer { pm.update(1); // Always pick the items in wants, prefer merge commits. - if (selectionHelper.newWants.remove(c)) { + if (!excessiveBranches.contains(c) && selectionHelper.newWants.remove(c)) { if (nextIn > 0) { nextFlg = 0; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/util/ShutdownHook.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/util/ShutdownHook.java index d6c5a81454..f52025fd6b 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/util/ShutdownHook.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/util/ShutdownHook.java @@ -82,7 +82,9 @@ public enum ShutdownHook { }).get(30L, TimeUnit.SECONDS); } catch (RejectedExecutionException | InterruptedException | ExecutionException | TimeoutException e) { - LOG.error(JGitText.get().shutdownCleanupFailed, e); + // message isn't localized since during shutdown there's no + // guarantee which classes are still loaded + LOG.error("Cleanup during JVM shutdown failed", e); //$NON-NLS-1$ } runner.shutdownNow(); } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/AbstractGpgSignatureVerifier.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/AbstractGpgSignatureVerifier.java new file mode 100644 index 0000000000..06a89dc535 --- /dev/null +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/AbstractGpgSignatureVerifier.java @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2024, Thomas Wolf <twolf@apache.org> and others +* +* This program and the accompanying materials are made available under the +* terms of the Eclipse Distribution License v. 1.0 which is available at +* https://www.eclipse.org/org/documents/edl-v10.php. +* +* SPDX-License-Identifier: BSD-3-Clause +*/ +package org.eclipse.jgit.lib; + +import java.io.IOException; +import java.util.Arrays; + +import org.eclipse.jgit.revwalk.RevCommit; +import org.eclipse.jgit.revwalk.RevObject; +import org.eclipse.jgit.revwalk.RevTag; +import org.eclipse.jgit.util.RawParseUtils; + +/** + * Provides a base implementation of + * {@link GpgSignatureVerifier#verifySignature(RevObject, GpgConfig)}. + * + * @since 6.9 + */ +public abstract class AbstractGpgSignatureVerifier + implements GpgSignatureVerifier { + + @Override + public SignatureVerification verifySignature(RevObject object, + GpgConfig config) throws IOException { + if (object instanceof RevCommit) { + RevCommit commit = (RevCommit) object; + byte[] signatureData = commit.getRawGpgSignature(); + if (signatureData == null) { + return null; + } + byte[] raw = commit.getRawBuffer(); + // Now remove the GPG signature + byte[] header = { 'g', 'p', 'g', 's', 'i', 'g' }; + int start = RawParseUtils.headerStart(header, raw, 0); + if (start < 0) { + return null; + } + int end = RawParseUtils.nextLfSkippingSplitLines(raw, start); + // start is at the beginning of the header's content + start -= header.length + 1; + // end is on the terminating LF; we need to skip that, too + if (end < raw.length) { + end++; + } + byte[] data = new byte[raw.length - (end - start)]; + System.arraycopy(raw, 0, data, 0, start); + System.arraycopy(raw, end, data, start, raw.length - end); + return verify(config, data, signatureData); + } else if (object instanceof RevTag) { + RevTag tag = (RevTag) object; + byte[] signatureData = tag.getRawGpgSignature(); + if (signatureData == null) { + return null; + } + byte[] raw = tag.getRawBuffer(); + // The signature is just tacked onto the end of the message, which + // is last in the buffer. + byte[] data = Arrays.copyOfRange(raw, 0, + raw.length - signatureData.length); + return verify(config, data, signatureData); + } + return null; + } +} diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java index c7b4e45697..0edf3c5ad0 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java @@ -751,6 +751,13 @@ public final class ConfigConstants { public static final String CONFIG_KEY_BITMAP_EXCESSIVE_BRANCH_COUNT = "bitmapexcessivebranchcount"; /** + * The "pack.bitmapExcessiveBranchTipCount" key + * + * @since 6.9 + */ + public static final String CONFIG_KEY_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT = "bitmapexcessivebranchtipcount"; + + /** * The "pack.bitmapExcludedRefsPrefixes" key * @since 5.13.2 */ @@ -965,6 +972,13 @@ public final class ConfigConstants { public static final String CONFIG_KEY_TRUST_PACKED_REFS_STAT = "trustPackedRefsStat"; /** + * The "trustLooseRefStat" key + * + * @since 6.9 + */ + public static final String CONFIG_KEY_TRUST_LOOSE_REF_STAT = "trustLooseRefStat"; + + /** * The "pack.preserveOldPacks" key * * @since 5.13.2 diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/CoreConfig.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/CoreConfig.java index 4de1801d04..9fa5d75a3f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/CoreConfig.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/CoreConfig.java @@ -144,6 +144,21 @@ public class CoreConfig { UNSET } + /** + * Permissible values for {@code core.trustLooseRefStat}. + * + * @since 6.9 + */ + public enum TrustLooseRefStat { + + /** Trust file attributes of the loose ref. */ + ALWAYS, + + /** Open and close parent directories of the loose ref file until the + * repository root to refresh its file attributes and then trust it. */ + AFTER_OPEN, + } + private final int compression; private final int packIndexVersion; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/GpgSignatureVerifier.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/GpgSignatureVerifier.java index a7a39c998f..91c9bab5a4 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/GpgSignatureVerifier.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/GpgSignatureVerifier.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021, Thomas Wolf <thomas.wolf@paranor.ch> and others + * Copyright (C) 2021, 2024 Thomas Wolf <twolf@apache.org> and others * * This program and the accompanying materials are made available under the * terms of the Eclipse Distribution License v. 1.0 which is available at @@ -18,7 +18,8 @@ import org.eclipse.jgit.api.errors.JGitInternalException; import org.eclipse.jgit.revwalk.RevObject; /** - * A {@code GpgVerifier} can verify GPG signatures on git commits and tags. + * A {@code GpgSignatureVerifier} can verify GPG signatures on git commits and + * tags. * * @since 5.11 */ @@ -42,6 +43,28 @@ public interface GpgSignatureVerifier { SignatureVerification verifySignature(@NonNull RevObject object, @NonNull GpgConfig config) throws IOException; + /** + * Verifies a given signature for given data. + * + * @param config + * the {@link GpgConfig} + * @param data + * the signature is for + * @param signatureData + * the ASCII-armored signature + * @return a {@link SignatureVerification} describing the outcome + * @throws IOException + * if the signature cannot be parsed + * @throws JGitInternalException + * if signature verification fails + * @since 6.9 + */ + default SignatureVerification verify(@NonNull GpgConfig config, byte[] data, + byte[] signatureData) throws IOException { + // Default implementation for backwards compatibility; override as + // appropriate + return verify(data, signatureData); + } /** * Verifies a given signature for given data. @@ -55,7 +78,10 @@ public interface GpgSignatureVerifier { * if the signature cannot be parsed * @throws JGitInternalException * if signature verification fails + * @deprecated since 6.9, use {@link #verify(GpgConfig, byte[], byte[])} + * instead */ + @Deprecated public SignatureVerification verify(byte[] data, byte[] signatureData) throws IOException; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/FooterLine.java b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/FooterLine.java index f58eb82fc8..fa7fb316c9 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/FooterLine.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/FooterLine.java @@ -81,14 +81,25 @@ public final class FooterLine { // empty } - int msgB = RawParseUtils.commitMessage(raw, 0); + // The first non-header line is never a footer. + int msgB = RawParseUtils.nextLfSkippingSplitLines(raw, + RawParseUtils.hasAnyKnownHeaders(raw) + ? RawParseUtils.commitMessage(raw, 0) + : 0); ArrayList<FooterLine> r = new ArrayList<>(4); Charset enc = RawParseUtils.guessEncoding(raw); // Search for the beginning of last paragraph int parStart = parEnd; - for (; parStart > msgB && (raw[parStart - 1] != '\n' || raw[parStart - 2] != '\n'); --parStart) { - // empty + for (; parStart > msgB; --parStart) { + if (parStart < 2) { + // Too close to beginning: this is not a raw message + parStart = 0; + break; + } + if (raw[parStart - 1] == '\n' && raw[parStart - 2] == '\n') { + break; + } } for (int ptr = parStart; ptr < parEnd;) { @@ -101,7 +112,8 @@ public final class FooterLine { } // Skip over the ': *' at the end of the key before the value. - int valStart, valEnd; + int valStart; + int valEnd; for (valStart = keyEnd + 1; valStart < raw.length && raw[valStart] == ' '; ++valStart) { // empty @@ -115,6 +127,10 @@ public final class FooterLine { break; } } + if (keyStart == msgB) { + // Fist line cannot be a footer + continue; + } r.add(new FooterLine(raw, enc, keyStart, keyEnd, valStart, valEnd)); } @@ -235,6 +251,28 @@ public final class FooterLine { return RawParseUtils.decode(enc, buffer, lt, gt - 1); } + /** + * @return start offset of the footer relative to the original raw message + * byte buffer + * + * @see #fromMessage(byte[]) + * @since 6.9 + */ + public int getStartOffset() { + return keyStart; + } + + /** + * @return end offset of the footer relative to the original raw message + * byte buffer + * + * @see #fromMessage(byte[]) + * @since 6.9 + */ + public int getEndOffset() { + return valEnd; + } + @Override public String toString() { return getKey() + ": " + getValue(); //$NON-NLS-1$ diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevCommit.java b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevCommit.java index 1f0f13152e..743a8ccce0 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevCommit.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevCommit.java @@ -17,7 +17,6 @@ import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.IllegalCharsetNameException; import java.nio.charset.UnsupportedCharsetException; -import java.util.Arrays; import java.util.List; import org.eclipse.jgit.annotations.Nullable; @@ -409,7 +408,7 @@ public class RevCommit extends RevObject { return null; } final int end = RawParseUtils.headerEnd(raw, start); - return Arrays.copyOfRange(raw, start, end); + return RawParseUtils.headerValue(raw, start, end); } /** diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java index 414af30486..6854b6083d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/StartGenerator.java @@ -94,7 +94,7 @@ class StartGenerator extends Generator { final DateRevQueue pending; int pendingOutputType = 0; if (q instanceof DateRevQueue) { - pending = (DateRevQueue) q; + pending = (DateRevQueue)q; } else { pending = RevWalk.newDateRevQueue(q); } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackConfig.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackConfig.java index d524524612..8373d6809a 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackConfig.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackConfig.java @@ -16,6 +16,7 @@ import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_BIGFILE_THRESHOLD; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_BITMAP_CONTIGUOUS_COMMIT_COUNT; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_BITMAP_DISTANT_COMMIT_SPAN; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_BITMAP_EXCESSIVE_BRANCH_COUNT; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_BITMAP_EXCLUDED_REFS_PREFIXES; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_BITMAP_INACTIVE_BRANCH_AGE_INDAYS; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_BITMAP_RECENT_COMMIT_COUNT; @@ -240,6 +241,17 @@ public class PackConfig { public static final int DEFAULT_BITMAP_EXCESSIVE_BRANCH_COUNT = 100; /** + * Default maxium count of branches to create tip bitmaps for. If the number + * of branches exceeds this, then tip bitmaps will only be created for the + * most recently active branches. Branches exceeding this count will receive + * 0 bitmaps: {@value #DEFAULT_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT} + * + * @see #setBitmapExcessiveBranchTipCount(int) + * @since 6.9 + */ + public static final int DEFAULT_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT = Integer.MAX_VALUE; + + /** * Default age at which a branch is considered inactive. Age is taken as the * number of days ago that the most recent commit was made to a branch. Only * affects bitmap processing if bitmaps are enabled and the @@ -330,6 +342,8 @@ public class PackConfig { private int bitmapExcessiveBranchCount = DEFAULT_BITMAP_EXCESSIVE_BRANCH_COUNT; + private int bitmapExcessiveBranchTipCount = DEFAULT_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT; + private int bitmapInactiveBranchAgeInDays = DEFAULT_BITMAP_INACTIVE_BRANCH_AGE_IN_DAYS; private String[] bitmapExcludedRefsPrefixes = DEFAULT_BITMAP_EXCLUDED_REFS_PREFIXES; @@ -1190,7 +1204,8 @@ public class PackConfig { * a repository exceeds this number and bitmaps are enabled, "inactive" * branches will have fewer bitmaps than "active" branches. * - * Default setting: {@value #DEFAULT_BITMAP_EXCESSIVE_BRANCH_COUNT} + * Default setting: {@value #DEFAULT_BITMAP_EXCESSIVE_BRANCH_COUNT}. See + * also {@link #getBitmapExcessiveBranchTipCount}. * * @return the count of branches deemed "excessive" * @since 4.2 @@ -1204,7 +1219,8 @@ public class PackConfig { * a repository exceeds this number and bitmaps are enabled, "inactive" * branches will have fewer bitmaps than "active" branches. * - * Default setting: {@value #DEFAULT_BITMAP_EXCESSIVE_BRANCH_COUNT} + * Default setting: {@value #DEFAULT_BITMAP_EXCESSIVE_BRANCH_COUNT}. See + * also {@link #setBitmapExcessiveBranchTipCount(int)}. * * @param count * the count of branches deemed "excessive" @@ -1215,6 +1231,57 @@ public class PackConfig { } /** + * Get the count of branches deemed "excessive". If the count of branches in + * a repository exceeds this number and bitmaps are enabled, branches + * exceeding this count will have no bitmaps selected. Branches are indexed + * most recent first. + * + * <li>The first {@code DEFAULT_BITMAP_EXCESSIVE_BRANCH_COUNT} most active + * branches have full bitmap coverage. + * <li>The {@code DEFAULT_BITMAP_EXCESSIVE_BRANCH_COUNT} to {@code + * DEFAULT_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT} most active branches have + * only the tip commit covered. + * <li>The remaining branches have no bitmap coverage. + * + * If {@link #getBitmapExcessiveBranchCount()} is greater, then that value + * will override this value. + * + * Default setting: {@value #DEFAULT_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT} + * + * @return the count of branch tips deemed "excessive" + * @since 6.9 + */ + public int getBitmapExcessiveBranchTipCount() { + return bitmapExcessiveBranchTipCount; + } + + /** + * Get the count of branches deemed "excessive". If the count of branches in + * a repository exceeds this number and bitmaps are enabled, branches + * exceeding this count will have no bitmaps selected. Branches are indexed + * most recent first. + * + * <li>The first {@code DEFAULT_BITMAP_EXCESSIVE_BRANCH_COUNT} most active + * branches have full bitmap coverage. + * <li>The {@code DEFAULT_BITMAP_EXCESSIVE_BRANCH_COUNT} to {@code + * DEFAULT_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT} most active branches have + * only the tip commit covered. + * <li>The remaining branches have no bitmap coverage. + * + * If {@link #getBitmapExcessiveBranchCount()} is greater, then that value + * will override this value. + * + * Default setting: {@value #DEFAULT_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT} + * + * @param count + * the count of branch tips deemed "excessive" + * @since 6.9 + */ + public void setBitmapExcessiveBranchTipCount(int count) { + bitmapExcessiveBranchTipCount = count; + } + + /** * Get the age in days that marks a branch as "inactive". * * Default setting: {@value #DEFAULT_BITMAP_INACTIVE_BRANCH_AGE_IN_DAYS} @@ -1390,6 +1457,9 @@ public class PackConfig { setBitmapExcessiveBranchCount(rc.getInt(CONFIG_PACK_SECTION, CONFIG_KEY_BITMAP_EXCESSIVE_BRANCH_COUNT, getBitmapExcessiveBranchCount())); + setBitmapExcessiveBranchTipCount(rc.getInt(CONFIG_PACK_SECTION, + CONFIG_KEY_BITMAP_EXCESSIVE_BRANCH_TIP_COUNT, + getBitmapExcessiveBranchTipCount())); setBitmapInactiveBranchAgeInDays(rc.getInt(CONFIG_PACK_SECTION, CONFIG_KEY_BITMAP_INACTIVE_BRANCH_AGE_INDAYS, getBitmapInactiveBranchAgeInDays())); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackFetchConnection.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackFetchConnection.java index e0a351772b..469a3d6015 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackFetchConnection.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackFetchConnection.java @@ -402,11 +402,14 @@ public abstract class BasePackFetchConnection extends BasePackConnection protected void doFetch(final ProgressMonitor monitor, final Collection<Ref> want, final Set<ObjectId> have, OutputStream outputStream) throws TransportException { + boolean hasObjects = !have.isEmpty(); try { noProgress = monitor == NullProgressMonitor.INSTANCE; - markRefsAdvertised(); - markReachable(want, have, maxTimeWanted(want)); + if (hasObjects) { + markRefsAdvertised(); + } + markReachable(want, have, maxTimeWanted(want, hasObjects)); if (TransferConfig.ProtocolVersion.V2 .equals(getProtocolVersion())) { @@ -418,7 +421,7 @@ public abstract class BasePackFetchConnection extends BasePackConnection state = new TemporaryBuffer.Heap(Integer.MAX_VALUE); pckState = new PacketLineOut(state); try { - doFetchV2(monitor, want, outputStream); + doFetchV2(monitor, want, outputStream, hasObjects); } finally { clearState(); } @@ -430,7 +433,7 @@ public abstract class BasePackFetchConnection extends BasePackConnection pckState = new PacketLineOut(state); } PacketLineOut output = statelessRPC ? pckState : pckOut; - if (sendWants(want, output)) { + if (sendWants(want, output, hasObjects)) { boolean mayHaveShallow = depth != null || deepenSince != null || !deepenNots.isEmpty(); Set<ObjectId> shallowCommits = local.getObjectDatabase().getShallowCommits(); if (isCapableOf(GitProtocolConstants.CAPABILITY_SHALLOW)) { @@ -457,7 +460,8 @@ public abstract class BasePackFetchConnection extends BasePackConnection } private void doFetchV2(ProgressMonitor monitor, Collection<Ref> want, - OutputStream outputStream) throws IOException, CancelledException { + OutputStream outputStream, boolean hasObjects) + throws IOException, CancelledException { sideband = true; negotiateBegin(); @@ -479,7 +483,7 @@ public abstract class BasePackFetchConnection extends BasePackConnection pckState.writeString(capability); } - if (!sendWants(want, pckState)) { + if (!sendWants(want, pckState, hasObjects)) { // We already have everything we wanted. return; } @@ -666,8 +670,12 @@ public abstract class BasePackFetchConnection extends BasePackConnection return local.getConfig().get(FetchConfig::new); } - private int maxTimeWanted(Collection<Ref> wants) { + private int maxTimeWanted(Collection<Ref> wants, boolean hasObjects) { int maxTime = 0; + if (!hasObjects) { + // we don't have any objects locally, we can immediately bail out + return maxTime; + } for (Ref r : wants) { try { final RevObject obj = walk.parseAny(r.getObjectId()); @@ -769,7 +777,8 @@ public abstract class BasePackFetchConnection extends BasePackConnection } } - private boolean sendWants(Collection<Ref> want, PacketLineOut p) + private boolean sendWants(Collection<Ref> want, PacketLineOut p, + boolean hasObjects) throws IOException { boolean first = true; for (Ref r : want) { @@ -778,7 +787,9 @@ public abstract class BasePackFetchConnection extends BasePackConnection continue; } // if depth is set we need to fetch the objects even if they are already available - if (transport.getDepth() == null) { + if (transport.getDepth() == null + // only check reachable objects when we have objects + && hasObjects) { try { if (walk.parseAny(objectId).has(REACHABLE)) { // We already have this object. Asking for it is diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java index fc9789d0bc..e1f2b19ce5 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java @@ -1566,7 +1566,7 @@ public abstract class PackParser { * @param baseStreamPosition * position of the base object in the incoming stream. The base * must be before the delta, therefore {@code baseStreamPosition - * < deltaStreamPosition}. This is <b>not</b> the position + * < deltaStreamPosition}. This is <b>not</b> the position * returned by a prior end object event. * @param inflatedSize * size of the delta when fully inflated. The size stored within diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PushCertificateParser.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PushCertificateParser.java index 5009ecf8f3..463d05393f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PushCertificateParser.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PushCertificateParser.java @@ -10,8 +10,8 @@ package org.eclipse.jgit.transport; -import static org.eclipse.jgit.transport.ReceivePack.parseCommand; import static org.eclipse.jgit.transport.GitProtocolConstants.CAPABILITY_PUSH_CERT; +import static org.eclipse.jgit.transport.ReceivePack.parseCommand; import java.io.EOFException; import java.io.IOException; @@ -317,7 +317,7 @@ public class PushCertificateParser { * certificate. * <p> * This method doesn't parse the first line {@code "push-cert \NUL - * <capabilities>"}, but assumes the first line including the + * <capabilities>"}, but assumes the first line including the * capabilities has already been handled by the caller. * * @param pckIn diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java index ac973a9c1d..a8e1dae10e 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java @@ -1024,7 +1024,7 @@ public abstract class FS { File tempFile = null; try { tempFile = File.createTempFile("tempsymlinktarget", ""); //$NON-NLS-1$ //$NON-NLS-2$ - File linkName = new File(tempFile.getParentFile(), "tempsymlink"); //$NON-NLS-1$ + File linkName = new File(tempFile.getPath() + "-tempsymlink"); //$NON-NLS-1$ createSymLink(linkName, tempFile.getPath()); supportSymlinks = Boolean.TRUE; linkName.delete(); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/RawParseUtils.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/RawParseUtils.java index 71fae815fe..46d0bc85ff 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/RawParseUtils.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/RawParseUtils.java @@ -16,7 +16,12 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static org.eclipse.jgit.lib.ObjectChecker.author; import static org.eclipse.jgit.lib.ObjectChecker.committer; import static org.eclipse.jgit.lib.ObjectChecker.encoding; +import static org.eclipse.jgit.lib.ObjectChecker.object; +import static org.eclipse.jgit.lib.ObjectChecker.parent; +import static org.eclipse.jgit.lib.ObjectChecker.tag; import static org.eclipse.jgit.lib.ObjectChecker.tagger; +import static org.eclipse.jgit.lib.ObjectChecker.tree; +import static org.eclipse.jgit.lib.ObjectChecker.type; import java.nio.ByteBuffer; import java.nio.charset.CharacterCodingException; @@ -520,17 +525,24 @@ public final class RawParseUtils { } /** - * Locate the end of the header. Note that headers may be - * more than one line long. + * Locate the first end of line after the given position, while treating + * following lines which are starting with spaces as part of the current + * line. + * <p> + * For example, {@code nextLfSkippingSplitLines( + * "row \n with space at beginning of a following line\nThe actual next line", + * 0)} will return the position of {@code "\nThe actual next line"}. + * * @param b * buffer to scan. * @param ptr - * position within buffer to start looking for the end-of-header. - * @return new position just after the header. This is either - * b.length, or the index of the header's terminating newline. - * @since 5.1 + * position within buffer to start looking for the next line. + * @return new position just after the line end of the last line-split. This + * is either b.length, or the index of the current split-line's + * terminating newline. + * @since 6.9 */ - public static final int headerEnd(final byte[] b, int ptr) { + public static final int nextLfSkippingSplitLines(final byte[] b, int ptr) { final int sz = b.length; while (ptr < sz) { final byte c = b[ptr++]; @@ -538,7 +550,62 @@ public final class RawParseUtils { return ptr - 1; } } - return ptr - 1; + return ptr; + } + + /** + * Extract a part of a buffer as a header value, removing the single blanks + * at the front of continuation lines. + * + * @param b + * buffer to extract the header from + * @param start + * of the header value, see + * {@link #headerStart(byte[], byte[], int)} + * @param end + * of the header; see + * {@link #nextLfSkippingSplitLines(byte[], int)} + * @return the header value, with blanks indicating continuation lines + * stripped + * @since 6.9 + */ + public static final byte[] headerValue(final byte[] b, int start, int end) { + byte[] data = new byte[end - start]; + int out = 0; + byte last = '\0'; + for (int in = start; in < end; in++) { + byte ch = b[in]; + if (ch != ' ' || last != '\n') { + data[out++] = ch; + } + last = ch; + } + if (out == data.length) { + return data; + } + return Arrays.copyOf(data, out); + } + + /** + * Locate the first end of header after the given position. Note that + * headers may be more than one line long. + * <p> + * Also note that there might be multiple headers. If you wish to find the + * last header's end - call this in a loop. + * + * @param b + * buffer to scan. + * @param ptr + * position within buffer to start looking for the header + * (normally a new-line). + * @return new position just after the line end. This is either b.length, or + * the index of the header's terminating newline. + * @since 5.1 + * @deprecated use {{@link #nextLfSkippingSplitLines}} directly instead + */ + @Deprecated + public static final int headerEnd(final byte[] b, int ptr) { + return nextLfSkippingSplitLines(b, ptr); } /** @@ -576,6 +643,22 @@ public final class RawParseUtils { } /** + * Returns whether the message starts with any known headers. + * + * @param b + * buffer to scan. + * @return whether the message starts with any known headers + * @since 6.9 + */ + public static final boolean hasAnyKnownHeaders(byte[] b) { + return match(b, 0, tree) != -1 || match(b, 0, parent) != -1 + || match(b, 0, author) != -1 || match(b, 0, committer) != -1 + || match(b, 0, encoding) != -1 || match(b, 0, object) != -1 + || match(b, 0, type) != -1 || match(b, 0, tag) != -1 + || match(b, 0, tagger) != -1; + } + + /** * Locate the first position before a given character. * * @param b @@ -1258,6 +1341,7 @@ public final class RawParseUtils { final int sz = b.length; if (ptr == 0) ptr += 48; // skip the "object ..." line. + // Assume the rest of the current paragraph is all headers. while (ptr < sz && b[ptr] != '\n') ptr = nextLF(b, ptr); if (ptr < sz && b[ptr] == '\n') diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java index 4a48762710..ed62c71371 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java @@ -174,6 +174,67 @@ public abstract class SystemReader { } } + /** + * Delegating SystemReader. Reduces boiler-plate code applications need to + * implement when overriding only a few of the SystemReader's methods. + * + * @since 6.9 + */ + public static class Delegate extends SystemReader { + + private final SystemReader delegate; + + /** + * Create a delegating system reader + * + * @param delegate + * the system reader to delegate to + */ + public Delegate(SystemReader delegate) { + this.delegate = delegate; + } + + @Override + public String getHostname() { + return delegate.getHostname(); + } + + @Override + public String getenv(String variable) { + return delegate.getenv(variable); + } + + @Override + public String getProperty(String key) { + return delegate.getProperty(key); + } + + @Override + public FileBasedConfig openUserConfig(Config parent, FS fs) { + return delegate.openUserConfig(parent, fs); + } + + @Override + public FileBasedConfig openSystemConfig(Config parent, FS fs) { + return delegate.openSystemConfig(parent, fs); + } + + @Override + public FileBasedConfig openJGitConfig(Config parent, FS fs) { + return delegate.openJGitConfig(parent, fs); + } + + @Override + public long getCurrentTime() { + return delegate.getCurrentTime(); + } + + @Override + public int getTimezone(long when) { + return delegate.getTimezone(when); + } + } + private static volatile SystemReader INSTANCE = DEFAULT; /** @@ -18,7 +18,7 @@ <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> <packaging>pom</packaging> - <version>6.8.1-SNAPSHOT</version> + <version>6.9.1-SNAPSHOT</version> <name>JGit - Parent</name> <url>${jgit-url}</url> @@ -118,37 +118,37 @@ <project.build.outputTimestamp>${commit.time.iso}</project.build.outputTimestamp> - <jgit-last-release-version>6.7.0.202309050840-r</jgit-last-release-version> + <jgit-last-release-version>6.8.0.202311291450-r</jgit-last-release-version> <ant-version>1.10.14</ant-version> - <apache-sshd-version>2.11.0</apache-sshd-version> + <apache-sshd-version>2.12.0</apache-sshd-version> <jsch-version>0.1.55</jsch-version> <jzlib-version>1.1.3</jzlib-version> <javaewah-version>1.2.3</javaewah-version> <junit-version>4.13.2</junit-version> <test-fork-count>1C</test-fork-count> <args4j-version>2.33</args4j-version> - <commons-compress-version>1.25.0</commons-compress-version> + <commons-compress-version>1.26.0</commons-compress-version> <osgi-core-version>6.0.0</osgi-core-version> <servlet-api-version>4.0.4</servlet-api-version> - <jetty-version>10.0.18</jetty-version> - <japicmp-version>0.17.2</japicmp-version> + <jetty-version>10.0.20</jetty-version> + <japicmp-version>0.18.5</japicmp-version> <httpclient-version>4.5.14</httpclient-version> <httpcore-version>4.4.16</httpcore-version> <slf4j-version>1.7.36</slf4j-version> - <maven-javadoc-plugin-version>3.5.0</maven-javadoc-plugin-version> + <maven-javadoc-plugin-version>3.6.3</maven-javadoc-plugin-version> <gson-version>2.10.1</gson-version> <bouncycastle-version>1.77</bouncycastle-version> - <spotbugs-maven-plugin-version>4.7.3.4</spotbugs-maven-plugin-version> - <maven-project-info-reports-plugin-version>3.4.3</maven-project-info-reports-plugin-version> - <maven-jxr-plugin-version>3.3.0</maven-jxr-plugin-version> - <maven-surefire-plugin-version>3.0.0</maven-surefire-plugin-version> + <spotbugs-maven-plugin-version>4.8.3.1</spotbugs-maven-plugin-version> + <maven-project-info-reports-plugin-version>3.5.1</maven-project-info-reports-plugin-version> + <maven-jxr-plugin-version>3.3.2</maven-jxr-plugin-version> + <maven-surefire-plugin-version>3.2.5</maven-surefire-plugin-version> <maven-surefire-report-plugin-version>${maven-surefire-plugin-version}</maven-surefire-report-plugin-version> - <maven-compiler-plugin-version>3.11.0</maven-compiler-plugin-version> + <maven-compiler-plugin-version>3.12.1</maven-compiler-plugin-version> <plexus-compiler-version>2.13.0</plexus-compiler-version> <hamcrest-version>2.2</hamcrest-version> - <assertj-version>3.24.2</assertj-version> - <jna-version>5.13.0</jna-version> - <byte-buddy-version>1.14.9</byte-buddy-version> + <assertj-version>3.25.3</assertj-version> + <jna-version>5.14.0</jna-version> + <byte-buddy-version>1.14.12</byte-buddy-version> <!-- Properties to enable jacoco code coverage analysis --> <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> @@ -208,13 +208,13 @@ <plugin> <artifactId>maven-clean-plugin</artifactId> - <version>3.2.0</version> + <version>3.3.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> - <version>3.4.1</version> + <version>3.5.1</version> </plugin> <plugin> @@ -226,7 +226,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> - <version>3.5.0</version> + <version>3.6.1</version> </plugin> <plugin> @@ -255,7 +255,7 @@ <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> - <version>3.4.0</version> + <version>3.5.0</version> </plugin> <plugin> @@ -263,7 +263,6 @@ <artifactId>spotbugs-maven-plugin</artifactId> <version>${spotbugs-maven-plugin-version}</version> <configuration> - <findbugsXmlOutput>true</findbugsXmlOutput> <failOnError>false</failOnError> </configuration> <executions> @@ -278,9 +277,9 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> - <version>3.20.0</version> + <version>3.21.2</version> <configuration> - <sourceEncoding>utf-8</sourceEncoding> + <inputEncoding>${project.build.sourceEncoding}</inputEncoding> <minimumTokens>100</minimumTokens> <targetJdk>${java.version}</targetJdk> <format>xml</format> @@ -301,17 +300,17 @@ <plugin> <groupId>org.eclipse.cbi.maven.plugins</groupId> <artifactId>eclipse-jarsigner-plugin</artifactId> - <version>1.4.2</version> + <version>1.4.3</version> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> - <version>0.8.10</version> + <version>0.8.11</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> - <version>4.0.0-M9</version> + <version>4.0.0-M13</version> <dependencies> <dependency><!-- add support for ssh/scp --> <groupId>org.apache.maven.wagon</groupId> @@ -368,7 +367,7 @@ <plugin> <groupId>org.cyclonedx</groupId> <artifactId>cyclonedx-maven-plugin</artifactId> - <version>2.7.9</version> + <version>2.7.10</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -379,6 +378,11 @@ <reproducible>true</reproducible> </configuration> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-enforcer-plugin</artifactId> + <version>3.4.1</version> + </plugin> </plugins> </pluginManagement> @@ -386,7 +390,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> - <version>3.3.0</version> <executions> <execution> <id>enforce-maven</id> @@ -620,7 +623,7 @@ <plugin> <groupId>io.github.git-commit-id</groupId> <artifactId>git-commit-id-maven-plugin</artifactId> - <version>6.0.0</version> + <version>7.0.0</version> <executions> <execution> <id>get-the-git-infos</id> @@ -980,7 +983,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>5.7.0</version> + <version>5.10.0</version> </dependency> <dependency> @@ -1089,7 +1092,7 @@ <dependency> <groupId>org.eclipse.jdt</groupId> <artifactId>ecj</artifactId> - <version>3.35.0</version> + <version>3.36.0</version> </dependency> </dependencies> </plugin> |