]> source.dussan.org Git - jgit.git/log
jgit.git
9 days agoMerge branch 'stable-6.10' into stable-7.0 55/1203555/1
Matthias Sohn [Mon, 11 Nov 2024 22:39:12 +0000 (23:39 +0100)]
Merge branch 'stable-6.10' into stable-7.0

* stable-6.10:
  Replace custom encoder Constants#encodeASCII by JDK implementation
  Replace custom encoder `Constants#encode` by JDK implementation
  Add `numberOfPackFilesAfterBitmap` to RepoStatistics
  Enhance CommitBuilder#parent to tolerate null parent

Change-Id: If05b0d474c728b54cab9af2b7416be30b2754d1b

11 days agoReplace custom encoder Constants#encodeASCII by JDK implementation 48/1203548/3
Matthias Sohn [Fri, 6 Sep 2024 11:42:27 +0000 (13:42 +0200)]
Replace custom encoder Constants#encodeASCII by JDK implementation

Ensure that the method still throws an IllegalArgumentException for
malformed input or if the String contains unmappable characters.

Change-Id: I6a340aa1af60c315272ff13b6bf2041ba30c94ca
(cherry picked from commit 0fd76114e3436ac635641d06371fd8833179312d)

11 days agoReplace custom encoder `Constants#encode` by JDK implementation 47/1203547/3
Matthias Sohn [Fri, 6 Sep 2024 10:26:44 +0000 (12:26 +0200)]
Replace custom encoder `Constants#encode` by JDK implementation

Using the implementation provided in the JDK since Java 1.6 by
`String#getBytes(Charset)` reduces JGit maintenance effort and improves
performance.

The method Constants#encode was implemented when JGit still used Java
1.5. See [1].

Kudos to Marcin for proposing to use this improvement in RefWriter [2].
I think it should be used generally.

[1] https://repo.or.cz/jgit.git?a=commit;h=bfa3da225f198b19061158499b1135aff07d85b3
[2] https://eclipse.gerrithub.io/c/eclipse-jgit/jgit/+/1195180

Also-By: Marcin Czech <maczech@gmail.com>
Change-Id: I361ed6286b98351a315b8a8ffc3cb845831d35b2
(cherry picked from commit e5d2898997462e0f2409c09497ab62c6cda2dbaf)

13 days agoAdd `numberOfPackFilesAfterBitmap` to RepoStatistics 35/1203735/3
Jacek Centkowski [Fri, 20 Sep 2024 06:47:13 +0000 (08:47 +0200)]
Add `numberOfPackFilesAfterBitmap` to RepoStatistics

Introduce a `numberOfPackFilesAfterBitmap` that contains the number of
packfiles created since the latest bitmap generation.

Notes:
* the `repo.getObjectDatabase().getPacks()` that obtains the list of
  packs (in the existing `getStatistics` function) uses
  `PackDirectory.scanPacks` that boils down to call
  `PackDirectory.scanPacksImpl` which is sorting packs prior returning
  them therefore the `numberOfPackFilesAfterBitmap` is just all packs
  before the one that has bitmap attached
* the improved version of `packAndPrune` function (one that skips
  non-existent packfiles) was introduced for testing

Change-Id: I608011462f104fc002ac527aa405f492a8a4b0c2

13 days agoEnhance CommitBuilder#parent to tolerate null parent 46/1203546/1
Matthias Sohn [Thu, 7 Nov 2024 22:35:13 +0000 (23:35 +0100)]
Enhance CommitBuilder#parent to tolerate null parent

Change-Id: Ifdeafd040bca8331804c3e7568da0bee5cbd01df

2 weeks agoMerge branch 'stable-6.10' into stable-7.0 40/1203540/1
Matthias Sohn [Tue, 5 Nov 2024 00:13:36 +0000 (01:13 +0100)]
Merge branch 'stable-6.10' into stable-7.0

* stable-6.10:
  ResolveMerger: Allow setting the TreeWalk AttributesNodeProvider
  Add Union merge strategy support

Change-Id: I0d768d793effd1deabb4807446a4f8c10a82ad74

2 weeks agoResolveMerger: Allow setting the TreeWalk AttributesNodeProvider 78/1203278/4
Nasser Grainawi [Tue, 29 Oct 2024 23:22:15 +0000 (17:22 -0600)]
ResolveMerger: Allow setting the TreeWalk AttributesNodeProvider

When a merger is created without a Repository, no
AttributesNodeProvider is created in the TreeWalk. Since mergers are
often created with a custom ObjectInserter and no repo, they skip any
lookups of attributes from any of the gitattributes files (within a
tree, in the repo info/ dir, or user/global). Since there are
potentially merge-affecting attributes in those files, callers might
want to use both a custom ObjectInserter and an AttributesNodeProvider.

Change-Id: I7997309003bbb598e1002261b3be7f2cc52066c8

2 weeks agoAdd Union merge strategy support 79/1203079/4
Nasser Grainawi [Tue, 22 Oct 2024 02:26:35 +0000 (20:26 -0600)]
Add Union merge strategy support

Allow users to specify the `union` strategy in their .gitattributes file
in order to keep lines from both versions of a conflict [1].

[1] https://git-scm.com/docs/gitattributes.html#Documentation/gitattributes.txt-union

Change-Id: I74cecceb2db819a8551b95fb10dfe7c2b160b709

4 weeks agoMerge branch 'stable-6.10' into stable-7.0 51/1202351/1
Matthias Sohn [Wed, 23 Oct 2024 20:14:54 +0000 (22:14 +0200)]
Merge branch 'stable-6.10' into stable-7.0

* stable-6.10:
  Update Apache sshd to 2.14.0
  LfsConnectionFactoryTest: remove unnecessary cast
  JSchSshProtocol2Test: remove unnecessary cast
  ApacheSshProtocol2Test: remove unnecessary cast
  NoteMapMerger: remove unnecessary cast

Change-Id: I8fca74d88efadc827955b0a5032e6fbd72ce3e0d

6 weeks agoUpdate Apache sshd to 2.14.0 49/1202349/1
Matthias Sohn [Wed, 9 Oct 2024 00:04:55 +0000 (02:04 +0200)]
Update Apache sshd to 2.14.0

This fixes an 'incorrect signature' error when trying to use the keys
generated by SSHD during server init with an OpenSSH client.

This also includes a few other changes since 2.13.2:
* GH-524 Performance improvements
* GH-533 Fix multi-step authentication
* GH-582 Fix filtering in NamedFactory
* GH-587 Prevent NullPointerExceptionon closed channel in NettyIoSession
* GH-590 Better support for FIPS
* GH-597 Pass on Charset in ClientSession.executeRemoteCommand()

https://github.com/apache/mina-sshd/releases/tag/sshd-2.14.0

Change-Id: I76909fd56e70ee4ce16a075bd40ed6b2a609cc47

6 weeks agoLfsConnectionFactoryTest: remove unnecessary cast 48/1202348/1
Matthias Sohn [Mon, 16 Sep 2024 06:36:31 +0000 (08:36 +0200)]
LfsConnectionFactoryTest: remove unnecessary cast

Change-Id: I08ed51b13aa269a4f6b64ac723b6bd7649c6591c

6 weeks agoJSchSshProtocol2Test: remove unnecessary cast 47/1202347/1
Matthias Sohn [Mon, 16 Sep 2024 06:35:30 +0000 (08:35 +0200)]
JSchSshProtocol2Test: remove unnecessary cast

Change-Id: Id3767f43cbbfd0c05f9a7f0d5620943da874df92

6 weeks agoApacheSshProtocol2Test: remove unnecessary cast 46/1202346/1
Matthias Sohn [Mon, 16 Sep 2024 06:32:55 +0000 (08:32 +0200)]
ApacheSshProtocol2Test: remove unnecessary cast

Change-Id: Ie8e7b097e48342a9cda6873e8595146a1b3f1427

6 weeks agoNoteMapMerger: remove unnecessary cast 45/1202345/1
Matthias Sohn [Mon, 16 Sep 2024 06:30:39 +0000 (08:30 +0200)]
NoteMapMerger: remove unnecessary cast

Change-Id: I3be4963f506529bbadc5b6dfc0b625ee85effc1f

7 weeks agoMerge branch 'stable-6.10' into stable-7.0 85/1201685/1
Matthias Sohn [Thu, 26 Sep 2024 21:38:31 +0000 (23:38 +0200)]
Merge branch 'stable-6.10' into stable-7.0

* stable-6.10:
  AdvertisedRequestValidator: fix WantNotValidException caused by race

Change-Id: I22ec79d91136f8209a3799465db5593d83f7bea9

7 weeks agoMerge branch 'stable-6.9' into stable-6.10 84/1201684/1
Matthias Sohn [Thu, 26 Sep 2024 21:37:39 +0000 (23:37 +0200)]
Merge branch 'stable-6.9' into stable-6.10

* stable-6.9:
  AdvertisedRequestValidator: fix WantNotValidException caused by race

Change-Id: I662c7a76470cedf0d4c975c50c3981c1c86245f2

7 weeks agoMerge branch 'stable-6.8' into stable-6.9 83/1201683/1 stable-6.9
Matthias Sohn [Thu, 26 Sep 2024 21:37:14 +0000 (23:37 +0200)]
Merge branch 'stable-6.8' into stable-6.9

* stable-6.8:
  AdvertisedRequestValidator: fix WantNotValidException caused by race

Change-Id: Ia5a0a4f0e900d96fa638bb9f97988ac66f4b7068

7 weeks agoMerge branch 'stable-6.7' into stable-6.8 82/1201682/1 stable-6.8
Matthias Sohn [Thu, 26 Sep 2024 21:36:45 +0000 (23:36 +0200)]
Merge branch 'stable-6.7' into stable-6.8

* stable-6.7:
  AdvertisedRequestValidator: fix WantNotValidException caused by race

Change-Id: I1e485422608cf55373c1d86c4c0d50c9f9f49f20

7 weeks agoMerge branch 'stable-6.6' into stable-6.7 81/1201681/1 stable-6.7
Matthias Sohn [Thu, 26 Sep 2024 21:36:12 +0000 (23:36 +0200)]
Merge branch 'stable-6.6' into stable-6.7

* stable-6.6:
  AdvertisedRequestValidator: fix WantNotValidException caused by race

Change-Id: I5b7b097a4b57ec48a3ee20fc25cb0d080cc1af80

8 weeks agoAdvertisedRequestValidator: fix WantNotValidException caused by race 80/1201680/3 stable-6.6
Matthias Sohn [Tue, 24 Sep 2024 08:51:22 +0000 (10:51 +0200)]
AdvertisedRequestValidator: fix WantNotValidException caused by race

Fetch with protocol V2 failed under the following conditions
- fetch uses bidirectional protocol (git, ssh) which uses a shortcut
  to determine invalid wants
- not all wants are advertised
- race condition: wanted ref is updated during fetch by another thread
  after the thread serving upload-pack determined wants and before it
  checks not advertised wants

Fix this by calling
`new ReachableCommitRequestValidator().checkWants(up, wants)`
instead of throwing WantNotValidException in [1]
if this race happened in the same way like it's done for unidirectional
protocols (http) [2].

[1] https://github.com/eclipse-jgit/jgit/blob/stable-6.10/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java#L2002
[2] https://github.com/eclipse-jgit/jgit/blob/stable-6.10/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java#L2000

Bug: jgit-48
Change-Id: I32f28502923815dc49781aab5d810c9afbe7e7e6

2 months agoPrepare 7.0.1-SNAPSHOT builds 54/1200454/1
Matthias Sohn [Tue, 3 Sep 2024 19:41:34 +0000 (21:41 +0200)]
Prepare 7.0.1-SNAPSHOT builds

Change-Id: I5a6a9e398d8b81bf7bd0afbd6c82116d4472a349

2 months agoJGit v7.0.0.202409031743-r 51/1200451/1 v7.0.0.202409031743-r
Matthias Sohn [Tue, 3 Sep 2024 17:42:07 +0000 (19:42 +0200)]
JGit v7.0.0.202409031743-r

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

2 months agoRevert "Remove deprecated 50/1200450/1
Matthias Sohn [Tue, 3 Sep 2024 17:35:16 +0000 (19:35 +0200)]
Revert "Remove deprecated
LocalDiskRepositoryTestCase#create(boolean,boolean)"

This reverts commit 3682611cef41ade46cf5ac194f0674b46367a395.

Reason: removing this deprecated method caused a ton of warnings about
closing an already closed Repository when running tests.

Change-Id: I3e9f224c55c167f92dad39caabfab5e43cf54cfb

2 months agoRemove deprecated JschSession#getSftpChannel method 48/1200448/2
Matthias Sohn [Fri, 30 Aug 2024 20:21:03 +0000 (22:21 +0200)]
Remove deprecated JschSession#getSftpChannel method

Change-Id: I5b5d3cbc6b0e5f85df26fe6c288c973cf5609296

2 months agoRemove deprecated AutoLFInputStream constructors 47/1200447/2
Matthias Sohn [Fri, 30 Aug 2024 20:18:50 +0000 (22:18 +0200)]
Remove deprecated AutoLFInputStream constructors

Change-Id: I00241e45d947582886658fa528cc20a961fed9e6

2 months agoRemove deprecated RawParseUtils#UTF8_CHARSET 46/1200446/2
Matthias Sohn [Fri, 30 Aug 2024 20:17:23 +0000 (22:17 +0200)]
Remove deprecated RawParseUtils#UTF8_CHARSET

Change-Id: I4b3f1344f77a575b2d0e00462806eddb4e9a6b80

2 months agoRemove deprecated FS#setAsyncFileStoreAttributes method 45/1200445/2
Matthias Sohn [Fri, 30 Aug 2024 20:09:11 +0000 (22:09 +0200)]
Remove deprecated FS#setAsyncFileStoreAttributes method

Change-Id: Iea9f61fd65772ab247b382c93035e3c9974705aa

2 months agoFS, FS_Posix: remove deprecated #createNewFile(File) method 44/1200444/2
Matthias Sohn [Fri, 30 Aug 2024 20:07:17 +0000 (22:07 +0200)]
FS, FS_Posix: remove deprecated #createNewFile(File) method

Change-Id: Id34a0be998eee360e69f74b469c4990afa153c1b

2 months agoRemove deprecated lastModified methods using long 43/1200443/2
Matthias Sohn [Fri, 30 Aug 2024 19:59:53 +0000 (21:59 +0200)]
Remove deprecated lastModified methods using long

from
- FileUtils#lastModified
- FileUtils#setLastModified
- FS#getLastModifiedTime
- FS#lastModified
- FS#setLastModified
- FileTreeIterator.Entry#getEntryLastModified
- WorkingTreeIterator#getEntryLastModified
- WorkingTreeIterator.Entry#getEntryLastModified

Change-Id: I5073f05c32f8f626383a91048470c79332983121

2 months agoUserAgent: remove deprecated #getAgent, #hasAgent methods 42/1200442/2
Matthias Sohn [Fri, 30 Aug 2024 19:54:50 +0000 (21:54 +0200)]
UserAgent: remove deprecated #getAgent, #hasAgent methods

Change-Id: Ib53de6dabea7f73ecfde85cb30f49fa05ee48551

2 months agoRemove deprecated Transport#getFilterBlobLimit methods 41/1200441/2
Matthias Sohn [Fri, 30 Aug 2024 19:52:31 +0000 (21:52 +0200)]
Remove deprecated Transport#getFilterBlobLimit methods

Change-Id: Ia72cc228b0acaa8df8f405bd224916cc76eadd22

2 months agoRemove deprecated RefAdvertiser#send(Map<String, Ref>) method 40/1200440/2
Matthias Sohn [Fri, 30 Aug 2024 19:51:27 +0000 (21:51 +0200)]
Remove deprecated RefAdvertiser#send(Map<String, Ref>) method

Change-Id: Ifffcfa6bf9baf9f6879a5a7e0f05d317347983f6

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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

2 months 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>
2 months 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

2 months 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>
2 months 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>
3 months 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>
3 months 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>