Change Log Report

Total number of changed sets: 1

Changes between tags 'v4.11.0.201803080745-r' and 'v5.0.0.201806131550-r'

Total commits: 64
Total number of files changed: 128

Timestamp Author Details
2018-06-13 21:42:40 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v e729a83bd24bbc25f7ac209baee01f561fe218c8
org.eclipse.jgit.test/pom.xml v e729a83bd24bbc25f7ac209baee01f561fe218c8

JGit v5.0.0.201806131550-r

Change-Id: Ia2d548676217250593c3f0c383aec19e12e5e4a4
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-13 18:11:23 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v 94a585e6e87e09880e611a79585fb24090fee271
org.eclipse.jgit.test/pom.xml v 94a585e6e87e09880e611a79585fb24090fee271

JGit v5.0.0.201806131210-r

Change-Id: Iedccfcaf57c11822f1faf5d5195357de42b2a14e
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-09 02:01:59 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextTest.java v 5f8b6ebc9f6b3da733ff5b7ec8497312cd4d50e2

RawTextTest#testBinary: use array comparison to compare arrays

Change-Id: Iac1feadf24858a0bdf0cb224f16b34e9498fe3bb
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-08 17:45:00 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/api/BranchCommandTest.java v 62460b42b7a64513e3421aae17082fdc923faf95

Validate branch names on branch creation

Since v2.16.0-rc0~89^2~1 (branch: correctly reject
refs/heads/{-dash,HEAD}, 2017-11-14),
native git does not allow branch names
- refs/heads/HEAD
- starting with '-'

Bug: 535655
Change-Id: Ib1c4ec9ea844073901a4ebe6a29ff6cc8ae58e93
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-08 17:22:54 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefUpdateTest.java v 5f27032fb85694a093f827581216d4ffb99db68b

Use constant for ".lock"

Change-Id: Id65dc94c970ffd3ca3d3d4a5d57123c95d29e8af
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-05 15:31:07 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v cb0abf787e576d676fc703cde6153bf8c0e08c1d
org.eclipse.jgit.test/pom.xml v cb0abf787e576d676fc703cde6153bf8c0e08c1d

Prepare 5.0.0-SNAPSHOT builds

Change-Id: I9acca328146aa7100fbc1b457fcb1f8fd87cf52a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-06-05 13:10:10 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v ca57743a45162ea32ff0312b2f758720d1d1f356
org.eclipse.jgit.test/pom.xml v ca57743a45162ea32ff0312b2f758720d1d1f356

JGit v5.0.0.201806050710-rc3

Change-Id: Ic7a6a87dd3a21351e60fbf6cd330456adf1f6800
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-30 23:16:23 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v c473bbf8029743e54e890fcd66998ac011e83b9c
org.eclipse.jgit.test/pom.xml v c473bbf8029743e54e890fcd66998ac011e83b9c

Prepare 5.0.0-SNAPSHOT builds

Change-Id: I9c4a0465f8e85041d24da97f4b4c7ad5f5eed3e4
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-30 21:33:49 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v dbf091a7eeb9ecc51518bbf20239df50a302f3d9
org.eclipse.jgit.test/pom.xml v dbf091a7eeb9ecc51518bbf20239df50a302f3d9

JGit v5.0.0.201805301535-rc2

Change-Id: Ifad678794525c01838b03e52bada66e1c089c5ae
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-24 16:26:36 Thomas Wolf <thomas.wolf@paranor.ch> org.eclipse.jgit.test/tst/org/eclipse/jgit/api/FetchCommandTest.java v de21c58d03d9f54e0a80d358948517d3ea518312

Don't prune symbolic refs when fetch.prune = true

The canonical implementation also doesn't. Compare current
code in remote.c, function get_stale_heads_cb.[1] Not handling
symrefs in this case was introduced in canonical git in [2]
in 2008.

[1] https://github.com/git/git/blob/v2.17.0/remote.c#L2259
[2] https://github.com/git/git/commit/740fdd27f0

Bug: 533549
Change-Id: If348d56bb4a96b8aa7141f7e7b5a0d3dd4e7808b
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-05-23 06:54:52 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefUpdateTest.java v 5ff56d2ed1d034e816249288e485e3cfcc0e62af

RefUpdateTest: Refactor to not use deprecated Repository#getAllRefs

Change-Id: I157e62a0e1479d4bc95ef867e616ca8a30041759
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-05-23 01:54:32 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v 9ad70313818aad4a64a7d5d30c2c428948fb28de
org.eclipse.jgit.test/pom.xml v 9ad70313818aad4a64a7d5d30c2c428948fb28de

Prepare 5.0.0-SNAPSHOT builds

Change-Id: Ie343ccf37f46168041046500a2e19acc80814cfe
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-22 23:43:43 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v 812abefd58ed588b8aa8eadfb59993c084251e09
org.eclipse.jgit.test/pom.xml v 812abefd58ed588b8aa8eadfb59993c084251e09

JGit v5.0.0.201805221745-rc1

Change-Id: Ie2c35fab87f294b00f9754b07b60a848bf256b10
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-22 04:27:30 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/api/LogCommandTest.java v f6c4a492d06e0dd345679bfba3399dabbf778f41
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/TagCommandTest.java v f6c4a492d06e0dd345679bfba3399dabbf778f41
org.eclipse.jgit.test/tst/org/eclipse/jgit/gitrepo/RepoCommandTest.java v f6c4a492d06e0dd345679bfba3399dabbf778f41

Repository: Deprecate #peel method

Callers should use getRefDatabase().peel(ref) instead since it
doesn't swallow the IOException.

Adapt all trivial callers to user the alternative.

DescribeCommand still uses the deprecated method and is not adapted in
this change since it will require more refactoring to add handling of
the IOException.

Change-Id: I14d4a95a5e0570548753b9fc5c03d024dc3ff832
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-05-22 01:34:53 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/api/TagCommandTest.java v 1da2ff7242dfc6df4d470e8519bfd8267940791a

Repository: Deprecate getTags method

Callers should use getRefDatabase().getRefsByPrefix(R_TAGS) instead.

Adjust the tests accordingly.

Bug: 534731
Change-Id: Ib28ae365e42720268996ff46e34cae1745ad545c
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-05-16 22:23:51 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v 57971057545b5e15c718527da11e79f18db63137
org.eclipse.jgit.test/pom.xml v 57971057545b5e15c718527da11e79f18db63137

Prepare 5.0.0-SNAPSHOT builds

Change-Id: I65d7d74c6124507aa9cb2856c74db6a1a6935bab
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-16 16:34:16 Han-Wen Nienhuys <hanwen@google.com> org.eclipse.jgit.test/exttst/org/eclipse/jgit/patch/EGitPatchHistoryTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitOnlyTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheBuilderIteratorTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheCGitCompatabilityTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheIteratorTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/ConcurrentRepackTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackWriterTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/T0003_BasicTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/WindowCacheGetTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/XInputStream.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevObjectTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkPathFilter6012Test.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PushProcessTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ReceivePackAdvertiseRefsHookTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransportTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/CanonicalTreeParserTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/PostOrderTreeWalkTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/PathFilterGroupTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/PathSuffixFilterTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/TreeFilterTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/TemporaryBufferTest.java v f3ec7cf3f0436a79e252251a31dbc62694555897

Remove further unnecessary 'final' keywords

Remove it from

* package private functions.

* try blocks

* for loops

this was done with the following python script:

$ cat f.py
import sys
import re
import os

def replaceFinal(m):
return m.group(1) + "(" + m.group(2).replace('final ', '') + ")"

methodDecl = re.compile(r"^([\t ]*[a-zA-Z_ ]+)\(([^)]*)\)")

def subst(fn):
input = open(fn)
os.rename(fn, fn + "~")

dest = open(fn, 'w')
for l in input:
l = methodDecl.sub(replaceFinal, l)
dest.write(l)
dest.close()


for root, dirs, files in os.walk(".", topdown=False):
for f in files:
if not f.endswith('.java'):
continue

full = os.path.join(root, f)
print full
subst(full)

Change-Id: If533a75a417594fc893e7c669d2c1f0f6caeb7ca
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
2018-05-16 01:20:14 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v a8aabc3d1536470004e32d3547127f709f6b0f47
org.eclipse.jgit.test/pom.xml v a8aabc3d1536470004e32d3547127f709f6b0f47

JGit v5.0.0.201805151920-m7

Change-Id: I42eb046c8ac8537672010aabe21459293cb23838
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-05-14 18:42:02 Han-Wen Nienhuys <hanwen@google.com> org.eclipse.jgit.test/exttst/org/eclipse/jgit/patch/EGitPatchHistoryTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ApplyCommandTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/BlameCommandTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CherryPickCommandTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/MergeCommandTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RevertCommandTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashCreateCommandTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/DiffFormatterReflowTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheCGitCompatabilityTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheEntryTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheLargePathTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/ConcurrentRepackTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackFileTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackWriterTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefUpdateTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/T0003_BasicTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/WindowCacheGetTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/reftree/RefTreeDatabaseTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/BranchConfigTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ValidRefNameTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/CherryPickTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/CrissCrossMergeTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/SimpleMergeTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/EditListTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/FileHeaderTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/GetTextTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/FooterLineTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevCommitParseTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevTagParseTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkFollowFilterTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkPathFilter1Test.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkPathFilter6012Test.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkTestCase.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkUtilsReachableTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/NetRCTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/OpenSshConfigTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PacketLineInTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PacketLineOutTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/RemoteConfigTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/SideBandOutputStreamTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/CanonicalTreeParserTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/FileTreeIteratorWithTimeControl.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/PostOrderTreeWalkTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/AlwaysCloneTreeFilter.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/ChangeIdUtilTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/HookTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/NBTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/QuotedStringBourneStyleTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/QuotedStringBourneUserPathStyleTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/QuotedStringGitPathStyleTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawParseUtils_HexParseTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RefListTest.java v 6d370d837c5faa7caff2e6e3e4723b887f2fbdca

Remove 'final' in parameter lists

Change-Id: Id924f79c8b2c720297ebc49bf9c5d4ddd6d52547
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
2018-05-03 02:17:04 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v 2f608043961fc0902b1904adb77631ec1ebc4833

Disallow unknown args to "fetch" in protocol v2

JGit's implementation of the fetch command of protocol v2, unlike its
implementation of ls-refs, currently tolerates unknown arguments.
Tighten fetch to not allow unrecognized arguments and add tests to
verify this behavior for both ls-refs and fetch.

Change-Id: I321161d568bd638252fab1a47b06b924d472a669
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
2018-05-03 01:35:48 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v c9d4609ecbe3e8ed74f8fc169d541a1d7c8c5f15

Refactor test of capabilities output

A subsequent patch will dynamically generate the capability
advertisement, so the capability advertisements produced are not always
the same. Separate the checking of the advertisements into its own test
method.

Change-Id: I768d14b9d1a244d5d886c42ffd62ef3957b518fb
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
2018-05-03 00:23:31 Jonathan Nieder <jrn@google.com> org.eclipse.jgit.test/tests.bzl v 6efedb41c6fe3fc6eb88f49afc3e7f481514e806

Mark CrissCrossMergeTest as flaky

It often fails on my machine, both in maven and bazel.

This patch marks the test flaky[1] in bazel so that "bazel test" can
run it a few times before declaring failure.

[1] https://docs.bazel.build/versions/master/be/common-definitions.html#test.flaky

Bug: 534285
Change-Id: Ibe5414fefbffe4e8f86af7047608d51cf5df5c47
2018-04-30 22:21:43 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v 7dbd2bfe7e0598097cf35aedd700d86b468bec7d

Teach UploadPack "filter" in protocol v2 fetch

If the configuration variable uploadpack.allowfilter is true, advertise
that "filter" is supported, and support it if the client sends such an
argument.

Change-Id: I7de66c0a0ada46ff71c5ba124d4ffa7c47254c3b
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
2018-04-25 01:44:43 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefDirectoryTest.java v 9edf9bf2d6fd248daf2157bc8245142e5d51f7c2

Remove trivial cases of using deprecated RefDatabase.getRefs()

Change-Id: I2d3e426a3391923f8a690ac68fcc33851f3eb419
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-04-25 01:08:58 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v f26d6558f865cb6a64d0996c534a858310e8b9bb

Suppress boxing warning

Change-Id: I90226674320841774ad691c84609e3fe71bf7852
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-04-25 01:05:33 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v 1665d43e495edadceba8718d0df2c9462ba516be

Remove unnecessary semicolon

Change-Id: I3677ecb106ade209e756cec2c6f4232a416bfb44
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-04-24 22:05:16 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v ce7ac03c2f582eae9e7d250fef0e1685c5c3ab22

Remove unused code and link to deprecated code

Eclipse reports these as errors, so remove them.

Change-Id: Ic53d8003f9faef38fe776af5a73794e7bb1dfc49
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
2018-04-18 23:37:25 Han-Wen Nienhuys <hanwen@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextTest.java v 08d2e0188c932d1c87f603c9c1435296a63910d2
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawParseUtils_LineMapTest.java v 08d2e0188c932d1c87f603c9c1435296a63910d2

Introduce new RawText constructor and RawParseUtils.lineMapOrBinary

This makes binary detection exact in ResolveMerger and DiffFormatter

This has the same intention as
Id4342a199628d9406bfa04af1b023c27a47d4014 but preserves backward
compatibility of the signature of RawParseUtils.lineMap.

Change-Id: Ia24a4e716592bab3363ae24e3a46315a7511154f
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-04-12 17:43:50 Dave Borowitz <dborowitz@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PushConnectionTest.java v 29fc7e87c6c961605825e3d15c69ad11d8f33e51

Push: Ensure ref updates are processed in input order

Various places on the client side of the push were creating unordered
maps and sets of ref names, resulting in ReceivePack processing commands
in an order other than what the client provided. This is normally not
problematic for clients, who don't typically care about the order in
which ref updates are applied to the storage layer.

However, it does make it difficult to write deterministic tests of
ReceivePack or hooks whose output depends on the order in which commands
are processed, for example if informational per-ref messages are written
to a sideband.[1]

Add a test that ensures the ordering of commands both internally in
ReceivePack and in the output PushResult.

[1] Real-world example:
https://gerrit-review.googlesource.com/c/gerrit/+/171871/1/javatests/com/google/gerrit/acceptance/git/PushPermissionsIT.java#149

Change-Id: I7f1254b4ebf202d4dcfc8e59d7120427542d0d9e
2018-04-12 08:39:29 Christian Halstrick <christian.halstrick@sap.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryResolveTest.java v 45599ae86d33d2a681acb8723e01c9b42e4fd335

Allow '@' as last character of ref

Previously @ was allowed e.g. in branch names, but not as the last
character. The case that @ is the last character was not handled.

Change-Id: Ic33870b22236f7a5ec7b54007f1b0cefd9354bfb
2018-04-07 00:50:01 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RefTest.java v 4faec31c0a9ff92efdac10d1bd5db1a929ce74a2

Add RefDatabase#getRefsByPrefix method

The existing RefDatabase#getRefs abstract method (to be implemented by
ref database backends) has the following issues:

- It returns a map with a key (the name of the ref with the prefix
removed) which is potentially superfluous (it can be derived by the
caller if need be) and confusing (in that the prefix is removed).
- The prefix is required to end with a '/', but some backends (e.g.
reftable) have fast search by prefix regardless of what the last
character of the prefix is.

Add a new method #getRefsByPrefix that does not have these issues. This
is non-abstract with a default implementation that uses #getRefs (for
backwards compatibility), but ref database backends can reimplement it.

This also prepares for supporting "ref-prefix" in the "ls-refs" command
in the fetch-pack/upload-pack protocol v2, which does not require that
the prefix end with a '/'.

Change-Id: I4c92f852e8c1558095dd460b5fd7b602c1d82df1
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Jonathan Nieder <jrn@google.com>
2018-04-06 23:58:34 Thomas Wolf <thomas.wolf@paranor.ch> org.eclipse.jgit.test/tst/org/eclipse/jgit/api/MergeCommandTest.java v 42e69409d796421bb1353279cfae463b19a43fe9

Handle Gerrit Change-Ids for merge commits

Otherwise successful, non-conflicting merges will never get a
Gerrit Change-Id.

Bug: 358206
Change-Id: I9b599ad01d9f7332200c1d81a1ba6ce5ef990ab5
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-03-27 22:22:09 Thomas Wolf <thomas.wolf@paranor.ch> org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/CGitIgnoreTest.java v d7deda98d0a18ca1e3a1fbb70acf8e7cbcf25833
org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/IgnoreNodeTest.java v d7deda98d0a18ca1e3a1fbb70acf8e7cbcf25833
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java v d7deda98d0a18ca1e3a1fbb70acf8e7cbcf25833
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/IndexDiffTest.java v d7deda98d0a18ca1e3a1fbb70acf8e7cbcf25833

Skip ignored directories in FileTreeIterator

Make FileTreeIterator not enter ignored directories by default. We
only need to enter ignored directories if we do some operation against
git, and there is at least one tracked file underneath an ignored
directory.

Walking ignored directories should be avoided as much as possible as
it is a potential performance bottleneck. Some projects have a lot of
files or very deep hierarchies in ignored directories; walking those
may be costly (especially so on Windows). See for instance also bug
500106.

Provide a FileTreeIterator.setWalkIgnoredDirectories() operation to
force the iterator to iterate also through otherwise ignored
directories. Useful for tests (IgnoreNodeTest, CGitIgnoreTest), or
to implement things like "git ls-files --ignored".

Add tests in DirCacheCheckoutTest, and amend IndexDiffTest to test a
little bit more.

Bug: 388582
Change-Id: I6ff584a42c55a07120a4369fd308409431bdb94a
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-03-19 13:13:53 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/CrissCrossMergeTest.java v 7960b4e09fb8807d897b5b913ab43b2c8e07219d
org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergerTest.java v 7960b4e09fb8807d897b5b913ab43b2c8e07219d

Rename RecursiveMergerTest and ResolveMergerTest to reduce confusion

The class names imply that RecursiveMergerTest tests the RecursiveMerger
and ResolveMergerTest tests the ResolveMerger.

In fact, both of them include coverage of both strategies; the difference
is that RecursiveMergerTest is only testing criss-cross merges.

The tests cannot be combined into a single class because the criss-cross
test methods have additional data points.

Instead, rename the classes to more meaningful names.

Change-Id: I7ca8a03a3b7e351e2d4fcaca3b3186c098a3ca66
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-19 13:10:04 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/ResolveMergerTest.java v 6d3a29d25ffe00bff7b666efd16617f6d29038ce

ResolveMergerTest: Use @DataPoints instead of @DataPoint

Define strategiesUnderTest as an array of MergeStrategy using the
@DataPoints annotation, rather than two separate variables each
annotated as @DataPoint.

This makes the implementation consistent with RecursiveMergerTest.

Change-Id: I9f1d525b38cb59634ba054c7779dc4af1fc46e25
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-19 09:02:16 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v 83a4d2e698183d62b90ce3fcc64c78e6a192e462

UploadPackTest: Fix name hiding introduced by If72b4b422

The local variable 'remote' hides the class scope variable
of the same name.

Change-Id: I7410c33678677ce2a14691772466d91e8139e3fa
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-18 23:29:59 Thomas Wolf <thomas.wolf@paranor.ch> org.eclipse.jgit.test/exttst/org/eclipse/jgit/treewalk/FileTreeIteratorPerformanceTest.java v 4bfc6c2ae9ec582575b05f4e63ee62212bb284a4

Significantly speed up FileTreeIterator on Windows

Getting attributes of files on Windows is an expensive operation.
Windows stores file attributes in the directory, so they are
basically available "for free" when a directory is listed. The
implementation of Java's Files.walkFileTree() takes advantage of
that (at least in the OpenJDK implementation for Windows) and
provides the attributes from the directory to a FileVisitor.

Using Files.walkFileTree() with a maximum depth of 1 is thus a
good approach on Windows to get both the file names and the
attributes in one go.

In my tests, this gives a significant speed-up of FileTreeIterator
over the "normal" way: using File.listFiles() and then reading the
attributes of each file individually. The speed-up is hard to
quantify exactly, but in my tests I've observed consistently 30-40%
for staging 500 files one after another, each individually, and up
to 50% for individual TreeWalks with a FileTreeIterator.

On Unix, this technique is detrimental. Unix stores file attributes
differently, and getting attributes of individual files is not costly.
On Unix, the old way of doing a listFiles() and getting individual
attributes (both native operations) is about three times faster than
using walkFileTree, which is implemented in Java.

Therefore, move the operation to FS/FS_Win32 and call it from
FileTreeIterator, so that we can have different implementations
depending on the file system.

A little performance test program is included as a JUnit test (to be
run manually).

While this does speed up things on Windows, it doesn't solve the basic
problem of bug 532300: the iterator always gets the full directory
listing and the attributes of all files, and the more files there are
the longer that takes.

Bug: 532300
Change-Id: Ic5facb871c725256c2324b0d97b95e6efc33282a
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
2018-03-15 23:56:50 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v f7e501c36c83c9e7a516d154ee96afd12cbc0498

Teach UploadPack shallow fetch in protocol v2

Add support for the "shallow" and "deepen" parameters in the "fetch"
command in the fetch-pack/upload-pack protocol v2. Advertise support for
this in the capability advertisement.

TODO: implement deepen-relative, deepen-since, deepen-not

Change-Id: I7ffd80d6c38872f9d713ac7d6e0412106b3766d7
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Jonathan Nieder <jrn@google.com>
2018-03-15 00:25:43 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectIdSerializerTest.java v 61e4f1665221626cfd31a5826bff527ef7ce5719

ObjectIdSerializer: Support serialization of known non-null ObjectId

The implementation of ObjectIdSerializer, added in change I7599cf8bd,
is not equivalent to the original implementation in Gerrit [1].

The Gerrit implementation provides separate methods to (de)serialize
instances of ObjectId that are known to be non-null. In these methods,
no "marker" is written to the stream. Replacing Gerrit's implementation
with ObjectIdSerializer [2] broke persistent caches because it started
writing markers where they were not expected [3].

Since ObjectIdSerializer is included in JGit 4.11 we can't change the
existing #write and #read methods. Keep those as-is, but extend the
Javadoc to clarify that they support possibly null ObjectId instances.

Add new methods #writeWithoutMarker and #readWithoutMarker to support
the cases where the ObjectId is known to be non-null and the marker
should not be written to the serialization stream.

Also:

- Replace the hard-coded `0` and `1` markers with constants that can
be linked from the Javadocs.

- Include the marker value in the "Invalid flag before ObjectId"
exception message.

[1] https://gerrit-review.googlesource.com/c/gerrit/+/9792
[2] https://gerrit-review.googlesource.com/c/gerrit/+/165851
[3] https://gerrit-review.googlesource.com/c/gerrit/+/165952

Change-Id: Iaf84c3ec32ecf83efffb306fdb4940cc85740f3f
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-14 05:35:50 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/gitrepo/RepoCommandSymlinkTest.java v 57c6ff94fbc464f5c10b57fe1e14b40d91d12b97

RepoCommandSymlinkTest#testLinkFileBare: Use try-with-resource

Change-Id: I72756d92dc5ea54ad009dddb9cebbcd6d1a0b4f8
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-14 05:34:44 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/gitrepo/RepoCommandTest.java v 15120354517f8dd5de0c6d7f54b51dcbebbd86bd

RepoCommandTest: Refactor to use try-with-resource

Change-Id: If37ce4447feb431169a75594194a7ef02e362d4e
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-14 05:05:41 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ReceivePackAdvertiseRefsHookTest.java v 2de9b6c0bbfc6536805a5325ff786951fcd539af

ReceivePackAdvertiseRefsHookTest#testSuccess: Open TransportLocal in t-w-r

Change-Id: I198ff2ff36de482445141b5ce489204a9c2f4933
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-13 21:29:46 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v 526f5cf9840490720f8b4fd6d647bb8beb67e143

Teach UploadPack "ofs-delta" in "fetch"

Add support for the "ofs-delta" parameter in the "fetch" command in
the fetch-pack/upload-pack protocol v2.

Change-Id: I728cf986082fce4ddeb6a6435897692e15e60cc7
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
2018-03-13 19:07:36 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v 5a87d50408642f619b77d12a981e6e23f407752e

Teach UploadPack "include-tag" in "fetch"

Add support for the "include-tag" parameter in the "fetch" command in
the fetch-pack/upload-pack protocol v2.

In order to determine which tags to include, only objects pointed to by
refs starting with "refs/tags/" are checked. This restriction is for
performance reasons and to match the behavior of Git (see add_ref_tag()
in builtin/pack-objects.c).

Change-Id: I7d70aa09bcc8a525218ff1559e286c2a610258ca
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Jonathan Nieder <jrn@google.com>
2018-03-13 12:20:09 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/AutoLFInputStreamTest.java v 48554989d30a427e69f6a78a8a0ded5c885dc64d

AutoLFInputStreamTest: Use try-with-resource

Change-Id: I162bfa6b2f87f2ce9154f3ed6bb628c4cda88f50
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-13 09:24:10 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/util/TemporaryBufferTest.java v bf757cd1c6202aa6b891bdc47c206039cbf798f0

TemporaryBufferTest: Suppress "should be managed by try-with-resource"

In most of the tests, the temporary buffer is explicitly destroyed in
a finally block after being closed. This is not possible if using the
try-with-resource construct, because the variable is not accessible in
the finally block scope.

Change-Id: I3bab30695ddd12e1a0ae107989638428fe3ef551
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-13 06:21:29 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/NetRCTest.java v da3d76f00ede01a976dbe1089f073a9c0f1c13a7
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/OpenSshConfigTest.java v da3d76f00ede01a976dbe1089f073a9c0f1c13a7

Use CHARSET in FileOutputStream instead of hard-coded "UTF-8"

Change-Id: I63ad25e1ebd94081c8848f4d21044cf9041f971d
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-13 03:44:23 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ResetCommandTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackFileTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackWriterTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/T0003_BasicTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/UnpackedObjectTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/WindowCacheGetTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RacyGitTests.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RefTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/SquashCommitMsgTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/ResolveMergerTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/PatchCcErrorTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/PatchCcTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/PatchErrorTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/PatchTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleAddTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleSyncTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleUpdateTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/NetRCTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PackParserTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/WalkEncryptionTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/NotTreeFilterTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/TemporaryBufferTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/AutoCRLFOutputStreamTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/UnionInputStreamTest.java v 5c70be00856d5375485e6f062b6e1e09a606601f

Open auto-closeable resources in try-with-resource

When an auto-closeable resources is not opened in try-with-resource,
the warning "should be managed by try-with-resource" is emitted by
Eclipse.

Fix the ones that can be silenced simply by moving the declaration of
the variable into a try-with-resource.

In cases where we explicitly call the close() method, for example in
tests where we are testing specific behavior caused by the close(),
suppress the warning.

Leave the ones that will require more significant refcactoring to fix.
They can be done in separate commits that can be reviewed and tested
in isolation.

Change-Id: I9682cd20fb15167d3c7f9027cecdc82bc50b83c4
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-13 02:20:29 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/api/FetchCommandTest.java v e23b09ad6efc35f6574cfefd4467ad20e5212ff2

Implement --force option in FetchCommand and CLI fetch command

Change-Id: I42cdb57b8fb54ce466d1958391f12f911045327f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-03-10 00:00:42 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/IgnoreNodeTest.java v f0ab2d07b8a68165cd494ce5d335b0cb8cfc9a76

Remove deprecated IgnoreNode#isIgnored method

Parameter negateFirstMatch is not honored anymore

Change-Id: Idff1a92643c1431c7e34a7730f8414135e1ac196
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-03-09 23:55:43 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ArchiveCommandTest.java v 653b31a9035b8c05bf5f3c974b8d023ba670032b

Remove deprecated ArchiveCommand#putEntry method

Use #putEntry(Closeable, ObjectId, String, FileMode, ObjectLoader)}
instead.

Change-Id: I2c58c07da00c6033c583eb2dc6c3a0889661f5f5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-03-08 23:09:18 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v d0f1f5eef60653b820f61c24ec30763280ee8ba4
org.eclipse.jgit.test/pom.xml v d0f1f5eef60653b820f61c24ec30763280ee8ba4

Prepare 5.0.0-SNAPSHOT builds

Change-Id: I2d2f50ed8a12f310e7cac68eed5536bd460c403f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-03-08 21:10:08 Matthias Sohn <matthias.sohn@sap.com> org.eclipse.jgit.test/META-INF/MANIFEST.MF v f389e18a2853d9f73336f4cf0e7ac2931dc4ce9b
org.eclipse.jgit.test/pom.xml v f389e18a2853d9f73336f4cf0e7ac2931dc4ce9b

Prepare 4.11.1-SNAPSHOT builds

Change-Id: Id9aa6b7e8f56de5183b6cd57ef0e790ec9debd4d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-03-08 01:44:01 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/exttst/org/eclipse/jgit/ignore/CGitVsJGitRandomIgnorePatternTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/EolStreamTypeUtilTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/NotesCommandTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PullCommandTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PullCommandWithRebaseTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/AbstractDiffTestCase.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/RawTextTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/diff/SimilarityIndexTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheCGitCompatabilityTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/gitrepo/ManifestParserTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/gitrepo/RepoCommandTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/IgnoreNodeTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/indexdiff/IndexDiffWithSymlinkTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefUpdateTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/T0003_BasicTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/junit/TestRepositoryTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/ResolveMergerTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/GetTextTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevCommitParseTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevTagParseTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/FileBasedConfigTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/BundleWriterTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/WalkEncryptionTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/RawSubStringPatternTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/AutoLFInputStreamTest.java v f07b60239c3e3bca7c75705c678dd32a12047e09
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/sha1/SHA1Test.java v f07b60239c3e3bca7c75705c678dd32a12047e09

Consistently use Constants.CHARSET rather than StandardCharsets.UTF_8

Change-Id: I6714fc3666e1bced22abba94ceb700477349586e
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2018-03-02 00:45:19 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v df1f3c0f3c730a0d0edc13ff1f54d5aad476c9b5

Teach UploadPack "no-progress" in "fetch"

Add support for the "no-progress" parameter in the "fetch" command in
the fetch-pack/upload-pack protocol v2.

Change-Id: I6a6d6b1534f44845254b81d0e1f5c4ba2ac3d10b
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
2018-03-01 23:24:16 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v a5dee1c125737cce7a83a052b4f9d84eb48d62d1

Teach UploadPack "thin-pack" in "fetch"

Add support for the "thin-pack" parameter in the "fetch" command in
the fetch-pack/upload-pack protocol v2.

Change-Id: I39a37b2b66a16929137d35c718a3acf2afb6b0b5
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
2018-02-23 23:07:02 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v adc73c4ba1c5a0ddfaee9537df438bfa14f38a62

Teach UploadPack basic "fetch" command

Add basic support for the "fetch" command in the fetch-pack/upload-pack
protocol v2. This patch teaches "have" and "done".

The protocol specification (Documentation/technical/protocol-v2.txt in
the Git project) states:

want <oid>
Indicates to the server an object which the client wants to
retrieve. Wants can be anything and are not limited to
advertised objects.

It is unspecified whether the server should respect the
uploadpack.allowtipsha1inwant option etc. when serving packfiles. This
patch is conservative in that the server respects them.

Change-Id: I3dbec172239712ef9286a15b8407e86b87ea7863
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
2018-02-23 07:27:52 Marcel Trautwein <me+eclipse@childno.de> org.eclipse.jgit.test/tst/org/eclipse/jgit/api/DescribeCommandTest.java v 5429d1a0cff593bf28186c38fde7e41798a2c0b8

Make JGit describe behaves same as c-git for lightweight tags

JGit now considers lightweight tags only if the --tags option is set
i.e. `git.describe().setAllTags(true)` has to be set, else the default
is now as in c git:

Only annotated tags are evaluated unless you pass true
equivalent to --tags (or --all) by the option setAllTags.

Hint: This (still) doesn't address any difference between c-git
`--all` and `!--all --tags` behavior;
perhaps this might be a follow up request

Bug: 423206
Change-Id: I9a3699756df0b9c6a7c74a7e8887dea0df17c8e7
Signed-off-by: Marcel Trautwein <me+eclipse@childno.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2018-02-22 22:58:29 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v 038765cc556b84e1bf089df5a98c1b742c176e12

Teach UploadPack "ref-prefix" in "ls-refs"

Add support for the "ref-prefix" parameter in the "ls-refs" command in
the fetch-pack/upload-pack protocol v2.

Change-Id: If9cf93b2646f75d50a11b5f482594f014d59a836
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
2018-02-22 19:24:19 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v 332bc611249d21f9b604f2c0207bf0bdfbfc3a78

Implement ls-refs in UploadPack

Implement support for Git protocol v2's "ls-refs" command and its
"symrefs" and "peel" parameters.

This adds support for this command to UploadPack but the git://,
ssh://, and git:// transports do not make use of it yet. That will
have to wait for later patches.

Change-Id: I8abc6bcc6ed4a88c165677ff1245625aca01267b
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Jonathan Nieder <jrn@google.com>
2018-02-22 19:24:19 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v 2661bc081340ae83d2a2ecba11994d3e8d56586b

Implement protocol v2 with no capabilities in UploadPack

Add initial support for protocol v2 of the fetch-pack/upload-pack
protocol. This protocol is described in the Git project in
"Documentation/technical/protocol-v2.txt".

This patch adds support for protocol v2 (without any capabilities) to
UploadPack. Adaptations of callers to make use of this support will
come in subsequent patches.

[jn: split from a larger patch; tweaked the API to make UploadPack
handle parsing the extra parameters and config instead of requiring
each caller to do such parsing]

Change-Id: I79399fa0dce533fdc8c1dbb6756748818cee45b0
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Jonathan Nieder <jrn@google.com>
2018-02-22 19:24:19 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PacketLineInTest.java v 75b07036928f4ef73e9a217bd7c898457e9c7120
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PacketLineOutTest.java v 75b07036928f4ef73e9a217bd7c898457e9c7120

PacketLineIn, PacketLineOut: Add support for delim-pkt

Most pkt-lines (data-pkts) have the form

pkt-len pkt-payload

where pkt-len is a string of 4 hexadecimal digits representing the
size in bytes of the pkt-line. Since this size includes the size of
the pkt-len, no data-pkt has a length less than 4.

A pkt-line with a length field less than 4 can thus be used for
other purposes. In Git protocol v1, the only such pkt-line was

flush-pkt = "0000"

which was used to mark the end of a stream. Protocol v2 (see
Documentation/technical/protocol-v2.txt in git.git) introduces a
second special pkt-line type:

delim-pkt = "0001"

used to mark the end of a section within a stream, for example to
separate capabilities from the content of a command.

[jn: split out from a larger patch that made use of this support]

Change-Id: I10e7824fa24ed74c4f45624bd490bba978cf5c34
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Jonathan Nieder <jrn@google.com>
2017-12-19 03:13:48 David Pursehouse <david.pursehouse@gmail.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitCommandTest.java v 9441508682b7d7c935dd976e4082cacff4a5efeb

Fix misspelled class name: EmtpyCommitException -> EmptyCommitException

Change-Id: I55196020146f26951988988c14ac9a6f85061ae2
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
2017-10-18 00:48:53 Jonathan Tan <jonathantanmy@google.com> org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java v 4ac32e79b751944107470d5f4cb290eacd1b7cf9

Teach UploadPack to support filtering by blob size

Teach UploadPack to advertise the filter capability and support a
"filter" line in the request, accepting blob sizes only, if the
configuration variable "uploadpack.allowfilter" is true. This feature is
currently in the "master" branch of Git, and as of the time of writing,
this feature is to be released in Git 2.17.

This is incomplete in that the filter-by-sparse-specification feature
also supported by Git is not included in this patch.

If a JGit server were to be patched with this commit, and a repository
on that server configured with RequestPolicy.ANY or
RequestPolicy.REACHABLE_COMMIT_TIP, a Git client built from the "master"
branch would be able to perform a partial clone.

Change-Id: If72b4b422c06ab432137e9e5272d353b14b73259
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>