]> source.dussan.org Git - jgit.git/log
jgit.git
6 weeks agoRemove deprecated ReceivePack#setEchoCommandFailures method 39/1200439/2
Matthias Sohn [Fri, 30 Aug 2024 19:49:54 +0000 (21:49 +0200)]
Remove deprecated ReceivePack#setEchoCommandFailures method

Change-Id: Ieeeb33b8b3dc8272023af5d47b3330f4a94c5b96

6 weeks agoRemove deprecated class ReceivePack.FirstLine 08/1200408/2
Matthias Sohn [Fri, 30 Aug 2024 15:50:59 +0000 (17:50 +0200)]
Remove deprecated class ReceivePack.FirstLine

Change-Id: I1143612088dba4fdced8f14c97293d17ff9658bb

6 weeks agoPacketLineIn: make deprecated #END and #DELIM private 07/1200407/2
Matthias Sohn [Fri, 30 Aug 2024 15:49:12 +0000 (17:49 +0200)]
PacketLineIn: make deprecated #END and #DELIM private

Change-Id: I1b7ba9f7e3dffe54313fc5d27051ad56a02a05b9

6 weeks agoWindowCacheStats: remove deprecated #getOpenFiles, #getOpenBytes 06/1200406/2
Matthias Sohn [Fri, 30 Aug 2024 15:47:16 +0000 (17:47 +0200)]
WindowCacheStats: remove deprecated #getOpenFiles, #getOpenBytes

Change-Id: If254177fd7914cb1f909f6620032bb4016208855

6 weeks agoRemove deprecated PatchApplier#applyPatch(InputStream) 05/1200405/2
Matthias Sohn [Fri, 30 Aug 2024 15:45:41 +0000 (17:45 +0200)]
Remove deprecated PatchApplier#applyPatch(InputStream)

Change-Id: I79923b95861af983b676d436938aaeebe8c5b658

6 weeks agoRemove deprecated MergeMessageFormatter#formatWithConflicts 04/1200404/2
Matthias Sohn [Fri, 30 Aug 2024 15:44:24 +0000 (17:44 +0200)]
Remove deprecated MergeMessageFormatter#formatWithConflicts

Change-Id: I3040f655318c47f268433294720a99325ae78863

6 weeks agoRemove deprecated MergeFormatter#formatMerge using charset name 03/1200403/2
Matthias Sohn [Fri, 30 Aug 2024 15:43:10 +0000 (17:43 +0200)]
Remove deprecated MergeFormatter#formatMerge using charset name

Change-Id: I7d0bdb61a8698e94bb40c22fe1c40c70cec65dfc

6 weeks agoRemove deprecated MergeFormatter#formatMerge using charset name 02/1200402/2
Matthias Sohn [Fri, 30 Aug 2024 15:42:16 +0000 (17:42 +0200)]
Remove deprecated MergeFormatter#formatMerge using charset name

Change-Id: Id2bdcb865203ed192fea35cfcf82c34667710726

6 weeks agoRemove deprecated TagBuilder#toByteArray method 01/1200401/2
Matthias Sohn [Fri, 30 Aug 2024 15:37:48 +0000 (17:37 +0200)]
Remove deprecated TagBuilder#toByteArray method

Change-Id: I14e78bcd4bbdb491bcc44a53ff19609b79c0831b

6 weeks agoRemove deprecated Repository#hasObject(AnyObjectId) method 00/1200400/2
Matthias Sohn [Fri, 30 Aug 2024 15:36:58 +0000 (17:36 +0200)]
Remove deprecated Repository#hasObject(AnyObjectId) method

Change-Id: I473dff6bdc23cfb126d22e18c168390a0e21301d

6 weeks agoMake deprecated Repository#peel(Ref) private 99/1200399/2
Matthias Sohn [Fri, 30 Aug 2024 15:36:05 +0000 (17:36 +0200)]
Make deprecated Repository#peel(Ref) private

Change-Id: I1c16196bba00a5d0f54c10261cc08185305ba4a3

6 weeks agoRemove deprecated RefDatabase#getRef(String) method 98/1200398/2
Matthias Sohn [Fri, 30 Aug 2024 15:33:43 +0000 (17:33 +0200)]
Remove deprecated RefDatabase#getRef(String) method

Change-Id: I89f42db2b9dabee18d4220457436b9f9b6340f50

6 weeks agoCoreConfig: remove deprecated #isLogAllRefUpdates method 97/1200397/2
Matthias Sohn [Fri, 30 Aug 2024 15:32:04 +0000 (17:32 +0200)]
CoreConfig: remove deprecated #isLogAllRefUpdates method

Change-Id: I4e5f96696b57512488f48e66a82760b2e8671878

6 weeks agoConstants: remove deprecated #CHARSET and #CHARACTER_ENCODING 96/1200396/2
Matthias Sohn [Fri, 30 Aug 2024 15:28:57 +0000 (17:28 +0200)]
Constants: remove deprecated #CHARSET and #CHARACTER_ENCODING

Change-Id: If2d3c1a96560e0bc5e352bdbcab4c191cbed1a42

6 weeks agoRemove deprecated ConfigConstants#CONFIG_KEY_STREAM_FILE_TRESHOLD 95/1200395/2
Matthias Sohn [Fri, 30 Aug 2024 15:24:00 +0000 (17:24 +0200)]
Remove deprecated ConfigConstants#CONFIG_KEY_STREAM_FILE_TRESHOLD

Change-Id: I3521ba8f8456160bd18ccb22c7d4a131aaac4ff2

6 weeks agoRemove deprecated CommitBuilder#setEncoding(String) method 94/1200394/2
Matthias Sohn [Fri, 30 Aug 2024 15:23:02 +0000 (17:23 +0200)]
Remove deprecated CommitBuilder#setEncoding(String) method

Change-Id: I5bd8d0c292151bfa58325d51ef51928715871cf1

6 weeks agoRemove deprecated static #equals(AnyObjectId, AnyObjectId) method 53/1200253/2
Matthias Sohn [Fri, 30 Aug 2024 15:21:51 +0000 (17:21 +0200)]
Remove deprecated static #equals(AnyObjectId, AnyObjectId) method

Change-Id: I72544d2b3c85b8f96c2b8f94b86fb9b362f09475

6 weeks agoRemove deprecated FileSnapshot.save(long) method 52/1200252/3
Matthias Sohn [Fri, 30 Aug 2024 15:17:29 +0000 (17:17 +0200)]
Remove deprecated FileSnapshot.save(long) method

Change-Id: I9b77142127cc96ee6658e85a6cf0586d941c5c0c

6 weeks agoRemove deprecated lastModified accessors returning long 51/1200251/3
Matthias Sohn [Fri, 30 Aug 2024 15:16:24 +0000 (17:16 +0200)]
Remove deprecated lastModified accessors returning long

- FileSnapshot#lastModified
- LockFile#getCommmitLastModified

Change-Id: I6962166ca5decbb332dfb25851c93debfe2ca90c

6 weeks agoRemove deprecated PackInvalidException constructors 50/1200250/2
Matthias Sohn [Fri, 30 Aug 2024 15:11:34 +0000 (17:11 +0200)]
Remove deprecated PackInvalidException constructors

Change-Id: I8db6b1dd8e39811ebde676389833dbc906106452

6 weeks agoDirCacheEntry: remove deprecated methods 49/1200249/2
Matthias Sohn [Fri, 30 Aug 2024 15:10:33 +0000 (17:10 +0200)]
DirCacheEntry: remove deprecated methods

- boolean mightBeRacilyClean(int, int)
- long getLastModified()
- void setLastModified(long)

Change-Id: I428fbb2109e13e80b8655622531c10e55a922a6f

6 weeks agoRemove deprecated DirCacheCheckout#checkoutEntry methods 48/1200248/2
Matthias Sohn [Fri, 30 Aug 2024 15:07:01 +0000 (17:07 +0200)]
Remove deprecated DirCacheCheckout#checkoutEntry methods

Change-Id: I28d00d7a70af0fbb76e237dd77b929508720ecdb

6 weeks agoRemove deprecated StashApplyCommand#setApplyUntracked method 47/1200247/2
Matthias Sohn [Fri, 30 Aug 2024 14:46:26 +0000 (16:46 +0200)]
Remove deprecated StashApplyCommand#setApplyUntracked method

Change-Id: I23e3ed3259edad3a22b59cca938f041b39ebf0cb

6 weeks agoRemove deprecated StashApplyCommand#setApplyIndex method 46/1200246/2
Matthias Sohn [Fri, 30 Aug 2024 14:45:34 +0000 (16:45 +0200)]
Remove deprecated StashApplyCommand#setApplyIndex method

Change-Id: I2183285f6ccba1b62a318e711f2451df5d083ca1

6 weeks agoRemove deprecated RemoteSetUrlCommand#setUri method 45/1200245/2
Matthias Sohn [Fri, 30 Aug 2024 14:44:16 +0000 (16:44 +0200)]
Remove deprecated RemoteSetUrlCommand#setUri method

Change-Id: Ib9041be0d88dd837aa68eda2b00f3aa9ebc54c27

6 weeks agoRemove deprecated RemoteSetUrlCommand#setPush method 44/1200244/2
Matthias Sohn [Fri, 30 Aug 2024 14:42:59 +0000 (16:42 +0200)]
Remove deprecated RemoteSetUrlCommand#setPush method

Change-Id: I4026531148a7560179dae89c05424f256e6600d2

6 weeks agoRemove deprecated RemoteSetUrlCommand#setName method 43/1200243/2
Matthias Sohn [Fri, 30 Aug 2024 14:41:15 +0000 (16:41 +0200)]
Remove deprecated RemoteSetUrlCommand#setName method

Change-Id: I769e999b5990f83719e3c638da9dfd0be4c5b826

6 weeks agoRemove deprecated RemoteRemoveCommand#setName method 42/1200242/2
Matthias Sohn [Fri, 30 Aug 2024 14:40:21 +0000 (16:40 +0200)]
Remove deprecated RemoteRemoveCommand#setName method

Change-Id: I2bd2a213b4642283b11f787ffcbab29916e2c5e7

6 weeks agoMerge "Remove deprecated CheckoutCommand#setForce method" into stable-7.0
Luca Milanesio [Tue, 3 Sep 2024 13:47:49 +0000 (13:47 +0000)]
Merge "Remove deprecated CheckoutCommand#setForce method" into stable-7.0

6 weeks agoRemove deprecated CheckoutCommand#setForce method 49/1200449/1
Matthias Sohn [Fri, 30 Aug 2024 14:38:55 +0000 (16:38 +0200)]
Remove deprecated CheckoutCommand#setForce method

Change-Id: Ie0b59ec21fc8dbe18242bbb52cb794e5a02c1ed5

6 weeks agoRemove deprecated CheckoutCommand#setForce method 41/1200241/2
Matthias Sohn [Fri, 30 Aug 2024 14:38:55 +0000 (16:38 +0200)]
Remove deprecated CheckoutCommand#setForce method

Change-Id: I39cfbeba0171c66e0f03b7b3785313da55b1dcac

6 weeks agoRemove deprecated static AnyLongObjectId#equals method 40/1200240/2
Matthias Sohn [Fri, 30 Aug 2024 14:37:04 +0000 (16:37 +0200)]
Remove deprecated static AnyLongObjectId#equals method

Change-Id: Ie67b9a4a5e1972ec3aebf50e058a9aabf5a20099

6 weeks agoRemove deprecated LocalDiskRepositoryTestCase#create(boolean,boolean) 39/1200239/2
Matthias Sohn [Fri, 30 Aug 2024 14:32:30 +0000 (16:32 +0200)]
Remove deprecated LocalDiskRepositoryTestCase#create(boolean,boolean)

Change-Id: I9eff2d405b5302753ff2ec1d0eab431bdba69fe0

6 weeks agoMerge branch 'master' into stable-7.0 38/1200238/1
Matthias Sohn [Fri, 30 Aug 2024 12:45:16 +0000 (14:45 +0200)]
Merge branch 'master' into stable-7.0

* master:
  walks: Remove deprecated #createReachabilityChecker() method
  RepoCommand.RemoteReader: Remove @Deprecated method
  ReachabilityChecker: Remove @Deprecated method
  UploadPack: Remove @Deprecated classes and methods
  ObjectId: Add method to read an ObjectId from a ByteBuffer
  DfsPackFile: re-add metrics for bitmap index loads

Change-Id: I383c9784ced95dfd58f01454fd13b086b180d462

6 weeks agowalks: Remove deprecated #createReachabilityChecker() method 06/1200306/1
Ivan Frade [Thu, 29 Aug 2024 22:47:15 +0000 (15:47 -0700)]
walks: Remove deprecated #createReachabilityChecker() method

Change-Id: If9375ac49fa82e988e0708d89f0f929495e6e7cc

6 weeks agoRepoCommand.RemoteReader: Remove @Deprecated method 05/1200305/1
Ivan Frade [Thu, 29 Aug 2024 22:45:15 +0000 (15:45 -0700)]
RepoCommand.RemoteReader: Remove @Deprecated method

Cleaning up before 7.0 release.

Change-Id: I83db715a8170a54957dd5bcf38df5b0911a12107

6 weeks agoReachabilityChecker: Remove @Deprecated method 04/1200304/1
Ivan Frade [Thu, 29 Aug 2024 22:43:22 +0000 (15:43 -0700)]
ReachabilityChecker: Remove @Deprecated method

Cleaning up before 7.0 release.

Change-Id: I620c3a485785b3d1efc950317fe552b8465a479e

6 weeks agoUploadPack: Remove @Deprecated classes and methods 03/1200303/1
Ivan Frade [Thu, 29 Aug 2024 22:40:49 +0000 (15:40 -0700)]
UploadPack: Remove @Deprecated classes and methods

The coming 7.0 release is a chance to clean up these deprecated
classes and methods.

Change-Id: I23d263c9244c1e0096eb7c96c290213c9e668a03

6 weeks agoObjectId: Add method to read an ObjectId from a ByteBuffer 01/1200301/2
Ivan Frade [Thu, 29 Aug 2024 22:13:47 +0000 (15:13 -0700)]
ObjectId: Add method to read an ObjectId from a ByteBuffer

Some storages return data in a convenient ByteBuffer wrapper, but
there is no straigh-forward method to read ObjectIds from it.

Add ObjectId#fromRaw(ByteBuffer) to read object ids from byte buffers.

Change-Id: Ia3b244005e4d9a613294f5ad9dab3b8e7bc3d7df

6 weeks agoRemove unused API warning filters 48/1200148/1
Matthias Sohn [Wed, 28 Aug 2024 15:15:19 +0000 (17:15 +0200)]
Remove unused API warning filters

Change-Id: If5cfd8963db0699669be3594e844e14d38f97943

6 weeks agoObjectDirectoryTest: ensure WindowCursor is closed 47/1200147/1
Matthias Sohn [Wed, 28 Aug 2024 15:12:41 +0000 (17:12 +0200)]
ObjectDirectoryTest: ensure WindowCursor is closed

Change-Id: I75b7d36181a0d404d4e3dca17b9e436892d97b42

6 weeks agoPackExtBlockCacheTableTest: fix empty block warning 46/1200146/1
Matthias Sohn [Wed, 28 Aug 2024 15:10:04 +0000 (17:10 +0200)]
PackExtBlockCacheTableTest: fix empty block warning

Change-Id: I35e7527c6c555cd57fce14889412fa2fd6beab88

6 weeks agoPackExtBlockCacheTableTest: suppress unchecked conversion warnings 45/1200145/1
Matthias Sohn [Wed, 28 Aug 2024 15:09:16 +0000 (17:09 +0200)]
PackExtBlockCacheTableTest: suppress unchecked conversion warnings

Change-Id: I5fcad7a824c4a320683d11da52c4e2035231f85d

6 weeks agoPackObjectSizeIndexV1: fix boxing warnings 44/1200144/1
Matthias Sohn [Wed, 28 Aug 2024 14:13:42 +0000 (16:13 +0200)]
PackObjectSizeIndexV1: fix boxing warnings

Change-Id: I25e6194fb8bf09dcac1613cec8349c3893a4f81a

6 weeks agoPackExtBlockCacheTableTest: suppress boxing warning on test class 43/1200143/1
Matthias Sohn [Wed, 28 Aug 2024 14:10:39 +0000 (16:10 +0200)]
PackExtBlockCacheTableTest: suppress boxing warning on test class

Change-Id: Ie9d5da0c065ba0118927d530ed589952fb3b2c2b

6 weeks agoDfsBlockCacheConfigTest: suppress boxing warning on test class 42/1200142/1
Matthias Sohn [Wed, 28 Aug 2024 14:09:38 +0000 (16:09 +0200)]
DfsBlockCacheConfigTest: suppress boxing warning on test class

Change-Id: Ibe7edc5e53c3d467e0e6144a3f8a32989f1ac6af

6 weeks agoSuppress non-externalized string warnings 41/1200141/1
Matthias Sohn [Wed, 28 Aug 2024 14:08:04 +0000 (16:08 +0200)]
Suppress non-externalized string warnings

for texts which don't need to be translatable.

Change-Id: Iacac5df9525ddbc9942b7c440450b6aad4864135

6 weeks agoUpdate jakarta.servlet:jakarta.servlet-api to 6.1.0 38/1200138/2
Matthias Sohn [Wed, 28 Aug 2024 13:22:42 +0000 (15:22 +0200)]
Update jakarta.servlet:jakarta.servlet-api to 6.1.0

Change-Id: Ie95e0247e6a23a16343e0f644d613dfe95fd2d1e

6 weeks agoUpdate org.apache.commons:commons-compress to 1.27.1 37/1200137/2
Matthias Sohn [Wed, 28 Aug 2024 12:59:04 +0000 (14:59 +0200)]
Update org.apache.commons:commons-compress to 1.27.1

Change-Id: Ibd48bfe5ec3fdd3d52d755dc4881e013aae21d5d

6 weeks agoUpdate org.tukaani:xz to 1.10 36/1200136/1
Matthias Sohn [Wed, 28 Aug 2024 11:55:15 +0000 (13:55 +0200)]
Update org.tukaani:xz to 1.10

Change-Id: Ibd565d4d4e5ef0dd32514fdc6d73b44c25aaa27f

6 weeks agoUpdate org.assertj:assertj-core to 3.26.3 35/1200135/1
Matthias Sohn [Wed, 28 Aug 2024 11:43:12 +0000 (13:43 +0200)]
Update org.assertj:assertj-core to 3.26.3

Change-Id: I37816b1700bbcd102eb5b1b2591ba493edea4b36

7 weeks agoUpdate org.apache.commons:commons-lang3 to 3.16.0 34/1200134/1
Matthias Sohn [Wed, 28 Aug 2024 09:40:37 +0000 (11:40 +0200)]
Update org.apache.commons:commons-lang3 to 3.16.0

Change-Id: I7ec0cf1090aab26c1b1f70f816963fba63405034

7 weeks agoUpdate bytebuddy to 1.15.0 93/1199793/1
Matthias Sohn [Wed, 28 Aug 2024 00:05:00 +0000 (02:05 +0200)]
Update bytebuddy to 1.15.0

Change-Id: Idec6369bb5da997e532b912c2984b51e77a3ac0d

7 weeks agoUpdate commons-logging:commons-logging to 1.3.4 92/1199792/1
Matthias Sohn [Tue, 27 Aug 2024 23:53:53 +0000 (01:53 +0200)]
Update commons-logging:commons-logging to 1.3.4

Change-Id: I3dba27df9425484fdc630b067ddb19a2425aa891

7 weeks agoUpdate commons-codec:commons-codec to 1.17.1 91/1199791/1
Matthias Sohn [Tue, 27 Aug 2024 23:47:45 +0000 (01:47 +0200)]
Update commons-codec:commons-codec to 1.17.1

Change-Id: Ie78b1479ec95632981033342e65d546fc7bd905d

7 weeks agoUpdate jetty to 12.0.12 90/1199790/2
Matthias Sohn [Wed, 28 Aug 2024 06:49:51 +0000 (08:49 +0200)]
Update jetty to 12.0.12

Change-Id: I8b4381fcd067280050f31d6b8526c9f409244b55

7 weeks agoPrepare 7.0.0-SNAPSHOT builds 89/1199789/1
Matthias Sohn [Tue, 27 Aug 2024 23:50:51 +0000 (01:50 +0200)]
Prepare 7.0.0-SNAPSHOT builds

Change-Id: Ifa0a549e9551a2016241169e1c1e9052174c49d1

7 weeks agoDfsPackFile: re-add metrics for bitmap index loads 01/1200101/2
Sam Delmerico [Tue, 27 Aug 2024 20:27:35 +0000 (13:27 -0700)]
DfsPackFile: re-add metrics for bitmap index loads

The calculations for readBitmapIdxBytes and readBitmapIdxMicros
metrics were unintentionally removed in
https://gerrithub.io/c/eclipse-jgit/jgit/+/1177262, so this change
adds those metrics back.

Change-Id: I7ac7769acd092680933a27b2b3e70dd67690cfbf

7 weeks agoJGit v7.0.0.202408271414-rc1 87/1199787/1 v7.0.0.202408271414-rc1
Matthias Sohn [Tue, 27 Aug 2024 14:15:14 +0000 (16:15 +0200)]
JGit v7.0.0.202408271414-rc1

Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Change-Id: I969947a7c5fef72ed0c2f50e96a60787474f9906

7 weeks agoMerge branch 'master' into stable-7.0 84/1199784/1
Matthias Sohn [Tue, 27 Aug 2024 13:13:37 +0000 (15:13 +0200)]
Merge branch 'master' into stable-7.0

* master:
  DfsReaderIoStats: getters to object size index micros/bytes
  Do not set headers if response is already committed
  AmazonS3: Ensure SAXParserFactory sets valid/expected input params
  Signing: refactor interfaces
  Add a missing license header
  LockFile: Retry lock creation if parent dirs were removed
  GpgConfig: Add missing @since
  DfsReaderIoStats: Order fields and methods consistently

Change-Id: I81bf15379c25e3ba69dda222c6980648fff07ec5

7 weeks agoDfsReaderIoStats: getters to object size index micros/bytes 56/1199756/2
Ivan Frade [Tue, 20 Aug 2024 19:54:04 +0000 (12:54 -0700)]
DfsReaderIoStats: getters to object size index micros/bytes

These properties of the stats object don't have a getter and it is
required to export those values in logs.

Change-Id: I7f91a38ee4d02668aff1cbc8424ea669cdb1d2f7

7 weeks agoMerge branch 'stable-6.10' 82/1199782/1
Matthias Sohn [Tue, 27 Aug 2024 08:52:27 +0000 (10:52 +0200)]
Merge branch 'stable-6.10'

* stable-6.10:
  AmazonS3: Ensure SAXParserFactory sets valid/expected input params
  LockFile: Retry lock creation if parent dirs were removed

Change-Id: I599f698f812e11ae37843cac2333c9971ec30dd8

7 weeks agoDo not set headers if response is already committed 96/1199396/2
Max Haslbeck [Tue, 13 Aug 2024 11:16:53 +0000 (13:16 +0200)]
Do not set headers if response is already committed

This fixes issues when the response headers were already set and sent
to the client. In all other cases this is a no-op.

Change-Id: Ifb429e78f721cc514bb6eb1a3ef3412425cd2f1c
Signed-off-by: Max Haslbeck <haslbeck@google.com>
7 weeks agoAmazonS3: Ensure SAXParserFactory sets valid/expected input params 81/1199781/2
Matthias Sohn [Mon, 26 Aug 2024 23:31:44 +0000 (01:31 +0200)]
AmazonS3: Ensure SAXParserFactory sets valid/expected input params

Change Ie8a9d411fc19e8b7bf86c0b4df0b02153a0e9444 broke setting
valid/expected input parameters for the XML parser. This can be fixed
by calling SaxParserFactory#setNamespaceAware, see [1]. Also see earlier
fix in [2].

[1] https://stackoverflow.com/questions/24891323/namespace-handling-with-sax-in-java
[2] I05e993032ab3a6afb78634290b578ebc73cf1cbd

Bug: jgit-87
Change-Id: Id4e9eebac8d9de81e5d48a608066db3cc862e15c

7 weeks agoSigning: refactor interfaces 21/1199821/3
Thomas Wolf [Tue, 20 Aug 2024 20:41:45 +0000 (22:41 +0200)]
Signing: refactor interfaces

This is a big API-breaking change cleaning up the signing interfaces.

Initially, these interfaces were GPG/OpenPGP-specific. When EGit added
new signers and signature verifiers that called an external GPG
executable, they were found inadequate and were extended to be able to
pass in the GpgConfig to get access to the "gpg.program" setting.

With the introduction of X.509 S/MIME signing, it was discovered that
the interfaces were still not quite adequate, and the "Gpg" prefix on
the class names were confusing.

Since 7.0 is a major version bump, I'm taking this chance to overhaul
these interfaces from ground up.

For signing, there is a new Signer interface. With it goes a
SignerFactory SPI interface, and a final Signers class managing the
currently set signers. By default, signers for the different signature
types are created from the signer factories, which are discovered via
the ServiceLoader. External code can install its own signers, overriding
the default factories.

For signature verification, exactly the same mechanism is used.

This simplifies the setup of signers and signature verifiers, and makes
it all more regular. Signer instances just get a byte[] to sign and
don't have to worry about ObjectBuilders at all. SignatureVerifier
instances also just get the data and signature as byte[] and don't have
to worry about extracting the signature from a commit or tag, or about
what kind of signature it is.

Both Signers and SignatureVerifiers always get passed the Repository
and the GpgConfig. The repository will be needed in an implementation
for SSH signatures because gpg.ssh.* configs may need to be loaded
explicitly, and some of those values need the current workspace
location.

For signature verification, there is exactly one place in core JGit in
SignatureVerifiers that extracts signatures, determines the signature
type, and then calls the right signature verifier.

Change RevTag to recognize all signature types known in git (GPG, X509,
and SSH).

Change-Id: I26d2731e7baebb38976c87b7f328b63a239760d5
Signed-off-by: Thomas Wolf <twolf@apache.org>
7 weeks agoAdd a missing license header 91/1199991/1
Thomas Wolf [Thu, 22 Aug 2024 21:11:39 +0000 (23:11 +0200)]
Add a missing license header

Change-Id: Iccb922ea73b0bfd6360ea2182b88c520a951a0a2
Signed-off-by: Thomas Wolf <twolf@apache.org>
7 weeks agoLockFile: Retry lock creation if parent dirs were removed 25/1199825/2
Kaushik Lingarkar [Tue, 20 Aug 2024 22:50:20 +0000 (15:50 -0700)]
LockFile: Retry lock creation if parent dirs were removed

In the small window between creation of the lock file's parent dirs and
the lock file itself, the parent dirs may be cleaned by an external
process packing refs in the repository. When this scenario occurs, retry
creating the lock file (along with its parent dirs).

Change-Id: Id7ec60c3f7f373b59f1dc8de6b8fa6df6bdf2570
Signed-off-by: Kaushik Lingarkar <quic_kaushikl@quicinc.com>
7 weeks agoGpgConfig: Add missing @since 20/1199820/2
Thomas Wolf [Tue, 20 Aug 2024 20:40:10 +0000 (22:40 +0200)]
GpgConfig: Add missing @since

Change-Id: Ie56e7d8f2defe10a87565056a1763288d5b1e1a6
Signed-off-by: Thomas Wolf <twolf@apache.org>
7 weeks agoPrepare 7.0.0-SNAPSHOT builds
Matthias Sohn [Wed, 21 Aug 2024 14:37:28 +0000 (16:37 +0200)]
Prepare 7.0.0-SNAPSHOT builds

Change-Id: I07b258a9f94823c9c390daf6e1d3034ca5ace81f

8 weeks agoJGit v7.0.0.202408202050-m3 76/1199776/1
Matthias Sohn [Tue, 20 Aug 2024 20:51:02 +0000 (22:51 +0200)]
JGit v7.0.0.202408202050-m3

Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Change-Id: I44280658582c23ca0d9b85c4c24a1c2e7b82c6d8

8 weeks agoDfsReaderIoStats: Order fields and methods consistently 55/1199755/1
Ivan Frade [Tue, 20 Aug 2024 18:56:41 +0000 (11:56 -0700)]
DfsReaderIoStats: Order fields and methods consistently

As fields and getters were added, we didn't respect the (hard to see)
existing order.

Reorder with the following criteria:

Methods:
 xCacheHits() (for all indexes in index order),
 xCount()     (same),
 xBytes()     (same),
 xMicros()    (same).

Index order: primary, reverse, bitmap, commit-graph, object-size

Change-Id: I28f1d8121070d4357d566e3683947a26ceb3ba04

8 weeks agoJGit v7.0.0.202408201547-m3 73/1199473/1 v7.0.0.202408201547-m3
Matthias Sohn [Tue, 20 Aug 2024 15:47:36 +0000 (17:47 +0200)]
JGit v7.0.0.202408201547-m3

Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Change-Id: Ic04bf96a04e38da82a7ff41334db44891f02419b

8 weeks agoJGit v7.0.0.202409201410-m3 71/1199471/1 v7.0.0.202409201410-m3
Matthias Sohn [Tue, 20 Aug 2024 14:13:24 +0000 (16:13 +0200)]
JGit v7.0.0.202409201410-m3

Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Change-Id: If35e97f9fb415669bac6dfa10ac35b509b3ee921

8 weeks agoMerge branch 'master' into stable-7.0 70/1199470/1
Matthias Sohn [Tue, 20 Aug 2024 13:51:15 +0000 (15:51 +0200)]
Merge branch 'master' into stable-7.0

* master:
  Update tycho to 4.0.8
  Update org.eclipse.dash:license-tool-plugin to 1.1.0
  [ssh] Bump Apache MINA sshd 2.13.1 -> 2.13.2
  ConfigConstants: Add missing @since 7.0
  Fix "Comparison of narrow type with wide type in loop condition"
  ObjectWalk: Remove duplicated word "the" in class documentation
  RepoProject: read the 'dest-branch' attribute of a project
  Make RepoProject#setUpstream public
  RepoCommand: Add error to ManifestErrorException
  RepoCommand: Copy manifest upstream into .gitmodules ref field
  RepoProject: read the "upstream" attribute of a project
  JGit v5.13.3.202401111512-r

Change-Id: Ic40667e3a79b1f2a91a6a7278f2ac8bc1bdb2334

8 weeks agoMerge branch 'stable-6.10' 65/1199465/3
Matthias Sohn [Tue, 20 Aug 2024 13:26:41 +0000 (15:26 +0200)]
Merge branch 'stable-6.10'

* stable-6.10:
  Update tycho to 4.0.8
  Update org.eclipse.dash:license-tool-plugin to 1.1.0
  Fix "Comparison of narrow type with wide type in loop condition"
  RepoProject: read the 'dest-branch' attribute of a project
  Make RepoProject#setUpstream public
  RepoCommand: Add error to ManifestErrorException
  RepoCommand: Copy manifest upstream into .gitmodules ref field
  RepoProject: read the "upstream" attribute of a project
  JGit v5.13.3.202401111512-r

Change-Id: If67534f8954703e107e8477456325af3d868612c

8 weeks agoMerge branch 'stable-6.9' into stable-6.10 64/1199464/3
Matthias Sohn [Tue, 20 Aug 2024 13:21:43 +0000 (15:21 +0200)]
Merge branch 'stable-6.9' into stable-6.10

* stable-6.9:
  Update tycho to 4.0.8
  Update org.eclipse.dash:license-tool-plugin to 1.1.0
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: I68e73b6e0c6cda003bc18b3e82266c1d8a1f183e

8 weeks agoMerge branch 'stable-6.8' into stable-6.9 63/1199463/3
Matthias Sohn [Tue, 20 Aug 2024 13:20:37 +0000 (15:20 +0200)]
Merge branch 'stable-6.8' into stable-6.9

* stable-6.8:
  Update tycho to 4.0.8
  Update org.eclipse.dash:license-tool-plugin to 1.1.0
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: I29478165b8304316713ffd6a4c6d669dd5760c88

8 weeks agoMerge branch 'stable-6.7' into stable-6.8 62/1199462/3
Matthias Sohn [Tue, 20 Aug 2024 12:56:04 +0000 (14:56 +0200)]
Merge branch 'stable-6.7' into stable-6.8

* stable-6.7:
  Update tycho to 4.0.8
  Update org.eclipse.dash:license-tool-plugin to 1.1.0
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: I513a1cbb2bfd002d125b04f7944a625ca52decea

8 weeks agoMerge branch 'stable-6.6' into stable-6.7 61/1199461/3
Matthias Sohn [Tue, 20 Aug 2024 12:54:08 +0000 (14:54 +0200)]
Merge branch 'stable-6.6' into stable-6.7

* stable-6.6:
  Update tycho to 4.0.8
  Update org.eclipse.dash:license-tool-plugin to 1.1.0
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: I79bb467325e5c09d93e0220be8233ba0d91562cb

8 weeks agoMerge branch 'stable-6.5' into stable-6.6 60/1199460/3
Matthias Sohn [Tue, 20 Aug 2024 12:28:33 +0000 (14:28 +0200)]
Merge branch 'stable-6.5' into stable-6.6

* stable-6.5:
  Update org.eclipse.dash:license-tool-plugin to 1.1.0
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: I54d1776b3ea096d458b8005e70c02e7edef71c2b

8 weeks agoUpdate tycho to 4.0.8 67/1199467/1
Matthias Sohn [Tue, 20 Aug 2024 12:25:31 +0000 (14:25 +0200)]
Update tycho to 4.0.8

Change-Id: I0d6b99c07734bed166a16d7ce489c34286f29c82

8 weeks agoMerge branch 'stable-6.4' into stable-6.5 59/1199459/2 stable-6.5
Matthias Sohn [Sun, 18 Aug 2024 16:35:29 +0000 (18:35 +0200)]
Merge branch 'stable-6.4' into stable-6.5

* stable-6.4:
  Update org.eclipse.dash:license-tool-plugin to 1.1.0
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: Ieae366586ac4c449a4f9454dc4b63513e7573776

8 weeks agoMerge branch 'stable-6.3' into stable-6.4 58/1199458/2 stable-6.4
Matthias Sohn [Sun, 18 Aug 2024 16:33:59 +0000 (18:33 +0200)]
Merge branch 'stable-6.3' into stable-6.4

* stable-6.3:
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: Ia9eefc4004ca01d97ff0c4dae9a6220d48e76b88

2 months agoUpdate org.eclipse.dash:license-tool-plugin to 1.1.0 66/1199466/1
Matthias Sohn [Wed, 14 Aug 2024 21:17:13 +0000 (23:17 +0200)]
Update org.eclipse.dash:license-tool-plugin to 1.1.0

Change-Id: Idb5c74f75110edc35e8a89de52aca8392acb297f

2 months agoMerge branch 'stable-6.2' into stable-6.3 57/1199457/1 stable-6.3
Matthias Sohn [Wed, 14 Aug 2024 08:51:16 +0000 (10:51 +0200)]
Merge branch 'stable-6.2' into stable-6.3

* stable-6.2:
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: I6bce3a4d64a617d74d0cbf4e79887b067e1ea2c5

2 months agoMerge branch 'stable-6.1' into stable-6.2 56/1199456/1 stable-6.2
Matthias Sohn [Wed, 14 Aug 2024 07:25:43 +0000 (09:25 +0200)]
Merge branch 'stable-6.1' into stable-6.2

* stable-6.1:
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: Ib536297ef20a75b36cff8f41d57855913f7d7f26

2 months agoMerge branch 'stable-6.0' into stable-6.1 55/1199455/1 stable-6.1
Matthias Sohn [Wed, 14 Aug 2024 07:24:40 +0000 (09:24 +0200)]
Merge branch 'stable-6.0' into stable-6.1

* stable-6.0:
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: I23afe07585ff17ad8486cbe2c667f6acbe912542

2 months agoMerge branch 'stable-5.13' into stable-6.0 54/1199454/1 stable-6.0
Matthias Sohn [Wed, 14 Aug 2024 06:57:35 +0000 (08:57 +0200)]
Merge branch 'stable-5.13' into stable-6.0

* stable-5.13:
  Fix "Comparison of narrow type with wide type in loop condition"
  JGit v5.13.3.202401111512-r

Change-Id: Ib15aa83972d81986959889dc03e943fe55c78873

2 months ago[ssh] Bump Apache MINA sshd 2.13.1 -> 2.13.2 80/1199280/1
Thomas Wolf [Sat, 10 Aug 2024 17:36:50 +0000 (19:36 +0200)]
[ssh] Bump Apache MINA sshd 2.13.1 -> 2.13.2

Apache MINA 2.13.[01] had a bug in the new sntrup761x25519-sha256 KEX
exchange that was fixed in 2.13.2.[1]

This is the only upstream code change. Bump the lower bound in the
MANIFEST.MFs to 2.13.2 to avoid we ever use the broken 2.13.[01].

[1] https://github.com/apache/mina-sshd/issues/525

Change-Id: I5904f9826f99c46b50abc634153f90035646ce50
Signed-off-by: Thomas Wolf <twolf@apache.org>
2 months agoConfigConstants: Add missing @since 7.0 79/1199279/1
Thomas Wolf [Sat, 10 Aug 2024 17:27:07 +0000 (19:27 +0200)]
ConfigConstants: Add missing @since 7.0

Change-Id: I1ea31c1f0735b7c8fd09fbedc413d613e4baa803
Signed-off-by: Thomas Wolf <twolf@apache.org>
2 months agoFix "Comparison of narrow type with wide type in loop condition" 67/1198667/1 stable-5.13
Matthias Sohn [Fri, 9 Aug 2024 09:53:01 +0000 (11:53 +0200)]
Fix "Comparison of narrow type with wide type in loop condition"

This issue was detected by a GitHub CodeQL security scan run on JGit
source code.

Description of the error raised by the security scan:
"In a loop condition, comparison of a value of a narrow type with a
value of a wide type may always evaluate to true if the wider value is
sufficiently large (or small). This is because the narrower value may
overflow. This can lead to an infinite loop."

Fix this by using type `long` for the local variable `done`.

Change-Id: Ibd4f71299e3f2e40d4331227bd143569a4264d8c

2 months agoObjectWalk: Remove duplicated word "the" in class documentation 45/1197545/3
Sergey Zakharov [Sun, 21 Jul 2024 13:06:19 +0000 (16:06 +0300)]
ObjectWalk: Remove duplicated word "the" in class documentation

Change-Id: I0ca0b5fc65b5cafc768a053b1de40aea9f14231c

2 months agoMerge branch 'stable-7.0' 65/1198665/1
Matthias Sohn [Thu, 8 Aug 2024 08:09:19 +0000 (10:09 +0200)]
Merge branch 'stable-7.0'

* stable-7.0:
  Prepare 7.0.0-SNAPSHOT builds
  JGit v7.0.0.202407311305-m2

Change-Id: I5052f81b453b9a3b2836e7eb15a58f2ff169956f

2 months agoPrepare 7.0.0-SNAPSHOT builds 63/1198663/1
Matthias Sohn [Thu, 1 Aug 2024 12:19:32 +0000 (14:19 +0200)]
Prepare 7.0.0-SNAPSHOT builds

Change-Id: Ic84217b6e8fb43e78b622883eb670ee135c75bbb

2 months agoJGit v7.0.0.202407311305-m2 58/1198658/1 v7.0.0.202407311305-m2
Matthias Sohn [Wed, 31 Jul 2024 13:04:38 +0000 (15:04 +0200)]
JGit v7.0.0.202407311305-m2

Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Change-Id: If51ca5e1949fc825146145e45271207d07169474

2 months agoMerge branch 'master' into stable-7.0 57/1198657/1
Matthias Sohn [Wed, 31 Jul 2024 13:02:55 +0000 (15:02 +0200)]
Merge branch 'master' into stable-7.0

* master:
  Lib: Fix ssh value for gpg.format throwing an IllegalArgumentException
  DfsPackFile: Abstract the loading of pack indexes
  PackExtBlockCacheTable: spread extensions over multiple dfs tables
  PackObjectSizeIndex: Read all bytes and use the byte[] directly
  DfsPackFile: Do not set local reverse index ref from cache callback
  Add 4.33 target platform for Eclipse 2024-09
  DfsBlockCacheTable: extract stats get* methods to interface
  Add worktrees read support
  DfsBlockCacheConfig: support configurations for dfs cache tables per extensions
  ssh: Remove .orig file
  DfsPackFile: Enable/disable object size index via DfsReaderOptions

Change-Id: Ie123851a784e8a0f7197543898c0c8fb920e4f31

2 months agoLib: Fix ssh value for gpg.format throwing an IllegalArgumentException 35/1197035/2
granny [Tue, 2 Jul 2024 22:15:37 +0000 (15:15 -0700)]
Lib: Fix ssh value for gpg.format throwing an IllegalArgumentException

Git version 2.34 and later supports signing commits and tags with SSH keys. This means gpg.format now supports "ssh" as a value.

Change-Id: Iee1e5a68a816bec149a17a73a6916d2884a54163

2 months agoDfsPackFile: Abstract the loading of pack indexes 49/1192949/20
Ivan Frade [Wed, 10 Apr 2024 20:52:56 +0000 (13:52 -0700)]
DfsPackFile: Abstract the loading of pack indexes

DfsPackFile assumes that the indexes are stored in file streams and
their references need to be cached in DFS. This doesn't allow us to
experiment other storage options, like key-value databases. In these
experiments not all indexes are together in the same storage.

Define an interface per index to load it, so implementors can focus on
the specifics of their index. Put them together in the IndexFactory
interface. The implementation of the IndexFactory chooses the right
combination of storages.

At the moment we do this only for primary and reverse
indexes. Following changes can do the same for other indexes.

Change-Id: Icf790d8ba64b34dbe984759f1c6d8ec702554149

2 months agoMerge "PackExtBlockCacheTable: spread extensions over multiple dfs tables"
Ivan Frade [Tue, 30 Jul 2024 15:22:45 +0000 (15:22 +0000)]
Merge "PackExtBlockCacheTable: spread extensions over multiple dfs tables"

2 months agoPackExtBlockCacheTable: spread extensions over multiple dfs tables 64/1196164/25
Laura Hamelin [Fri, 7 Jun 2024 23:11:21 +0000 (16:11 -0700)]
PackExtBlockCacheTable: spread extensions over multiple dfs tables

The existing DfsBlockCache uses a single table for all
extensions (idx, ridx, ...).

This change introduces an implementation of the table
interface that can keep extensions in different cache
tables.
This selects the appropriate cache to use for a specific
PackExt or DfsStreamKey's PackExt type, allowing the
separation of entries from different pack types to help
limit churn in cache caused by entries of differing sizes.

This is especially useful in fine-tuning caches and
influencing interactions by extension type.
For example, a table holding INDEX types only will
not influence evictions of other PackExt types and
vice versa.

The PackExtBlockCacheTable allowing setting the
underlying DfsBlockCacheTables and mappinh directly,
letting users implement and use custom DfsBlockCacheTables.

Change-Id: Icee7b644ef6b600aa473d35645469d6aa1bce345