Browse Source

Merge branch 'master' into stable-5.7

* master:
  Update Orbit to S20200219023850 for 2012-03 M3
  Revert "Prepend hostname to subsection used to store file timestamp resolution"
  Remove use of org.bouncycastle.util.encoders.Hex
  Remove use of org.bouncycastle.util.io.TeeOutputStream
  Make the IMatcher public API
  SimilarityRenameDetector: Fix inconsistent indentation
  Use indexOf(char) and lastIndexOf(char) rather than String versions
  Reorder modifiers to follow Java Language Specification
  GitmoduleEntry: Remove redundant import of class from same package
  Remove redundant "static" qualifier from enum declarations
  RevWalk: stop mixing lines of history in topo sort
  Upgrade plexus-compiler-{eclipse|javac|javac-errorprone} to 2.8.6
  Upgrade maven-shade-plugin to 3.2.2
  Removed unused imports
  Documentation/technical/reftable: improve repo layout

Change-Id: I558eff2abda44342fbaf1662fda07e2bcc6d4ee3
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-5.7
Matthias Sohn 5 years ago
parent
commit
b9a7722e39
  1. 53
      Documentation/technical/reftable.md
  2. 2
      org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/ObjectFileServlet.java
  3. 2
      org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/CleanFilter.java
  4. 2
      org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/SmudgeFilter.java
  5. 8
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.target
  6. 8
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.target
  7. 8
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.target
  8. 8
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.target
  9. 8
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.target
  10. 8
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.target
  11. 8
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.target
  12. 8
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.target
  13. 8
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.target
  14. 7
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/staging-2020-03.tpd
  15. 2
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/DiffAlgorithms.java
  16. 4
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/LfsStore.java
  17. 2
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/ShowCommands.java
  18. 4
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/TextHashFunctions.java
  19. 1
      org.eclipse.jgit.test/META-INF/MANIFEST.MF
  20. 2
      org.eclipse.jgit.test/exttst/org/eclipse/jgit/patch/EGitPatchHistoryTest.java
  21. 4
      org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java
  22. 1
      org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollectorTest.java
  23. 12
      org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcOrphanFilesTest.java
  24. 2
      org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
  25. 92
      org.eclipse.jgit.test/tst/org/eclipse/jgit/revplot/PlotCommitListTest.java
  26. 106
      org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkSortTest.java
  27. 2
      org.eclipse.jgit.test/tst/org/eclipse/jgit/util/GitDateParserBadlyFormattedTest.java
  28. 49
      org.eclipse.jgit.test/tst/org/eclipse/jgit/util/HexTest.java
  29. 1
      org.eclipse.jgit.test/tst/org/eclipse/jgit/util/StatsTest.java
  30. 81
      org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/TeeOutputStreamTest.java
  31. 1
      org.eclipse.jgit/META-INF/MANIFEST.MF
  32. 2
      org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java
  33. 2
      org.eclipse.jgit/src/org/eclipse/jgit/api/CommitCommand.java
  34. 2
      org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java
  35. 5
      org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java
  36. 2
      org.eclipse.jgit/src/org/eclipse/jgit/attributes/Attribute.java
  37. 6
      org.eclipse.jgit/src/org/eclipse/jgit/attributes/AttributesRule.java
  38. 2
      org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffConfig.java
  39. 4
      org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffEntry.java
  40. 2
      org.eclipse.jgit/src/org/eclipse/jgit/diff/Edit.java
  41. 12
      org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityRenameDetector.java
  42. 2
      org.eclipse.jgit/src/org/eclipse/jgit/errors/NoMergeBaseException.java
  43. 4
      org.eclipse.jgit/src/org/eclipse/jgit/errors/TranslationBundleException.java
  44. 2
      org.eclipse.jgit/src/org/eclipse/jgit/hooks/GitHook.java
  45. 5
      org.eclipse.jgit/src/org/eclipse/jgit/ignore/FastIgnoreRule.java
  46. 37
      org.eclipse.jgit/src/org/eclipse/jgit/ignore/IMatcher.java
  47. 2
      org.eclipse.jgit/src/org/eclipse/jgit/ignore/IgnoreNode.java
  48. 2
      org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/AbstractMatcher.java
  49. 1
      org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/PathMatcher.java
  50. 8
      org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/Strings.java
  51. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/KetchLeader.java
  52. 4
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsObjDatabase.java
  53. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileObjectDatabase.java
  54. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
  55. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/LockFile.java
  56. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java
  57. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java
  58. 10
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java
  59. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java
  60. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java
  61. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/BlockWriter.java
  62. 2
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/ReftableDatabase.java
  63. 14
      org.eclipse.jgit/src/org/eclipse/jgit/lib/CoreConfig.java
  64. 2
      org.eclipse.jgit/src/org/eclipse/jgit/lib/GitmoduleEntry.java
  65. 8
      org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java
  66. 2
      org.eclipse.jgit/src/org/eclipse/jgit/lib/InflaterCache.java
  67. 2
      org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectIdOwnerMap.java
  68. 2
      org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectInserter.java
  69. 2
      org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectLoader.java
  70. 2
      org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java
  71. 4
      org.eclipse.jgit/src/org/eclipse/jgit/lib/RebaseTodoLine.java
  72. 4
      org.eclipse.jgit/src/org/eclipse/jgit/lib/RefUpdate.java
  73. 2
      org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java
  74. 2
      org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeAlgorithm.java
  75. 4
      org.eclipse.jgit/src/org/eclipse/jgit/nls/NLS.java
  76. 2
      org.eclipse.jgit/src/org/eclipse/jgit/patch/BinaryHunk.java
  77. 2
      org.eclipse.jgit/src/org/eclipse/jgit/patch/CombinedHunkHeader.java
  78. 2
      org.eclipse.jgit/src/org/eclipse/jgit/patch/FileHeader.java
  79. 2
      org.eclipse.jgit/src/org/eclipse/jgit/patch/FormatError.java
  80. 2
      org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevObject.java
  81. 8
      org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java
  82. 44
      org.eclipse.jgit/src/org/eclipse/jgit/revwalk/TopoSortGenerator.java
  83. 2
      org.eclipse.jgit/src/org/eclipse/jgit/storage/file/FileBasedConfig.java
  84. 2
      org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackPushConnection.java
  85. 2
      org.eclipse.jgit/src/org/eclipse/jgit/transport/GitProtocolConstants.java
  86. 2
      org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java
  87. 2
      org.eclipse.jgit/src/org/eclipse/jgit/transport/PacketLineIn.java
  88. 4
      org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceiveCommand.java
  89. 2
      org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java
  90. 2
      org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteRefUpdate.java
  91. 2
      org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportProtocol.java
  92. 2
      org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java
  93. 4
      org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java
  94. 4
      org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java
  95. 2
      org.eclipse.jgit/src/org/eclipse/jgit/treewalk/TreeWalk.java
  96. 2
      org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java
  97. 12
      org.eclipse.jgit/src/org/eclipse/jgit/util/Base64.java
  98. 2
      org.eclipse.jgit/src/org/eclipse/jgit/util/ChangeIdUtil.java
  99. 9
      org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
  100. 2
      org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java
  101. Some files were not shown because too many files have changed in this diff Show More

53
Documentation/technical/reftable.md

@ -773,9 +773,6 @@ A repository must set its `$GIT_DIR/config` to configure reftable:
### Layout ### Layout
The `$GIT_DIR/refs` path is a file when reftable is configured, not a
directory. This prevents loose references from being stored.
A collection of reftable files are stored in the `$GIT_DIR/reftable/` A collection of reftable files are stored in the `$GIT_DIR/reftable/`
directory: directory:
@ -789,28 +786,38 @@ the function `${min_update_index}-${max_update_index}.ref`.
Log-only files use the `.log` extension, while ref-only and mixed ref Log-only files use the `.log` extension, while ref-only and mixed ref
and log files use `.ref`. extension. and log files use `.ref`. extension.
The stack ordering file is `$GIT_DIR/refs` and lists the current
files, one per line, in order, from oldest (base) to newest (most
recent):
$ cat .git/refs The stack ordering file is `$GIT_DIR/reftable/tables.list` and lists the current
files, one per line, in order, from oldest (base) to newest (most recent):
$ cat .git/reftable/tables.list
00000001-00000001.log 00000001-00000001.log
00000002-00000002.ref 00000002-00000002.ref
00000003-00000003.ref 00000003-00000003.ref
Readers must read `$GIT_DIR/refs` to determine which files are Readers must read `$GIT_DIR/reftable/tables.list` to determine which files are
relevant right now, and search through the stack in reverse order relevant right now, and search through the stack in reverse order (last reftable
(last reftable is examined first). is examined first).
Reftable files not listed in `refs` may be new (and about to be added Reftable files not listed in `tables.list` may be new (and about to be added
to the stack by the active writer), or ancient and ready to be pruned. to the stack by the active writer), or ancient and ready to be pruned.
### Backward compatibility
Older clients should continue to recognize the directory as a git repository so
they don't look for an enclosing repository in parent directories. To this end,
a reftable-enabled repository must contain the following dummy files
* `.git/HEAD`, a regular file containing `ref: refs/heads/.invalid`.
* `.git/refs/`, a directory
* `.git/refs/heads`, a regular file
### Readers ### Readers
Readers can obtain a consistent snapshot of the reference space by Readers can obtain a consistent snapshot of the reference space by
following: following:
1. Open and read the `refs` file. 1. Open and read the `tables.list` file.
2. Open each of the reftable files that it mentions. 2. Open each of the reftable files that it mentions.
3. If any of the files is missing, goto 1. 3. If any of the files is missing, goto 1.
4. Read from the now-open files as long as necessary. 4. Read from the now-open files as long as necessary.
@ -820,13 +827,13 @@ following:
Although reftables are immutable, mutations are supported by writing a Although reftables are immutable, mutations are supported by writing a
new reftable and atomically appending it to the stack: new reftable and atomically appending it to the stack:
1. Acquire `refs.lock`. 1. Acquire `tables.list.lock`.
2. Read `refs` to determine current reftables. 2. Read `tables.list` to determine current reftables.
3. Select `update_index` to be most recent file's `max_update_index + 1`. 3. Select `update_index` to be most recent file's `max_update_index + 1`.
4. Prepare temp reftable `tmp_XXXXXX`, including log entries. 4. Prepare temp reftable `tmp_XXXXXX`, including log entries.
5. Rename `tmp_XXXXXX` to `${update_index}-${update_index}.ref`. 5. Rename `tmp_XXXXXX` to `${update_index}-${update_index}.ref`.
6. Copy `refs` to `refs.lock`, appending file from (5). 6. Copy `tables.list` to `tables.list.lock`, appending file from (5).
7. Rename `refs.lock` to `refs`. 7. Rename `tables.list.lock` to `tables.list`.
During step 4 the new file's `min_update_index` and `max_update_index` During step 4 the new file's `min_update_index` and `max_update_index`
are both set to the `update_index` selected by step 3. All log are both set to the `update_index` selected by step 3. All log
@ -834,9 +841,9 @@ records for the transaction use the same `update_index` in their keys.
This enables later correlation of which references were updated by the This enables later correlation of which references were updated by the
same transaction. same transaction.
Because a single `refs.lock` file is used to manage locking, the Because a single `tables.list.lock` file is used to manage locking, the
repository is single-threaded for writers. Writers may have to repository is single-threaded for writers. Writers may have to
busy-spin (with backoff) around creating `refs.lock`, for up to an busy-spin (with backoff) around creating `tables.list.lock`, for up to an
acceptable wait period, aborting if the repository is too busy to acceptable wait period, aborting if the repository is too busy to
mutate. Application servers wrapped around repositories (e.g. Gerrit mutate. Application servers wrapped around repositories (e.g. Gerrit
Code Review) can layer their own lock/wait queue to improve fairness Code Review) can layer their own lock/wait queue to improve fairness
@ -864,21 +871,21 @@ For sake of illustration, assume the stack currently consists of
reftable files (from oldest to newest): A, B, C, and D. The compactor reftable files (from oldest to newest): A, B, C, and D. The compactor
is going to compact B and C, leaving A and D alone. is going to compact B and C, leaving A and D alone.
1. Obtain lock `refs.lock` and read the `refs` file. 1. Obtain lock `tables.list.lock` and read the `tables.list` file.
2. Obtain locks `B.lock` and `C.lock`. 2. Obtain locks `B.lock` and `C.lock`.
Ownership of these locks prevents other processes from trying Ownership of these locks prevents other processes from trying
to compact these files. to compact these files.
3. Release `refs.lock`. 3. Release `tables.list.lock`.
4. Compact `B` and `C` into a temp file `${min_update_index}-${max_update_index}_XXXXXX`. 4. Compact `B` and `C` into a temp file `${min_update_index}-${max_update_index}_XXXXXX`.
5. Reacquire lock `refs.lock`. 5. Reacquire lock `tables.list.lock`.
6. Verify that `B` and `C` are still in the stack, in that order. This 6. Verify that `B` and `C` are still in the stack, in that order. This
should always be the case, assuming that other processes are adhering should always be the case, assuming that other processes are adhering
to the locking protocol. to the locking protocol.
7. Rename `${min_update_index}-${max_update_index}_XXXXXX` to 7. Rename `${min_update_index}-${max_update_index}_XXXXXX` to
`${min_update_index}-${max_update_index}.ref`. `${min_update_index}-${max_update_index}.ref`.
8. Write the new stack to `refs.lock`, replacing `B` and `C` with the 8. Write the new stack to `tables.list.lock`, replacing `B` and `C` with the
file from (4). file from (4).
9. Rename `refs.lock` to `refs`. 9. Rename `tables.list.lock` to `tables.list`.
10. Delete `B` and `C`, perhaps after a short sleep to avoid forcing 10. Delete `B` and `C`, perhaps after a short sleep to avoid forcing
readers to backtrack. readers to backtrack.

2
org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/ObjectFileServlet.java

@ -50,7 +50,7 @@ abstract class ObjectFileServlet extends HttpServlet {
} }
} }
private static abstract class PackData extends ObjectFileServlet { private abstract static class PackData extends ObjectFileServlet {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
PackData(String contentType) { PackData(String contentType) {

2
org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/CleanFilter.java

@ -45,7 +45,7 @@ public class CleanFilter extends FilterCommand {
* The factory is responsible for creating instances of * The factory is responsible for creating instances of
* {@link org.eclipse.jgit.lfs.CleanFilter} * {@link org.eclipse.jgit.lfs.CleanFilter}
*/ */
public final static FilterCommandFactory FACTORY = CleanFilter::new; public static final FilterCommandFactory FACTORY = CleanFilter::new;
/** /**
* Registers this filter by calling * Registers this filter by calling

2
org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/SmudgeFilter.java

@ -59,7 +59,7 @@ public class SmudgeFilter extends FilterCommand {
* The factory is responsible for creating instances of * The factory is responsible for creating instances of
* {@link org.eclipse.jgit.lfs.SmudgeFilter} * {@link org.eclipse.jgit.lfs.SmudgeFilter}
*/ */
public final static FilterCommandFactory FACTORY = SmudgeFilter::new; public static final FilterCommandFactory FACTORY = SmudgeFilter::new;
/** /**
* Register this filter in JGit * Register this filter in JGit

8
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.target

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?> <?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
<target name="jgit-4.10" sequenceNumber="1580289401"> <target name="jgit-4.10" sequenceNumber="1582498070">
<locations> <locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/> <unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@ -70,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/> <unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
<unit id="org.junit" version="4.13.0.v20200128-1312"/> <unit id="org.junit" version="4.13.0.v20200204-1500"/>
<unit id="org.junit.source" version="4.13.0.v20200128-1312"/> <unit id="org.junit.source" version="4.13.0.v20200204-1500"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/> <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@ -84,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/> <unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200219023850/repository"/>
</location> </location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/> <unit id="org.eclipse.osgi" version="0.0.0"/>

8
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.target

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?> <?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
<target name="jgit-4.11" sequenceNumber="1580289407"> <target name="jgit-4.11" sequenceNumber="1582498158">
<locations> <locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/> <unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@ -70,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/> <unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
<unit id="org.junit" version="4.13.0.v20200128-1312"/> <unit id="org.junit" version="4.13.0.v20200204-1500"/>
<unit id="org.junit.source" version="4.13.0.v20200128-1312"/> <unit id="org.junit.source" version="4.13.0.v20200204-1500"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/> <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@ -84,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/> <unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200219023850/repository"/>
</location> </location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/> <unit id="org.eclipse.osgi" version="0.0.0"/>

8
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.target

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?> <?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
<target name="jgit-4.12" sequenceNumber="1580289407"> <target name="jgit-4.12" sequenceNumber="1582498158">
<locations> <locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/> <unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@ -70,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/> <unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
<unit id="org.junit" version="4.13.0.v20200128-1312"/> <unit id="org.junit" version="4.13.0.v20200204-1500"/>
<unit id="org.junit.source" version="4.13.0.v20200128-1312"/> <unit id="org.junit.source" version="4.13.0.v20200204-1500"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/> <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@ -84,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/> <unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200219023850/repository"/>
</location> </location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/> <unit id="org.eclipse.osgi" version="0.0.0"/>

8
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.target

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?> <?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
<target name="jgit-4.13" sequenceNumber="1580289407"> <target name="jgit-4.13" sequenceNumber="1582498157">
<locations> <locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/> <unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@ -70,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/> <unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
<unit id="org.junit" version="4.13.0.v20200128-1312"/> <unit id="org.junit" version="4.13.0.v20200204-1500"/>
<unit id="org.junit.source" version="4.13.0.v20200128-1312"/> <unit id="org.junit.source" version="4.13.0.v20200204-1500"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/> <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@ -84,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/> <unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200219023850/repository"/>
</location> </location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/> <unit id="org.eclipse.osgi" version="0.0.0"/>

8
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.target

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?> <?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
<target name="jgit-4.14-staging" sequenceNumber="1580289404"> <target name="jgit-4.14-staging" sequenceNumber="1582498156">
<locations> <locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/> <unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@ -70,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/> <unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
<unit id="org.junit" version="4.13.0.v20200128-1312"/> <unit id="org.junit" version="4.13.0.v20200204-1500"/>
<unit id="org.junit.source" version="4.13.0.v20200128-1312"/> <unit id="org.junit.source" version="4.13.0.v20200204-1500"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/> <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@ -84,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/> <unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200219023850/repository"/>
</location> </location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/> <unit id="org.eclipse.osgi" version="0.0.0"/>

8
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.target

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?> <?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
<target name="jgit-4.6" sequenceNumber="1580289424"> <target name="jgit-4.6" sequenceNumber="1582498170">
<locations> <locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/> <unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@ -70,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/> <unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
<unit id="org.junit" version="4.13.0.v20200128-1312"/> <unit id="org.junit" version="4.13.0.v20200204-1500"/>
<unit id="org.junit.source" version="4.13.0.v20200128-1312"/> <unit id="org.junit.source" version="4.13.0.v20200204-1500"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/> <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@ -84,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/> <unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200219023850/repository"/>
</location> </location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/> <unit id="org.eclipse.osgi" version="0.0.0"/>

8
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.target

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?> <?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
<target name="jgit-4.7" sequenceNumber="1580289413"> <target name="jgit-4.7" sequenceNumber="1582498162">
<locations> <locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/> <unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@ -70,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/> <unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
<unit id="org.junit" version="4.13.0.v20200128-1312"/> <unit id="org.junit" version="4.13.0.v20200204-1500"/>
<unit id="org.junit.source" version="4.13.0.v20200128-1312"/> <unit id="org.junit.source" version="4.13.0.v20200204-1500"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/> <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@ -84,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/> <unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200219023850/repository"/>
</location> </location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/> <unit id="org.eclipse.osgi" version="0.0.0"/>

8
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.target

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?> <?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
<target name="jgit-4.8" sequenceNumber="1580289407"> <target name="jgit-4.8" sequenceNumber="1582498158">
<locations> <locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/> <unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@ -70,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/> <unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
<unit id="org.junit" version="4.13.0.v20200128-1312"/> <unit id="org.junit" version="4.13.0.v20200204-1500"/>
<unit id="org.junit.source" version="4.13.0.v20200128-1312"/> <unit id="org.junit.source" version="4.13.0.v20200204-1500"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/> <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@ -84,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/> <unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200219023850/repository"/>
</location> </location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/> <unit id="org.eclipse.osgi" version="0.0.0"/>

8
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.target

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?> <?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
<target name="jgit-4.9" sequenceNumber="1580289407"> <target name="jgit-4.9" sequenceNumber="1582498159">
<locations> <locations>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/> <unit id="org.eclipse.jetty.client" version="9.4.25.v20191220"/>
@ -70,8 +70,8 @@
<unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/> <unit id="org.hamcrest.core.source" version="1.3.0.v20180420-1519"/>
<unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
<unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/> <unit id="org.hamcrest.library.source" version="1.3.0.v20180524-2246"/>
<unit id="org.junit" version="4.13.0.v20200128-1312"/> <unit id="org.junit" version="4.13.0.v20200204-1500"/>
<unit id="org.junit.source" version="4.13.0.v20200128-1312"/> <unit id="org.junit.source" version="4.13.0.v20200204-1500"/>
<unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
<unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/> <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
@ -84,7 +84,7 @@
<unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/> <unit id="org.slf4j.impl.log4j12.source" version="1.7.2.v20131105-2200"/>
<unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz" version="1.8.0.v20180207-1613"/>
<unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/> <unit id="org.tukaani.xz.source" version="1.8.0.v20180207-1613"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20200219023850/repository"/>
</location> </location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/> <unit id="org.eclipse.osgi" version="0.0.0"/>

7
org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/staging-2020-03.tpd

@ -1,7 +1,7 @@
target "staging-2020-03" with source configurePhase target "staging-2020-03" with source configurePhase
// see http://download.eclipse.org/tools/orbit/downloads/ // see http://download.eclipse.org/tools/orbit/downloads/
location "https://download.eclipse.org/tools/orbit/downloads/drops/S20200128200239/repository" { location "https://download.eclipse.org/tools/orbit/downloads/drops/S20200219023850/repository" {
com.google.gson [2.8.2.v20180104-1110,2.8.2.v20180104-1110] com.google.gson [2.8.2.v20180104-1110,2.8.2.v20180104-1110]
com.google.gson.source [2.8.2.v20180104-1110,2.8.2.v20180104-1110] com.google.gson.source [2.8.2.v20180104-1110,2.8.2.v20180104-1110]
com.jcraft.jsch [0.1.55.v20190404-1902,0.1.55.v20190404-1902] com.jcraft.jsch [0.1.55.v20190404-1902,0.1.55.v20190404-1902]
@ -49,8 +49,8 @@ location "https://download.eclipse.org/tools/orbit/downloads/drops/S202001282002
org.hamcrest.core.source [1.3.0.v20180420-1519,1.3.0.v20180420-1519] org.hamcrest.core.source [1.3.0.v20180420-1519,1.3.0.v20180420-1519]
org.hamcrest.library [1.3.0.v20180524-2246,1.3.0.v20180524-2246] org.hamcrest.library [1.3.0.v20180524-2246,1.3.0.v20180524-2246]
org.hamcrest.library.source [1.3.0.v20180524-2246,1.3.0.v20180524-2246] org.hamcrest.library.source [1.3.0.v20180524-2246,1.3.0.v20180524-2246]
org.junit [4.13.0.v20200128-1312,4.13.0.v20200128-1312] org.junit [4.13.0.v20200204-1500,4.13.0.v20200204-1500]
org.junit.source [4.13.0.v20200128-1312,4.13.0.v20200128-1312] org.junit.source [4.13.0.v20200204-1500,4.13.0.v20200204-1500]
org.kohsuke.args4j [2.33.0.v20160323-2218,2.33.0.v20160323-2218] org.kohsuke.args4j [2.33.0.v20160323-2218,2.33.0.v20160323-2218]
org.kohsuke.args4j.source [2.33.0.v20160323-2218,2.33.0.v20160323-2218] org.kohsuke.args4j.source [2.33.0.v20160323-2218,2.33.0.v20160323-2218]
org.mockito [2.23.0.v20190527-1420,2.23.0.v20190527-1420] org.mockito [2.23.0.v20190527-1420,2.23.0.v20190527-1420]
@ -64,4 +64,3 @@ location "https://download.eclipse.org/tools/orbit/downloads/drops/S202001282002
org.tukaani.xz [1.8.0.v20180207-1613,1.8.0.v20180207-1613] org.tukaani.xz [1.8.0.v20180207-1613,1.8.0.v20180207-1613]
org.tukaani.xz.source [1.8.0.v20180207-1613,1.8.0.v20180207-1613] org.tukaani.xz.source [1.8.0.v20180207-1613,1.8.0.v20180207-1613]
} }

2
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/DiffAlgorithms.java

@ -317,7 +317,7 @@ class DiffAlgorithms extends TextBuiltin {
return false; return false;
} }
private static abstract class Algorithm { private abstract static class Algorithm {
String name; String name;
abstract DiffAlgorithm create(); abstract DiffAlgorithm create();

4
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/LfsStore.java

@ -128,11 +128,11 @@ class LfsStore extends TextBuiltin {
} }
} }
private static enum StoreType { private enum StoreType {
FS, S3; FS, S3;
} }
private static enum StorageClass { private enum StorageClass {
REDUCED_REDUNDANCY, STANDARD REDUCED_REDUNDANCY, STANDARD
} }

2
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/ShowCommands.java

@ -50,7 +50,7 @@ class ShowCommands extends TextBuiltin {
errw.println(); errw.println();
} }
static enum Format { enum Format {
/** */ /** */
USAGE { USAGE {
@Override @Override

4
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/TextHashFunctions.java

@ -410,7 +410,7 @@ class TextHashFunctions extends TextBuiltin {
} }
/** Base class for any hashCode function to be tested. */ /** Base class for any hashCode function to be tested. */
private static abstract class Hash extends RawTextComparator { private abstract static class Hash extends RawTextComparator {
String name; String name;
@Override @Override
@ -420,7 +420,7 @@ class TextHashFunctions extends TextBuiltin {
} }
/** Base class for any hashCode folding function to be tested. */ /** Base class for any hashCode folding function to be tested. */
private static abstract class Fold { private abstract static class Fold {
String name; String name;
/** /**

1
org.eclipse.jgit.test/META-INF/MANIFEST.MF

@ -18,7 +18,6 @@ Import-Package: com.googlecode.javaewah;version="[1.1.6,2.0.0)",
org.apache.commons.compress.compressors.gzip;version="[1.15.0,2.0)", org.apache.commons.compress.compressors.gzip;version="[1.15.0,2.0)",
org.apache.commons.compress.compressors.xz;version="[1.15.0,2.0)", org.apache.commons.compress.compressors.xz;version="[1.15.0,2.0)",
org.assertj.core.api;version="[3.14.0,4.0.0)", org.assertj.core.api;version="[3.14.0,4.0.0)",
org.bouncycastle.util.encoders;version="[1.61.0,2.0.0)",
org.eclipse.jgit.annotations;version="[5.7.0,5.8.0)", org.eclipse.jgit.annotations;version="[5.7.0,5.8.0)",
org.eclipse.jgit.api;version="[5.7.0,5.8.0)", org.eclipse.jgit.api;version="[5.7.0,5.8.0)",
org.eclipse.jgit.api.errors;version="[5.7.0,5.8.0)", org.eclipse.jgit.api.errors;version="[5.7.0,5.8.0)",

2
org.eclipse.jgit.test/exttst/org/eclipse/jgit/patch/EGitPatchHistoryTest.java

@ -152,7 +152,7 @@ public class EGitPatchHistoryTest {
} }
} }
static abstract class CommitReader { abstract static class CommitReader {
private Process proc; private Process proc;
CommitReader(String[] args) throws IOException { CommitReader(String[] args) throws IOException {

4
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java

@ -563,10 +563,10 @@ public class RebaseCommandTest extends RepositoryTestCase {
RevCommit newD = rw.next(); RevCommit newD = rw.next();
assertDerivedFrom(newD, d); assertDerivedFrom(newD, d);
assertEquals(2, newD.getParentCount()); assertEquals(2, newD.getParentCount());
RevCommit newC = rw.next();
assertDerivedFrom(newC, c);
RevCommit newE = rw.next(); RevCommit newE = rw.next();
assertEquals(e, newE); assertEquals(e, newE);
RevCommit newC = rw.next();
assertDerivedFrom(newC, c);
assertEquals(newC, newD.getParent(0)); assertEquals(newC, newD.getParent(0));
assertEquals(e, newD.getParent(1)); assertEquals(e, newD.getParent(1));
assertEquals(g, rw.next()); assertEquals(g, rw.next());

1
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollectorTest.java

@ -19,7 +19,6 @@ import java.util.Collections;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.PackSource; import org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.PackSource;
import org.eclipse.jgit.internal.storage.dfs.DfsRefDatabase;
import org.eclipse.jgit.internal.storage.reftable.RefCursor; import org.eclipse.jgit.internal.storage.reftable.RefCursor;
import org.eclipse.jgit.internal.storage.reftable.ReftableConfig; import org.eclipse.jgit.internal.storage.reftable.ReftableConfig;
import org.eclipse.jgit.internal.storage.reftable.ReftableReader; import org.eclipse.jgit.internal.storage.reftable.ReftableReader;

12
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/GcOrphanFilesTest.java

@ -20,17 +20,17 @@ import org.junit.Before;
import org.junit.Test; import org.junit.Test;
public class GcOrphanFilesTest extends GcTestCase { public class GcOrphanFilesTest extends GcTestCase {
private final static String PACK = "pack"; private static final String PACK = "pack";
private final static String BITMAP_File_1 = PACK + "-1.bitmap"; private static final String BITMAP_File_1 = PACK + "-1.bitmap";
private final static String IDX_File_2 = PACK + "-2.idx"; private static final String IDX_File_2 = PACK + "-2.idx";
private final static String IDX_File_malformed = PACK + "-1234idx"; private static final String IDX_File_malformed = PACK + "-1234idx";
private final static String PACK_File_2 = PACK + "-2.pack"; private static final String PACK_File_2 = PACK + "-2.pack";
private final static String PACK_File_3 = PACK + "-3.pack"; private static final String PACK_File_3 = PACK + "-3.pack";
private File packDir; private File packDir;

2
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java

@ -305,7 +305,7 @@ public class ConfigTest {
assertFalse(c.getBoolean("s", "b", true)); assertFalse(c.getBoolean("s", "b", true));
} }
static enum TestEnum { enum TestEnum {
ONE_TWO; ONE_TWO;
} }

92
org.eclipse.jgit.test/tst/org/eclipse/jgit/revplot/PlotCommitListTest.java

@ -254,12 +254,12 @@ public class PlotCommitListTest extends RevWalkTestCase {
int posI = test.commit(i).lanePos(childPositions).parents(h) int posI = test.commit(i).lanePos(childPositions).parents(h)
.getLanePos(); .getLanePos();
test.commit(h).lanePos(posI).parents(f); test.commit(h).lanePos(posI).parents(f);
test.commit(g).lanePos(childPositions).parents(a);
test.commit(f).lanePos(posI).parents(e, d); test.commit(f).lanePos(posI).parents(e, d);
test.commit(d).lanePos(1).parents(b);
test.commit(e).lanePos(posI).parents(c); test.commit(e).lanePos(posI).parents(c);
test.commit(d).lanePos(2).parents(b);
test.commit(c).lanePos(posI).parents(b); test.commit(c).lanePos(posI).parents(b);
test.commit(b).lanePos(posI).parents(a); test.commit(b).lanePos(posI).parents(a);
test.commit(g).lanePos(childPositions).parents(a);
test.commit(a).lanePos(0).parents(); test.commit(a).lanePos(0).parents();
} }
} }
@ -325,42 +325,42 @@ public class PlotCommitListTest extends RevWalkTestCase {
.lanePos(mainPos); .lanePos(mainPos);
test.commit(merge_update_eclipse) test.commit(merge_update_eclipse)
.parents(add_a_clear, update_eclipse).lanePos(mainPos); .parents(add_a_clear, update_eclipse).lanePos(mainPos);
test.commit(update_eclipse).parents(add_Maven).lanePos(2);
test.commit(add_a_clear).parents(fix_broken).lanePos(mainPos); test.commit(add_a_clear).parents(fix_broken).lanePos(mainPos);
test.commit(fix_broken).parents(merge_disable_comment) test.commit(fix_broken).parents(merge_disable_comment)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(merge_disable_comment) test.commit(merge_disable_comment)
.parents(merge_resolve_handler, disable_comment) .parents(merge_resolve_handler, disable_comment)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(disable_comment).parents(clone_operation).lanePos(2); test.commit(disable_comment).parents(clone_operation).lanePos(3);
test.commit(merge_resolve_handler) test.commit(merge_resolve_handler)
.parents(clone_operation, resolve_handler).lanePos(mainPos); .parents(clone_operation, resolve_handler).lanePos(mainPos);
test.commit(update_eclipse).parents(add_Maven).lanePos(3); test.commit(resolve_handler).parents(merge_fix).lanePos(4);
test.commit(clone_operation).parents(merge_changeset_implementation) test.commit(clone_operation).parents(merge_changeset_implementation)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(merge_changeset_implementation) test.commit(merge_changeset_implementation)
.parents(merge_disable_source, changeset_implementation) .parents(merge_disable_source, changeset_implementation)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(changeset_implementation).parents(clear_repositorycache)
.lanePos(1);
test.commit(merge_disable_source) test.commit(merge_disable_source)
.parents(update_eclipse_iplog2, disable_source) .parents(update_eclipse_iplog2, disable_source)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(disable_source).parents(merge_use_remote).lanePos(3);
test.commit(update_eclipse_iplog2).parents(merge_use_remote) test.commit(update_eclipse_iplog2).parents(merge_use_remote)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(disable_source).parents(merge_use_remote).lanePos(1);
test.commit(merge_use_remote) test.commit(merge_use_remote)
.parents(update_eclipse_iplog, use_remote).lanePos(mainPos); .parents(update_eclipse_iplog, use_remote).lanePos(mainPos);
test.commit(changeset_implementation).parents(clear_repositorycache) test.commit(use_remote).parents(clear_repositorycache).lanePos(3);
.lanePos(2);
test.commit(update_eclipse_iplog).parents(merge_add_Maven) test.commit(update_eclipse_iplog).parents(merge_add_Maven)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(merge_add_Maven).parents(findToolBar_layout, add_Maven) test.commit(merge_add_Maven).parents(findToolBar_layout, add_Maven)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(add_Maven).parents(clear_repositorycache).lanePos(2);
test.commit(findToolBar_layout).parents(clear_repositorycache) test.commit(findToolBar_layout).parents(clear_repositorycache)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(use_remote).parents(clear_repositorycache).lanePos(1);
test.commit(add_Maven).parents(clear_repositorycache).lanePos(3);
test.commit(clear_repositorycache).parents(merge_remove) test.commit(clear_repositorycache).parents(merge_remove)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(resolve_handler).parents(merge_fix).lanePos(4);
test.commit(merge_remove).parents(add_simple, remove_unused) test.commit(merge_remove).parents(add_simple, remove_unused)
.lanePos(mainPos); .lanePos(mainPos);
test.commit(remove_unused).parents(merge_fix).lanePos(1); test.commit(remove_unused).parents(merge_fix).lanePos(1);
@ -453,33 +453,36 @@ public class PlotCommitListTest extends RevWalkTestCase {
pcl.source(pw); pcl.source(pw);
pcl.fillTo(Integer.MAX_VALUE); pcl.fillTo(Integer.MAX_VALUE);
// test that the commits b1, b2 and b3 are on the same position Set<Integer> positions = asSet(0, 1);
int bPos = pcl.get(9).lane.position; // b1 CommitListAssert test = new CommitListAssert(pcl);
assertEquals("b2 is an a different position", bPos, int posA = test.commit(a5).lanePos(positions).getLanePos();
pcl.get(7).lane.position); test.commit(a4);
assertEquals("b3 is on a different position", bPos, test.commit(a3).lanePos(posA);
pcl.get(4).lane.position); test.commit(e);
test.commit(d);
// test that nothing blocks the connections between b1, b2 and b3 test.commit(a2).lanePos(posA);
assertNotEquals("b lane is blocked by c", bPos, int posB = test.commit(b3).lanePos(positions).getLanePos();
pcl.get(8).lane.position); test.commit(b2).lanePos(posB);
assertNotEquals("b lane is blocked by a2", bPos, test.commit(b1).lanePos(posB);
pcl.get(6).lane.position); test.commit(c);
assertNotEquals("b lane is blocked by d", bPos, test.commit(a1).lanePos(posA);
pcl.get(5).lane.position); test.noMoreCommits();
assertNotEquals("a lane is the same as b lane", posA, posB);
} }
} }
/** /**
* <pre> * <pre>
* b3 * b3
* a5 |
* | |
* a4 | * a4 |
* | \| * | \|
* | b2 * | b2
* a3 | * a3 |
* | \| * | \|
* a2 |
* | b1 * | b1
* a2 |
* | / * | /
* a1 * a1
* </pre> * </pre>
@ -494,10 +497,11 @@ public class PlotCommitListTest extends RevWalkTestCase {
final RevCommit a3 = commit(a2, b1); final RevCommit a3 = commit(a2, b1);
final RevCommit b2 = commit(b1); final RevCommit b2 = commit(b1);
final RevCommit a4 = commit(a3, b2); final RevCommit a4 = commit(a3, b2);
final RevCommit a5 = commit(a4);
final RevCommit b3 = commit(b2); final RevCommit b3 = commit(b2);
try (PlotWalk pw = new PlotWalk(db)) { try (PlotWalk pw = new PlotWalk(db)) {
pw.markStart(pw.lookupCommit(a4)); pw.markStart(pw.lookupCommit(a5));
pw.markStart(pw.lookupCommit(b3)); pw.markStart(pw.lookupCommit(b3));
PlotCommitList<PlotLane> pcl = new PlotCommitList<>(); PlotCommitList<PlotLane> pcl = new PlotCommitList<>();
pcl.source(pw); pcl.source(pw);
@ -506,11 +510,12 @@ public class PlotCommitListTest extends RevWalkTestCase {
Set<Integer> positions = asSet(0, 1); Set<Integer> positions = asSet(0, 1);
CommitListAssert test = new CommitListAssert(pcl); CommitListAssert test = new CommitListAssert(pcl);
int posB = test.commit(b3).lanePos(positions).getLanePos(); int posB = test.commit(b3).lanePos(positions).getLanePos();
int posA = test.commit(a4).lanePos(positions).getLanePos(); int posA = test.commit(a5).lanePos(positions).getLanePos();
test.commit(a4).lanePos(posA);
test.commit(b2).lanePos(posB); test.commit(b2).lanePos(posB);
test.commit(a3).lanePos(posA); test.commit(a3).lanePos(posA);
test.commit(a2).lanePos(posA);
test.commit(b1).lanePos(posB); test.commit(b1).lanePos(posB);
test.commit(a2).lanePos(posA);
test.commit(a1).lanePos(posA); test.commit(a1).lanePos(posA);
test.noMoreCommits(); test.noMoreCommits();
} }
@ -519,13 +524,17 @@ public class PlotCommitListTest extends RevWalkTestCase {
/** /**
* <pre> * <pre>
* a4 * a4
* | b3 * |
* a3 | * a3
* | \\| * | \\
* | |\\ * a2 \\
* | b2|| * | \\
* a2 | // * | b3 ||
* | b1 * | | ||
* | b2 ||
* | | //
* | b1
* | |
* | / * | /
* a1 * a1
* </pre> * </pre>
@ -552,10 +561,10 @@ public class PlotCommitListTest extends RevWalkTestCase {
Set<Integer> positions = asSet(0, 1); Set<Integer> positions = asSet(0, 1);
CommitListAssert test = new CommitListAssert(pcl); CommitListAssert test = new CommitListAssert(pcl);
int posA = test.commit(a4).lanePos(positions).getLanePos(); int posA = test.commit(a4).lanePos(positions).getLanePos();
int posB = test.commit(b3).lanePos(positions).getLanePos();
test.commit(a3).lanePos(posA); test.commit(a3).lanePos(posA);
test.commit(b2).lanePos(posB);
test.commit(a2).lanePos(posA); test.commit(a2).lanePos(posA);
int posB = test.commit(b3).lanePos(positions).getLanePos();
test.commit(b2).lanePos(posB);
// b1 is not repositioned, uses "detour lane" // b1 is not repositioned, uses "detour lane"
// (drawn as a double arc in the ascii graph above) // (drawn as a double arc in the ascii graph above)
test.commit(b1).lanePos(posB); test.commit(b1).lanePos(posB);
@ -569,13 +578,14 @@ public class PlotCommitListTest extends RevWalkTestCase {
* b2 * b2
* a4 | * a4 |
* | \ | * | \ |
* a3 \| * | b1
* a3 |
* | \ | * | \ |
* | c | * | c |
* | / | * | / |
* a2 | * a2 |
* | b1 * | |
* / * | /
* | / * | /
* a1 * a1
* </pre> * </pre>
@ -604,10 +614,10 @@ public class PlotCommitListTest extends RevWalkTestCase {
CommitListAssert test = new CommitListAssert(pcl); CommitListAssert test = new CommitListAssert(pcl);
int posB = test.commit(b2).lanePos(positions).getLanePos(); int posB = test.commit(b2).lanePos(positions).getLanePos();
int posA = test.commit(a4).lanePos(positions).getLanePos(); int posA = test.commit(a4).lanePos(positions).getLanePos();
test.commit(b1).lanePos(posB); // repositioned to go around c
test.commit(a3).lanePos(posA); test.commit(a3).lanePos(posA);
test.commit(c).lanePos(positions); test.commit(c).lanePos(positions);
test.commit(a2).lanePos(posA); test.commit(a2).lanePos(posA);
test.commit(b1).lanePos(posB); // repositioned to go around c
test.commit(a1).lanePos(posA); test.commit(a1).lanePos(posA);
test.noMoreCommits(); test.noMoreCommits();
} }

106
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RevWalkSortTest.java

@ -144,4 +144,110 @@ public class RevWalkSortTest extends RevWalkTestCase {
assertCommit(d, rw.next()); assertCommit(d, rw.next());
assertNull(rw.next()); assertNull(rw.next());
} }
@Test
public void testSort_TOPO_OutOfOrderCommitTimes() throws Exception {
// b is committed before c2 in a different line of history.
//
final RevCommit a = commit();
final RevCommit c1 = commit(a);
final RevCommit b = commit(a);
final RevCommit c2 = commit(c1);
final RevCommit d = commit(b, c2);
rw.sort(RevSort.TOPO);
markStart(d);
assertCommit(d, rw.next());
assertCommit(c2, rw.next());
assertCommit(c1, rw.next());
assertCommit(b, rw.next());
assertCommit(a, rw.next());
assertNull(rw.next());
}
@Test
public void testSort_TOPO_MultipleLinesOfHistory() throws Exception {
final RevCommit a1 = commit();
final RevCommit b1 = commit(a1);
final RevCommit a2 = commit(a1, b1);
final RevCommit b2 = commit(b1);
final RevCommit b3 = commit(b1);
final RevCommit a3 = commit(a2, b2);
final RevCommit a4 = commit(a3, b3);
rw.sort(RevSort.TOPO);
markStart(a4);
assertCommit(a4, rw.next());
assertCommit(b3, rw.next());
assertCommit(a3, rw.next());
assertCommit(b2, rw.next());
assertCommit(a2, rw.next());
assertCommit(b1, rw.next());
assertCommit(a1, rw.next());
assertNull(rw.next());
}
@Test
public void testSort_TOPO_REVERSE_MultipleLinesOfHistory()
throws Exception {
final RevCommit a1 = commit();
final RevCommit b1 = commit(a1);
final RevCommit a2 = commit(a1, b1);
final RevCommit b2 = commit(b1);
final RevCommit b3 = commit(b1);
final RevCommit a3 = commit(a2, b2);
final RevCommit a4 = commit(a3, b3);
rw.sort(RevSort.TOPO);
rw.sort(RevSort.REVERSE, true);
markStart(a4);
assertCommit(a1, rw.next());
assertCommit(b1, rw.next());
assertCommit(a2, rw.next());
assertCommit(b2, rw.next());
assertCommit(a3, rw.next());
assertCommit(b3, rw.next());
assertCommit(a4, rw.next());
assertNull(rw.next());
}
@Test
public void testSort_TOPO_ParentOfMultipleStartChildren() throws Exception {
final RevCommit a = commit();
final RevCommit b = commit(a);
final RevCommit c = commit(a);
final RevCommit d1 = commit(a);
final RevCommit d2 = commit(d1);
final RevCommit e = commit(a);
rw.sort(RevSort.TOPO);
markStart(b);
markStart(c);
markStart(d2);
markStart(e);
assertCommit(e, rw.next());
assertCommit(d2, rw.next());
assertCommit(d1, rw.next());
assertCommit(c, rw.next());
assertCommit(b, rw.next());
assertCommit(a, rw.next());
assertNull(rw.next());
}
@Test
public void testSort_TOPO_Uninteresting() throws Exception {
final RevCommit a1 = commit();
final RevCommit a2 = commit(a1);
final RevCommit a3 = commit(a2);
final RevCommit b = commit(a1);
final RevCommit a4 = commit(a3, b);
rw.sort(RevSort.TOPO);
markStart(a4);
markUninteresting(a2);
assertCommit(a4, rw.next());
assertCommit(b, rw.next());
assertCommit(a3, rw.next());
assertNull(rw.next());
}
} }

2
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/GitDateParserBadlyFormattedTest.java

@ -46,7 +46,7 @@ public class GitDateParserBadlyFormattedTest {
} }
@DataPoints @DataPoints
static public String[] getDataPoints() { public static String[] getDataPoints() {
return new String[] { "", "1970", "3000.3000.3000", "3 yesterday ago", return new String[] { "", "1970", "3000.3000.3000", "3 yesterday ago",
"now yesterday ago", "yesterdays", "3.day. 2.week.ago", "now yesterday ago", "yesterdays", "3.day. 2.week.ago",
"day ago", "Gra Feb 21 15:35:00 2007 +0100", "day ago", "Gra Feb 21 15:35:00 2007 +0100",

49
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/HexTest.java

@ -0,0 +1,49 @@
/*
* Copyright (C) 2010, Google Inc.
* Copyright (C) 2020 Michael Dardis and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0 which is available at
* https://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package org.eclipse.jgit.util;
import static org.eclipse.jgit.util.Hex.decode;
import static org.eclipse.jgit.util.Hex.toHexString;
import static org.junit.Assert.assertEquals;
import org.eclipse.jgit.junit.JGitTestUtil;
import org.eclipse.jgit.lib.Constants;
import org.junit.Test;
public class HexTest {
@Test
public void testEncode() {
assertEquals("68690a", toHexString(b("hi\n")));
assertEquals("0001020d0a0971", toHexString(b("\0\1\2\r\n\tq")));
}
@Test
public void testDecode() {
JGitTestUtil.assertEquals(b("hi\n"), decode("68690a"));
JGitTestUtil.assertEquals(b("\0\1\2\r\n\tq"), decode("0001020d0a0971"));
JGitTestUtil.assertEquals(b("\u000EB"), decode("0E42"));
}
@Test
public void testEncodeMatchesDecode() {
String[] testStrings = { "", "cow", "a", "a secret string",
"\0\1\2\r\n\t" };
for (String e : testStrings) {
JGitTestUtil.assertEquals(b(e), decode(toHexString(b(e))));
}
}
private static byte[] b(String str) {
return Constants.encode(str);
}
}

1
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/StatsTest.java

@ -12,7 +12,6 @@ package org.eclipse.jgit.util;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import org.eclipse.jgit.util.Stats;
import org.junit.Test; import org.junit.Test;
public class StatsTest { public class StatsTest {

81
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/io/TeeOutputStreamTest.java

@ -0,0 +1,81 @@
/*
* Copyright (C) 2020, Michael Dardis. and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0 which is available at
* https://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package org.eclipse.jgit.util.io;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.eclipse.jgit.lib.Constants;
import org.junit.Test;
public class TeeOutputStreamTest {
@Test
public void test() throws IOException {
byte[] data = Constants.encode("Hello World");
TestOutput first = new TestOutput();
TestOutput second = new TestOutput();
try (TeeOutputStream tee = new TeeOutputStream(first, second)) {
tee.write(data);
assertArrayEquals("Stream output must match", first.toByteArray(),
second.toByteArray());
tee.write(1);
assertArrayEquals("Stream output must match", first.toByteArray(),
second.toByteArray());
tee.write(data, 1, 4); // Test partial write methods
assertArrayEquals("Stream output must match", first.toByteArray(),
second.toByteArray());
}
assertTrue("First stream should be closed", first.closed);
assertTrue("Second stream should be closed", second.closed);
}
@Test
public void testCloseException() {
TestOutput first = new TestOutput() {
@Override
public void close() throws IOException {
throw new IOException();
}
};
TestOutput second = new TestOutput();
@SuppressWarnings("resource")
TeeOutputStream tee = new TeeOutputStream(first, second);
try {
tee.close();
} catch (IOException ex) {
// Expected from first closed
}
assertFalse("First stream should not be closed", first.closed);
assertTrue("Second stream should still be closed if first close failed",
second.closed);
}
private static class TestOutput extends ByteArrayOutputStream {
private boolean closed;
@Override
public void close() throws IOException {
closed = true;
super.close();
}
}
}

1
org.eclipse.jgit/META-INF/MANIFEST.MF

@ -172,7 +172,6 @@ Import-Package: com.googlecode.javaewah;version="[1.1.6,2.0.0)",
org.bouncycastle.openpgp.operator;version="[1.61.0,2.0.0)", org.bouncycastle.openpgp.operator;version="[1.61.0,2.0.0)",
org.bouncycastle.openpgp.operator.jcajce;version="[1.61.0,2.0.0)", org.bouncycastle.openpgp.operator.jcajce;version="[1.61.0,2.0.0)",
org.bouncycastle.util.encoders;version="[1.61.0,2.0.0)", org.bouncycastle.util.encoders;version="[1.61.0,2.0.0)",
org.bouncycastle.util.io;version="[1.61.0,2.0.0)",
org.slf4j;version="[1.7.0,2.0.0)", org.slf4j;version="[1.7.0,2.0.0)",
org.xml.sax, org.xml.sax,
org.xml.sax.helpers org.xml.sax.helpers

2
org.eclipse.jgit/src/org/eclipse/jgit/api/CheckoutCommand.java

@ -104,7 +104,7 @@ public class CheckoutCommand extends GitCommand<Ref> {
/** /**
* Stage to check out, see {@link CheckoutCommand#setStage(Stage)}. * Stage to check out, see {@link CheckoutCommand#setStage(Stage)}.
*/ */
public static enum Stage { public enum Stage {
/** /**
* Base stage (#1) * Base stage (#1)
*/ */

2
org.eclipse.jgit/src/org/eclipse/jgit/api/CommitCommand.java

@ -491,7 +491,7 @@ public class CommitCommand extends GitCommand<RevCommit> {
int position = Collections.binarySearch(only, p); int position = Collections.binarySearch(only, p);
if (position >= 0) if (position >= 0)
return position; return position;
int l = p.lastIndexOf("/"); //$NON-NLS-1$ int l = p.lastIndexOf('/');
if (l < 1) if (l < 1)
break; break;
p = p.substring(0, l); p = p.substring(0, l);

2
org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java

@ -57,7 +57,7 @@ import org.eclipse.jgit.transport.TagOpt;
*/ */
public class PullCommand extends TransportCommand<PullCommand, PullResult> { public class PullCommand extends TransportCommand<PullCommand, PullResult> {
private final static String DOT = "."; //$NON-NLS-1$ private static final String DOT = "."; //$NON-NLS-1$
private ProgressMonitor monitor = NullProgressMonitor.INSTANCE; private ProgressMonitor monitor = NullProgressMonitor.INSTANCE;

5
org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java

@ -800,7 +800,8 @@ public class RebaseCommand extends GitCommand<RebaseResult> {
sb.append("# This is a combination of ").append(count) sb.append("# This is a combination of ").append(count)
.append(" commits.\n"); .append(" commits.\n");
// Add the previous message without header (i.e first line) // Add the previous message without header (i.e first line)
sb.append(currSquashMessage.substring(currSquashMessage.indexOf("\n") + 1)); sb.append(currSquashMessage
.substring(currSquashMessage.indexOf('\n') + 1));
sb.append("\n"); sb.append("\n");
if (isSquash) { if (isSquash) {
sb.append("# This is the ").append(count).append(ordinal) sb.append("# This is the ").append(count).append(ordinal)
@ -838,7 +839,7 @@ public class RebaseCommand extends GitCommand<RebaseResult> {
static int parseSquashFixupSequenceCount(String currSquashMessage) { static int parseSquashFixupSequenceCount(String currSquashMessage) {
String regex = "This is a combination of (.*) commits"; //$NON-NLS-1$ String regex = "This is a combination of (.*) commits"; //$NON-NLS-1$
String firstLine = currSquashMessage.substring(0, String firstLine = currSquashMessage.substring(0,
currSquashMessage.indexOf("\n")); //$NON-NLS-1$ currSquashMessage.indexOf('\n'));
Pattern pattern = Pattern.compile(regex); Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(firstLine); Matcher matcher = pattern.matcher(firstLine);
if (!matcher.find()) if (!matcher.find())

2
org.eclipse.jgit/src/org/eclipse/jgit/attributes/Attribute.java

@ -34,7 +34,7 @@ public final class Attribute {
* The attribute value state * The attribute value state
* see also https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html * see also https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html
*/ */
public static enum State { public enum State {
/** the attribute is set */ /** the attribute is set */
SET, SET,

6
org.eclipse.jgit/src/org/eclipse/jgit/attributes/AttributesRule.java

@ -9,7 +9,7 @@
*/ */
package org.eclipse.jgit.attributes; package org.eclipse.jgit.attributes;
import static org.eclipse.jgit.ignore.internal.IMatcher.NO_MATCH; import static org.eclipse.jgit.ignore.IMatcher.NO_MATCH;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@ -18,7 +18,7 @@ import java.util.List;
import org.eclipse.jgit.attributes.Attribute.State; import org.eclipse.jgit.attributes.Attribute.State;
import org.eclipse.jgit.errors.InvalidPatternException; import org.eclipse.jgit.errors.InvalidPatternException;
import org.eclipse.jgit.ignore.FastIgnoreRule; import org.eclipse.jgit.ignore.FastIgnoreRule;
import org.eclipse.jgit.ignore.internal.IMatcher; import org.eclipse.jgit.ignore.IMatcher;
import org.eclipse.jgit.ignore.internal.PathMatcher; import org.eclipse.jgit.ignore.internal.PathMatcher;
/** /**
@ -58,7 +58,7 @@ public class AttributesRule {
continue; continue;
} }
final int equalsIndex = attribute.indexOf("="); //$NON-NLS-1$ final int equalsIndex = attribute.indexOf('=');
if (equalsIndex == -1) if (equalsIndex == -1)
result.add(new Attribute(attribute, State.SET)); result.add(new Attribute(attribute, State.SET));
else { else {

2
org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffConfig.java

@ -26,7 +26,7 @@ public class DiffConfig {
public static final Config.SectionParser<DiffConfig> KEY = DiffConfig::new; public static final Config.SectionParser<DiffConfig> KEY = DiffConfig::new;
/** Permissible values for {@code diff.renames}. */ /** Permissible values for {@code diff.renames}. */
public static enum RenameDetectionType { public enum RenameDetectionType {
/** Rename detection is disabled. */ /** Rename detection is disabled. */
FALSE, FALSE,

4
org.eclipse.jgit/src/org/eclipse/jgit/diff/DiffEntry.java

@ -39,7 +39,7 @@ public class DiffEntry {
public static final String DEV_NULL = "/dev/null"; //$NON-NLS-1$ public static final String DEV_NULL = "/dev/null"; //$NON-NLS-1$
/** General type of change a single file-level patch describes. */ /** General type of change a single file-level patch describes. */
public static enum ChangeType { public enum ChangeType {
/** Add a new file to the project */ /** Add a new file to the project */
ADD, ADD,
@ -57,7 +57,7 @@ public class DiffEntry {
} }
/** Specify the old or new side for more generalized access. */ /** Specify the old or new side for more generalized access. */
public static enum Side { public enum Side {
/** The old side of a DiffEntry. */ /** The old side of a DiffEntry. */
OLD, OLD,

2
org.eclipse.jgit/src/org/eclipse/jgit/diff/Edit.java

@ -31,7 +31,7 @@ package org.eclipse.jgit.diff;
*/ */
public class Edit { public class Edit {
/** Type of edit */ /** Type of edit */
public static enum Type { public enum Type {
/** Sequence B has inserted the region. */ /** Sequence B has inserted the region. */
INSERT, INSERT,

12
org.eclipse.jgit/src/org/eclipse/jgit/diff/SimilarityRenameDetector.java

@ -302,14 +302,14 @@ class SimilarityRenameDetector {
} }
static int nameScore(String a, String b) { static int nameScore(String a, String b) {
int aDirLen = a.lastIndexOf("/") + 1; //$NON-NLS-1$ int aDirLen = a.lastIndexOf('/') + 1;
int bDirLen = b.lastIndexOf("/") + 1; //$NON-NLS-1$ int bDirLen = b.lastIndexOf('/') + 1;
int dirMin = Math.min(aDirLen, bDirLen); int dirMin = Math.min(aDirLen, bDirLen);
int dirMax = Math.max(aDirLen, bDirLen); int dirMax = Math.max(aDirLen, bDirLen);
final int dirScoreLtr; final int dirScoreLtr;
final int dirScoreRtl; final int dirScoreRtl;
if (dirMax == 0) { if (dirMax == 0) {
dirScoreLtr = 100; dirScoreLtr = 100;

2
org.eclipse.jgit/src/org/eclipse/jgit/errors/NoMergeBaseException.java

@ -30,7 +30,7 @@ public class NoMergeBaseException extends IOException {
* An enum listing the different reason why no merge base could be * An enum listing the different reason why no merge base could be
* determined. * determined.
*/ */
public static enum MergeBaseFailureReason { public enum MergeBaseFailureReason {
/** /**
* Multiple merge bases have been found (e.g. the commits to be merged * Multiple merge bases have been found (e.g. the commits to be merged
* have multiple common predecessors) but the merge strategy doesn't * have multiple common predecessors) but the merge strategy doesn't

4
org.eclipse.jgit/src/org/eclipse/jgit/errors/TranslationBundleException.java

@ -45,7 +45,7 @@ public abstract class TranslationBundleException extends RuntimeException {
* *
* @return bundle class for which the exception occurred * @return bundle class for which the exception occurred
*/ */
final public Class getBundleClass() { public final Class getBundleClass() {
return bundleClass; return bundleClass;
} }
@ -54,7 +54,7 @@ public abstract class TranslationBundleException extends RuntimeException {
* *
* @return locale for which the exception occurred * @return locale for which the exception occurred
*/ */
final public Locale getLocale() { public final Locale getLocale() {
return locale; return locale;
} }
} }

2
org.eclipse.jgit/src/org/eclipse/jgit/hooks/GitHook.java

@ -17,11 +17,11 @@ import java.io.PrintStream;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import org.bouncycastle.util.io.TeeOutputStream;
import org.eclipse.jgit.api.errors.AbortedByHookException; import org.eclipse.jgit.api.errors.AbortedByHookException;
import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.ProcessResult; import org.eclipse.jgit.util.ProcessResult;
import org.eclipse.jgit.util.io.TeeOutputStream;
/** /**
* Git can fire off custom scripts when certain important actions occur. These * Git can fire off custom scripts when certain important actions occur. These

5
org.eclipse.jgit/src/org/eclipse/jgit/ignore/FastIgnoreRule.java

@ -9,13 +9,12 @@
*/ */
package org.eclipse.jgit.ignore; package org.eclipse.jgit.ignore;
import static org.eclipse.jgit.ignore.internal.IMatcher.NO_MATCH; import static org.eclipse.jgit.ignore.IMatcher.NO_MATCH;
import static org.eclipse.jgit.ignore.internal.Strings.isDirectoryPattern; import static org.eclipse.jgit.ignore.internal.Strings.isDirectoryPattern;
import static org.eclipse.jgit.ignore.internal.Strings.stripTrailing; import static org.eclipse.jgit.ignore.internal.Strings.stripTrailing;
import static org.eclipse.jgit.ignore.internal.Strings.stripTrailingWhitespace; import static org.eclipse.jgit.ignore.internal.Strings.stripTrailingWhitespace;
import org.eclipse.jgit.errors.InvalidPatternException; import org.eclipse.jgit.errors.InvalidPatternException;
import org.eclipse.jgit.ignore.internal.IMatcher;
import org.eclipse.jgit.ignore.internal.PathMatcher; import org.eclipse.jgit.ignore.internal.PathMatcher;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -29,7 +28,7 @@ import org.slf4j.LoggerFactory;
* @since 3.6 * @since 3.6
*/ */
public class FastIgnoreRule { public class FastIgnoreRule {
private final static Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(FastIgnoreRule.class); .getLogger(FastIgnoreRule.class);
/** /**

37
org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/IMatcher.java → org.eclipse.jgit/src/org/eclipse/jgit/ignore/IMatcher.java

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2014, 2017 Andrey Loskutov <loskutov@gmx.de> and others * Copyright (C) 2014, 2020 Andrey Loskutov <loskutov@gmx.de> and others
* *
* This program and the accompanying materials are made available under the * This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0 which is available at * terms of the Eclipse Distribution License v. 1.0 which is available at
@ -7,10 +7,16 @@
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
package org.eclipse.jgit.ignore.internal; package org.eclipse.jgit.ignore;
import org.eclipse.jgit.annotations.NonNull;
import org.eclipse.jgit.errors.InvalidPatternException;
import org.eclipse.jgit.ignore.internal.PathMatcher;
/** /**
* Generic string matcher * Generic path matcher.
*
* @since 5.7
*/ */
public interface IMatcher { public interface IMatcher {
@ -18,6 +24,7 @@ public interface IMatcher {
* Matcher that does not match any pattern. * Matcher that does not match any pattern.
*/ */
public static final IMatcher NO_MATCH = new IMatcher() { public static final IMatcher NO_MATCH = new IMatcher() {
@Override @Override
public boolean matches(String path, boolean assumeDirectory, public boolean matches(String path, boolean assumeDirectory,
boolean pathMatch) { boolean pathMatch) {
@ -30,6 +37,25 @@ public interface IMatcher {
} }
}; };
/**
* Creates a path matcher for the given pattern. A pattern may contain the
* wildcards "?", "*", and "**". The directory separator is '/'.
*
* @param pattern
* to match
* @param dirOnly
* whether to match only directories
* @return a matcher for the given pattern
* @throws InvalidPatternException
* if the pattern is invalid
*/
@NonNull
public static IMatcher createPathMatcher(@NonNull String pattern,
boolean dirOnly) throws InvalidPatternException {
return PathMatcher.createPathMatcher(pattern,
Character.valueOf(FastIgnoreRule.PATH_SEPARATOR), dirOnly);
}
/** /**
* Matches entire given string * Matches entire given string
* *
@ -40,10 +66,7 @@ public interface IMatcher {
* with a slash) * with a slash)
* @param pathMatch * @param pathMatch
* {@code true} if the match is for the full path: prefix-only * {@code true} if the match is for the full path: prefix-only
* matches are not allowed, and * matches are not allowed
* {@link org.eclipse.jgit.ignore.internal.NameMatcher}s must
* match only the last component (if they can -- they may not, if
* they are anchored at the beginning)
* @return true if this matcher pattern matches given string * @return true if this matcher pattern matches given string
*/ */
boolean matches(String path, boolean assumeDirectory, boolean pathMatch); boolean matches(String path, boolean assumeDirectory, boolean pathMatch);

2
org.eclipse.jgit/src/org/eclipse/jgit/ignore/IgnoreNode.java

@ -26,7 +26,7 @@ import java.util.List;
*/ */
public class IgnoreNode { public class IgnoreNode {
/** Result from {@link IgnoreNode#isIgnored(String, boolean)}. */ /** Result from {@link IgnoreNode#isIgnored(String, boolean)}. */
public static enum MatchResult { public enum MatchResult {
/** The file is not ignored, due to a rule saying its not ignored. */ /** The file is not ignored, due to a rule saying its not ignored. */
NOT_IGNORED, NOT_IGNORED,

2
org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/AbstractMatcher.java

@ -9,6 +9,8 @@
*/ */
package org.eclipse.jgit.ignore.internal; package org.eclipse.jgit.ignore.internal;
import org.eclipse.jgit.ignore.IMatcher;
/** /**
* Base class for default methods as {@link #toString()} and such. * Base class for default methods as {@link #toString()} and such.
* <p> * <p>

1
org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/PathMatcher.java

@ -19,6 +19,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.eclipse.jgit.errors.InvalidPatternException; import org.eclipse.jgit.errors.InvalidPatternException;
import org.eclipse.jgit.ignore.IMatcher;
import org.eclipse.jgit.ignore.internal.Strings.PatternState; import org.eclipse.jgit.ignore.internal.Strings.PatternState;
/** /**

8
org.eclipse.jgit/src/org/eclipse/jgit/ignore/internal/Strings.java

@ -196,11 +196,11 @@ public class Strings {
return PatternState.COMPLEX; return PatternState.COMPLEX;
} }
static enum PatternState { enum PatternState {
LEADING_ASTERISK_ONLY, TRAILING_ASTERISK_ONLY, COMPLEX, NONE LEADING_ASTERISK_ONLY, TRAILING_ASTERISK_ONLY, COMPLEX, NONE
} }
final static List<String> POSIX_CHAR_CLASSES = Arrays.asList( static final List<String> POSIX_CHAR_CLASSES = Arrays.asList(
"alnum", "alpha", "blank", "cntrl", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ "alnum", "alpha", "blank", "cntrl", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
// [:alnum:] [:alpha:] [:blank:] [:cntrl:] // [:alnum:] [:alpha:] [:blank:] [:cntrl:]
"digit", "graph", "lower", "print", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ "digit", "graph", "lower", "print", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
@ -215,7 +215,7 @@ public class Strings {
private static final String DL = "\\p{javaDigit}\\p{javaLetter}"; //$NON-NLS-1$ private static final String DL = "\\p{javaDigit}\\p{javaLetter}"; //$NON-NLS-1$
final static List<String> JAVA_CHAR_CLASSES = Arrays static final List<String> JAVA_CHAR_CLASSES = Arrays
.asList("\\p{Alnum}", "\\p{javaLetter}", "\\p{Blank}", "\\p{Cntrl}", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ .asList("\\p{Alnum}", "\\p{javaLetter}", "\\p{Blank}", "\\p{Cntrl}", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
// [:alnum:] [:alpha:] [:blank:] [:cntrl:] // [:alnum:] [:alpha:] [:blank:] [:cntrl:]
"\\p{javaDigit}", "[\\p{Graph}" + DL + "]", "\\p{Ll}", "[\\p{Print}" + DL + "]", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ "\\p{javaDigit}", "[\\p{Graph}" + DL + "]", "\\p{Ll}", "[\\p{Print}" + DL + "]", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
@ -228,7 +228,7 @@ public class Strings {
// Collating symbols [[.a.]] or equivalence class expressions [[=a=]] are // Collating symbols [[.a.]] or equivalence class expressions [[=a=]] are
// not supported by CLI git (at least not by 1.9.1) // not supported by CLI git (at least not by 1.9.1)
final static Pattern UNSUPPORTED = Pattern static final Pattern UNSUPPORTED = Pattern
.compile("\\[\\[[.=]\\w+[.=]\\]\\]"); //$NON-NLS-1$ .compile("\\[\\[[.=]\\w+[.=]\\]\\]"); //$NON-NLS-1$
/** /**

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/ketch/KetchLeader.java

@ -93,7 +93,7 @@ public abstract class KetchLeader {
private static final Logger log = LoggerFactory.getLogger(KetchLeader.class); private static final Logger log = LoggerFactory.getLogger(KetchLeader.class);
/** Current state of the leader instance. */ /** Current state of the leader instance. */
public static enum State { public enum State {
/** Newly created instance trying to elect itself leader. */ /** Newly created instance trying to elect itself leader. */
CANDIDATE, CANDIDATE,

4
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsObjDatabase.java

@ -64,7 +64,7 @@ public abstract class DfsObjDatabase extends ObjectDatabase {
* comparator based on {@link Enum#compareTo}. Prefer {@link * comparator based on {@link Enum#compareTo}. Prefer {@link
* #DEFAULT_COMPARATOR} or your own {@link ComparatorBuilder}. * #DEFAULT_COMPARATOR} or your own {@link ComparatorBuilder}.
*/ */
public static enum PackSource { public enum PackSource {
/** The pack is created by ObjectInserter due to local activity. */ /** The pack is created by ObjectInserter due to local activity. */
INSERT, INSERT,
@ -672,7 +672,7 @@ public abstract class DfsObjDatabase extends ObjectDatabase {
} }
/** Snapshot of packs scanned in a single pass. */ /** Snapshot of packs scanned in a single pass. */
public static abstract class PackList { public abstract static class PackList {
/** All known packs, sorted. */ /** All known packs, sorted. */
public final DfsPackFile[] packs; public final DfsPackFile[] packs;

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileObjectDatabase.java

@ -27,7 +27,7 @@ import org.eclipse.jgit.lib.ObjectReader;
import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.FS;
abstract class FileObjectDatabase extends ObjectDatabase { abstract class FileObjectDatabase extends ObjectDatabase {
static enum InsertLooseObjectResult { enum InsertLooseObjectResult {
INSERTED, EXISTS_PACKED, EXISTS_LOOSE, FAILURE; INSERTED, EXISTS_PACKED, EXISTS_LOOSE, FAILURE;
} }

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java

@ -98,7 +98,7 @@ import org.slf4j.LoggerFactory;
* adapted to FileRepositories. * adapted to FileRepositories.
*/ */
public class GC { public class GC {
private final static Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(GC.class); .getLogger(GC.class);
private static final String PRUNE_EXPIRE_DEFAULT = "2.weeks.ago"; //$NON-NLS-1$ private static final String PRUNE_EXPIRE_DEFAULT = "2.weeks.ago"; //$NON-NLS-1$

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/LockFile.java

@ -50,7 +50,7 @@ import org.slf4j.LoggerFactory;
* name. * name.
*/ */
public class LockFile { public class LockFile {
private final static Logger LOG = LoggerFactory.getLogger(LockFile.class); private static final Logger LOG = LoggerFactory.getLogger(LockFile.class);
/** /**
* Unlock the given file. * Unlock the given file.

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java

@ -76,7 +76,7 @@ import org.slf4j.LoggerFactory;
* considered. * considered.
*/ */
public class ObjectDirectory extends FileObjectDatabase { public class ObjectDirectory extends FileObjectDatabase {
private final static Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(ObjectDirectory.class); .getLogger(ObjectDirectory.class);
private static final PackList NO_PACKS = new PackList( private static final PackList NO_PACKS = new PackList(

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java

@ -70,7 +70,7 @@ import org.slf4j.LoggerFactory;
* objects are similar. * objects are similar.
*/ */
public class PackFile implements Iterable<PackIndex.MutableEntry> { public class PackFile implements Iterable<PackIndex.MutableEntry> {
private final static Logger LOG = LoggerFactory.getLogger(PackFile.class); private static final Logger LOG = LoggerFactory.getLogger(PackFile.class);
/** /**
* Sorts PackFiles to be most recently created to least recently created. * Sorts PackFiles to be most recently created to least recently created.

10
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java

@ -97,7 +97,7 @@ import org.slf4j.LoggerFactory;
* overall size of a Git repository on disk. * overall size of a Git repository on disk.
*/ */
public class RefDirectory extends RefDatabase { public class RefDirectory extends RefDatabase {
private final static Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(RefDirectory.class); .getLogger(RefDirectory.class);
/** Magic string denoting the start of a symbolic reference file. */ /** Magic string denoting the start of a symbolic reference file. */
@ -1376,7 +1376,7 @@ public class RefDirectory extends RefDatabase {
LooseRef peel(ObjectIdRef newLeaf); LooseRef peel(ObjectIdRef newLeaf);
} }
private final static class LoosePeeledTag extends ObjectIdRef.PeeledTag private static final class LoosePeeledTag extends ObjectIdRef.PeeledTag
implements LooseRef { implements LooseRef {
private final FileSnapshot snapShot; private final FileSnapshot snapShot;
@ -1397,7 +1397,7 @@ public class RefDirectory extends RefDatabase {
} }
} }
private final static class LooseNonTag extends ObjectIdRef.PeeledNonTag private static final class LooseNonTag extends ObjectIdRef.PeeledNonTag
implements LooseRef { implements LooseRef {
private final FileSnapshot snapShot; private final FileSnapshot snapShot;
@ -1418,7 +1418,7 @@ public class RefDirectory extends RefDatabase {
} }
} }
private final static class LooseUnpeeled extends ObjectIdRef.Unpeeled private static final class LooseUnpeeled extends ObjectIdRef.Unpeeled
implements LooseRef { implements LooseRef {
private FileSnapshot snapShot; private FileSnapshot snapShot;
@ -1453,7 +1453,7 @@ public class RefDirectory extends RefDatabase {
} }
} }
private final static class LooseSymbolicRef extends SymbolicRef implements private static final class LooseSymbolicRef extends SymbolicRef implements
LooseRef { LooseRef {
private final FileSnapshot snapShot; private final FileSnapshot snapShot;

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java

@ -48,7 +48,7 @@ public class PackExt {
* the file extension. * the file extension.
* @return the PackExt for the ext * @return the PackExt for the ext
*/ */
public synchronized static PackExt newPackExt(String ext) { public static synchronized PackExt newPackExt(String ext) {
PackExt[] dst = new PackExt[VALUES.length + 1]; PackExt[] dst = new PackExt[VALUES.length + 1];
for (int i = 0; i < VALUES.length; i++) { for (int i = 0; i < VALUES.length; i++) {
PackExt packExt = VALUES[i]; PackExt packExt = VALUES[i];

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java

@ -2399,7 +2399,7 @@ public class PackWriter implements AutoCloseable {
} }
/** Possible states that a PackWriter can be in. */ /** Possible states that a PackWriter can be in. */
public static enum PackingPhase { public enum PackingPhase {
/** Counting objects phase. */ /** Counting objects phase. */
COUNTING, COUNTING,

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/BlockWriter.java

@ -253,7 +253,7 @@ class BlockWriter {
return aLen - bLen; return aLen - bLen;
} }
static abstract class Entry { abstract static class Entry {
static int compare(Entry ea, Entry eb) { static int compare(Entry ea, Entry eb) {
byte[] a = ea.key; byte[] a = ea.key;
byte[] b = eb.key; byte[] b = eb.key;

2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/ReftableDatabase.java

@ -47,7 +47,7 @@ public abstract class ReftableDatabase {
* @throws IOException * @throws IOException
* on I/O problems. * on I/O problems.
*/ */
abstract protected MergedReftable openMergedReftable() throws IOException; protected abstract MergedReftable openMergedReftable() throws IOException;
/** /**
* @return the next available logical timestamp for an additional reftable * @return the next available logical timestamp for an additional reftable

14
org.eclipse.jgit/src/org/eclipse/jgit/lib/CoreConfig.java

@ -27,7 +27,7 @@ public class CoreConfig {
public static final Config.SectionParser<CoreConfig> KEY = CoreConfig::new; public static final Config.SectionParser<CoreConfig> KEY = CoreConfig::new;
/** Permissible values for {@code core.autocrlf}. */ /** Permissible values for {@code core.autocrlf}. */
public static enum AutoCRLF { public enum AutoCRLF {
/** Automatic CRLF-&gt;LF conversion is disabled. */ /** Automatic CRLF-&gt;LF conversion is disabled. */
FALSE, FALSE,
@ -45,7 +45,7 @@ public class CoreConfig {
* *
* @since 4.3 * @since 4.3
*/ */
public static enum EOL { public enum EOL {
/** Check in with LF, check out with CRLF. */ /** Check in with LF, check out with CRLF. */
CRLF, CRLF,
@ -61,7 +61,7 @@ public class CoreConfig {
* *
* @since 4.3 * @since 4.3
*/ */
public static enum EolStreamType { public enum EolStreamType {
/** Convert to CRLF without binary detection. */ /** Convert to CRLF without binary detection. */
TEXT_CRLF, TEXT_CRLF,
@ -83,7 +83,7 @@ public class CoreConfig {
* *
* @since 3.0 * @since 3.0
*/ */
public static enum CheckStat { public enum CheckStat {
/** /**
* Only check the size and whole second part of time stamp when * Only check the size and whole second part of time stamp when
* comparing the stat info in the dircache with actual file stat info. * comparing the stat info in the dircache with actual file stat info.
@ -102,7 +102,7 @@ public class CoreConfig {
* *
* @since 5.6 * @since 5.6
*/ */
public static enum LogRefUpdates { public enum LogRefUpdates {
/** Don't create ref logs; default for bare repositories. */ /** Don't create ref logs; default for bare repositories. */
FALSE, FALSE,
@ -131,7 +131,7 @@ public class CoreConfig {
* *
* @since 3.3 * @since 3.3
*/ */
public static enum SymLinks { public enum SymLinks {
/** Check out symbolic links as plain files . */ /** Check out symbolic links as plain files . */
FALSE, FALSE,
@ -144,7 +144,7 @@ public class CoreConfig {
* *
* @since 3.5 * @since 3.5
*/ */
public static enum HideDotFiles { public enum HideDotFiles {
/** Do not hide .files. */ /** Do not hide .files. */
FALSE, FALSE,

2
org.eclipse.jgit/src/org/eclipse/jgit/lib/GitmoduleEntry.java

@ -9,8 +9,6 @@
*/ */
package org.eclipse.jgit.lib; package org.eclipse.jgit.lib;
import org.eclipse.jgit.lib.AnyObjectId;
/** /**
* A .gitmodules file found in the pack. Store the blob of the file itself (e.g. * A .gitmodules file found in the pack. Store the blob of the file itself (e.g.
* to access its contents) and the tree where it was found (e.g. to check if it * to access its contents) and the tree where it was found (e.g. to check if it

8
org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java

@ -75,7 +75,7 @@ public class IndexDiff {
* @see IndexDiff#getConflictingStageStates() * @see IndexDiff#getConflictingStageStates()
* @since 3.0 * @since 3.0
*/ */
public static enum StageState { public enum StageState {
/** /**
* Exists in base, but neither in ours nor in theirs. * Exists in base, but neither in ours nor in theirs.
*/ */
@ -210,11 +210,11 @@ public class IndexDiff {
} }
} }
private final static int TREE = 0; private static final int TREE = 0;
private final static int INDEX = 1; private static final int INDEX = 1;
private final static int WORKDIR = 2; private static final int WORKDIR = 2;
private final Repository repository; private final Repository repository;

2
org.eclipse.jgit/src/org/eclipse/jgit/lib/InflaterCache.java

@ -40,7 +40,7 @@ public class InflaterCache {
return r != null ? r : new Inflater(false); return r != null ? r : new Inflater(false);
} }
private synchronized static Inflater getImpl() { private static synchronized Inflater getImpl() {
if (openInflaterCount > 0) { if (openInflaterCount > 0) {
final Inflater r = inflaterCache[--openInflaterCount]; final Inflater r = inflaterCache[--openInflaterCount];
inflaterCache[openInflaterCount] = null; inflaterCache[openInflaterCount] = null;

2
org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectIdOwnerMap.java

@ -322,7 +322,7 @@ public class ObjectIdOwnerMap<V extends ObjectIdOwnerMap.Entry>
} }
/** Type of entry stored in the {@link ObjectIdOwnerMap}. */ /** Type of entry stored in the {@link ObjectIdOwnerMap}. */
public static abstract class Entry extends ObjectId { public abstract static class Entry extends ObjectId {
transient Entry next; transient Entry next;
/** /**

2
org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectInserter.java

@ -65,7 +65,7 @@ public abstract class ObjectInserter implements AutoCloseable {
} }
/** Wraps a delegate ObjectInserter. */ /** Wraps a delegate ObjectInserter. */
public static abstract class Filter extends ObjectInserter { public abstract static class Filter extends ObjectInserter {
/** @return delegate ObjectInserter to handle all processing. */ /** @return delegate ObjectInserter to handle all processing. */
protected abstract ObjectInserter delegate(); protected abstract ObjectInserter delegate();

2
org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectLoader.java

@ -300,7 +300,7 @@ public abstract class ObjectLoader {
* *
* @since 4.10 * @since 4.10
*/ */
public static abstract class Filter extends ObjectLoader { public abstract static class Filter extends ObjectLoader {
/** /**
* @return delegate ObjectLoader to handle all processing. * @return delegate ObjectLoader to handle all processing.
* @since 4.10 * @since 4.10

2
org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java

@ -462,7 +462,7 @@ public abstract class ObjectReader implements AutoCloseable {
* *
* @since 4.4 * @since 4.4
*/ */
public static abstract class Filter extends ObjectReader { public abstract static class Filter extends ObjectReader {
/** /**
* @return delegate ObjectReader to handle all processing. * @return delegate ObjectReader to handle all processing.
* @since 4.4 * @since 4.4

4
org.eclipse.jgit/src/org/eclipse/jgit/lib/RebaseTodoLine.java

@ -25,7 +25,7 @@ public class RebaseTodoLine {
* Describes rebase actions * Describes rebase actions
*/ */
@SuppressWarnings("nls") @SuppressWarnings("nls")
public static enum Action { public enum Action {
/** Use commit */ /** Use commit */
PICK("pick", "p"), PICK("pick", "p"),
@ -72,7 +72,7 @@ public class RebaseTodoLine {
* @param token * @param token
* @return the Action * @return the Action
*/ */
static public Action parse(String token) { public static Action parse(String token) {
for (Action action : Action.values()) { for (Action action : Action.values()) {
if (action.token.equals(token) if (action.token.equals(token)
|| action.shortToken.equals(token)) || action.shortToken.equals(token))

4
org.eclipse.jgit/src/org/eclipse/jgit/lib/RefUpdate.java

@ -33,7 +33,7 @@ public abstract class RefUpdate {
* unknown values are failures, and may generally treat them the same as * unknown values are failures, and may generally treat them the same as
* {@link #REJECTED_OTHER_REASON}. * {@link #REJECTED_OTHER_REASON}.
*/ */
public static enum Result { public enum Result {
/** The ref update/delete has not been attempted by the caller. */ /** The ref update/delete has not been attempted by the caller. */
NOT_ATTEMPTED, NOT_ATTEMPTED,
@ -794,7 +794,7 @@ public abstract class RefUpdate {
* Handle the abstraction of storing a ref update. This is because both * Handle the abstraction of storing a ref update. This is because both
* updating and deleting of a ref have merge testing in common. * updating and deleting of a ref have merge testing in common.
*/ */
private static abstract class Store { private abstract static class Store {
abstract Result execute(Result status) throws IOException; abstract Result execute(Result status) throws IOException;
} }
} }

2
org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java

@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
* Cache of active {@link org.eclipse.jgit.lib.Repository} instances. * Cache of active {@link org.eclipse.jgit.lib.Repository} instances.
*/ */
public class RepositoryCache { public class RepositoryCache {
private final static Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(RepositoryCache.class); .getLogger(RepositoryCache.class);
private static final RepositoryCache cache = new RepositoryCache(); private static final RepositoryCache cache = new RepositoryCache();

2
org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeAlgorithm.java

@ -50,7 +50,7 @@ public final class MergeAlgorithm {
// An special edit which acts as a sentinel value by marking the end the // An special edit which acts as a sentinel value by marking the end the
// list of edits // list of edits
private final static Edit END_EDIT = new Edit(Integer.MAX_VALUE, private static final Edit END_EDIT = new Edit(Integer.MAX_VALUE,
Integer.MAX_VALUE); Integer.MAX_VALUE);
@SuppressWarnings("ReferenceEquality") @SuppressWarnings("ReferenceEquality")

4
org.eclipse.jgit/src/org/eclipse/jgit/nls/NLS.java

@ -100,8 +100,8 @@ public class NLS {
return b.get(type); return b.get(type);
} }
final private Locale locale; private final Locale locale;
final private ConcurrentHashMap<Class, TranslationBundle> map = new ConcurrentHashMap<>(); private final ConcurrentHashMap<Class, TranslationBundle> map = new ConcurrentHashMap<>();
private NLS(Locale locale) { private NLS(Locale locale) {
this.locale = locale; this.locale = locale;

2
org.eclipse.jgit/src/org/eclipse/jgit/patch/BinaryHunk.java

@ -25,7 +25,7 @@ public class BinaryHunk {
private static final byte[] DELTA = encodeASCII("delta "); //$NON-NLS-1$ private static final byte[] DELTA = encodeASCII("delta "); //$NON-NLS-1$
/** Type of information stored in a binary hunk. */ /** Type of information stored in a binary hunk. */
public static enum Type { public enum Type {
/** The full content is stored, deflated. */ /** The full content is stored, deflated. */
LITERAL_DEFLATED, LITERAL_DEFLATED,

2
org.eclipse.jgit/src/org/eclipse/jgit/patch/CombinedHunkHeader.java

@ -25,7 +25,7 @@ import org.eclipse.jgit.util.MutableInteger;
* Hunk header for a hunk appearing in a "diff --cc" style patch. * Hunk header for a hunk appearing in a "diff --cc" style patch.
*/ */
public class CombinedHunkHeader extends HunkHeader { public class CombinedHunkHeader extends HunkHeader {
private static abstract class CombinedOldImage extends OldImage { private abstract static class CombinedOldImage extends OldImage {
int nContext; int nContext;
} }

2
org.eclipse.jgit/src/org/eclipse/jgit/patch/FileHeader.java

@ -71,7 +71,7 @@ public class FileHeader extends DiffEntry {
static final byte[] NEW_NAME = encodeASCII("+++ "); //$NON-NLS-1$ static final byte[] NEW_NAME = encodeASCII("+++ "); //$NON-NLS-1$
/** Type of patch used by this file. */ /** Type of patch used by this file. */
public static enum PatchType { public enum PatchType {
/** A traditional unified diff style patch of a text file. */ /** A traditional unified diff style patch of a text file. */
UNIFIED, UNIFIED,

2
org.eclipse.jgit/src/org/eclipse/jgit/patch/FormatError.java

@ -21,7 +21,7 @@ import org.eclipse.jgit.util.RawParseUtils;
*/ */
public class FormatError { public class FormatError {
/** Classification of an error. */ /** Classification of an error. */
public static enum Severity { public enum Severity {
/** The error is unexpected, but can be worked around. */ /** The error is unexpected, but can be worked around. */
WARNING, WARNING,

2
org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevObject.java

@ -151,7 +151,7 @@ public abstract class RevObject extends ObjectIdOwnerMap.Entry {
* buffer to append a debug description of core RevFlags onto. * buffer to append a debug description of core RevFlags onto.
*/ */
protected void appendCoreFlags(StringBuilder s) { protected void appendCoreFlags(StringBuilder s) {
s.append((flags & RevWalk.TOPO_DELAY) != 0 ? 'o' : '-'); s.append((flags & RevWalk.TOPO_QUEUED) != 0 ? 'o' : '-');
s.append((flags & RevWalk.TEMP_MARK) != 0 ? 't' : '-'); s.append((flags & RevWalk.TEMP_MARK) != 0 ? 't' : '-');
s.append((flags & RevWalk.REWRITE) != 0 ? 'r' : '-'); s.append((flags & RevWalk.REWRITE) != 0 ? 'r' : '-');
s.append((flags & RevWalk.UNINTERESTING) != 0 ? 'u' : '-'); s.append((flags & RevWalk.UNINTERESTING) != 0 ? 'u' : '-');

8
org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java

@ -125,11 +125,11 @@ public class RevWalk implements Iterable<RevCommit>, AutoCloseable {
/** /**
* Temporary mark for use within {@link TopoSortGenerator}. * Temporary mark for use within {@link TopoSortGenerator}.
* <p> * <p>
* This mark indicates the commit could not produce when it wanted to, as at * This mark indicates the commit has been queued for emission in
* least one child was behind it. Commits with this flag are delayed until * {@link TopoSortGenerator} and can be produced. This mark is removed when
* all children have been output first. * the commit has been produced.
*/ */
static final int TOPO_DELAY = 1 << 5; static final int TOPO_QUEUED = 1 << 5;
/** Number of flag bits we keep internal for our own use. See above flags. */ /** Number of flag bits we keep internal for our own use. See above flags. */
static final int RESERVED_FLAGS = 6; static final int RESERVED_FLAGS = 6;

44
org.eclipse.jgit/src/org/eclipse/jgit/revwalk/TopoSortGenerator.java

@ -17,7 +17,7 @@ import org.eclipse.jgit.errors.MissingObjectException;
/** Sorts commits in topological order. */ /** Sorts commits in topological order. */
class TopoSortGenerator extends Generator { class TopoSortGenerator extends Generator {
private static final int TOPO_DELAY = RevWalk.TOPO_DELAY; private static final int TOPO_QUEUED = RevWalk.TOPO_QUEUED;
private final FIFORevQueue pending; private final FIFORevQueue pending;
@ -47,12 +47,16 @@ class TopoSortGenerator extends Generator {
if (c == null) { if (c == null) {
break; break;
} }
for (RevCommit p : c.parents) { if ((c.flags & TOPO_QUEUED) == 0) {
p.inDegree++; for (RevCommit p : c.parents) {
if (firstParent) { p.inDegree++;
break;
if (firstParent) {
break;
}
} }
} }
c.flags |= TOPO_QUEUED;
pending.add(c); pending.add(c);
} }
} }
@ -71,34 +75,42 @@ class TopoSortGenerator extends Generator {
RevCommit next() throws MissingObjectException, RevCommit next() throws MissingObjectException,
IncorrectObjectTypeException, IOException { IncorrectObjectTypeException, IOException {
for (;;) { for (;;) {
final RevCommit c = pending.next(); RevCommit c = pending.next();
if (c == null) if (c == null) {
return null; return null;
}
if (c.inDegree > 0) { if (c.inDegree > 0) {
// At least one of our children is missing. We delay // At least one of our children is missing. We delay
// production until all of our children are output. // production until all of our children are output.
// //
c.flags |= TOPO_DELAY;
continue; continue;
} }
// All of our children have already produced, if ((c.flags & TOPO_QUEUED) == 0) {
// so it is OK for us to produce now as well. // c is a parent that already produced or a parent that
// // was never in the priority queue and should never produce.
//
continue;
}
for (RevCommit p : c.parents) { for (RevCommit p : c.parents) {
if (--p.inDegree == 0 && (p.flags & TOPO_DELAY) != 0) { if (--p.inDegree == 0 && (p.flags & TOPO_QUEUED) != 0) {
// This parent tried to come before us, but we are // The parent has no unproduced interesting children. unpop
// his last child. unpop the parent so it goes right // the parent so it goes right behind this child. This means
// behind this child. // that this parent commit may appear in "pending" more than
// once, but this is safe since upon the second and
// subsequent iterations with this commit, it will no longer
// have TOPO_QUEUED set, and thus will be skipped.
// //
p.flags &= ~TOPO_DELAY;
pending.unpop(p); pending.unpop(p);
} }
if (firstParent) { if (firstParent) {
break; break;
} }
} }
c.flags &= ~TOPO_QUEUED;
return c; return c;
} }
} }

2
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/FileBasedConfig.java

@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
* The configuration file that is stored in the file of the file system. * The configuration file that is stored in the file of the file system.
*/ */
public class FileBasedConfig extends StoredConfig { public class FileBasedConfig extends StoredConfig {
private final static Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(FileBasedConfig.class); .getLogger(FileBasedConfig.class);
private final File configFile; private final File configFile;

2
org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackPushConnection.java

@ -358,7 +358,7 @@ public abstract class BasePackPushConnection extends BasePackConnection implemen
refNameEnd = refLine.length(); refNameEnd = refLine.length();
} else if (refLine.startsWith("ng ")) { //$NON-NLS-1$ } else if (refLine.startsWith("ng ")) { //$NON-NLS-1$
ok = false; ok = false;
refNameEnd = refLine.indexOf(" ", 3); //$NON-NLS-1$ refNameEnd = refLine.indexOf(' ', 3);
} }
if (refNameEnd == -1) if (refNameEnd == -1)
throw new PackProtocolException(MessageFormat.format(JGitText.get().unexpectedReportLine2 throw new PackProtocolException(MessageFormat.format(JGitText.get().unexpectedReportLine2

2
org.eclipse.jgit/src/org/eclipse/jgit/transport/GitProtocolConstants.java

@ -247,7 +247,7 @@ public final class GitProtocolConstants {
*/ */
public static final String COMMAND_FETCH = "fetch"; //$NON-NLS-1$ public static final String COMMAND_FETCH = "fetch"; //$NON-NLS-1$
static enum MultiAck { enum MultiAck {
OFF, CONTINUE, DETAILED; OFF, CONTINUE, DETAILED;
} }

2
org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java

@ -70,7 +70,7 @@ public abstract class PackParser {
private static final int BUFFER_SIZE = 8192; private static final int BUFFER_SIZE = 8192;
/** Location data is being obtained from. */ /** Location data is being obtained from. */
public static enum Source { public enum Source {
/** Data is read from the incoming stream. */ /** Data is read from the incoming stream. */
INPUT, INPUT,

2
org.eclipse.jgit/src/org/eclipse/jgit/transport/PacketLineIn.java

@ -62,7 +62,7 @@ public class PacketLineIn {
@Deprecated @Deprecated
public static final String DELIM = new StringBuilder(0).toString(); /* must not string pool */ public static final String DELIM = new StringBuilder(0).toString(); /* must not string pool */
static enum AckNackResult { enum AckNackResult {
/** NAK */ /** NAK */
NAK, NAK,
/** ACK */ /** ACK */

4
org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceiveCommand.java

@ -39,7 +39,7 @@ import org.eclipse.jgit.revwalk.RevWalk;
*/ */
public class ReceiveCommand { public class ReceiveCommand {
/** Type of operation requested. */ /** Type of operation requested. */
public static enum Type { public enum Type {
/** Create a new ref; the ref must not already exist. */ /** Create a new ref; the ref must not already exist. */
CREATE, CREATE,
@ -65,7 +65,7 @@ public class ReceiveCommand {
} }
/** Result of the update command. */ /** Result of the update command. */
public static enum Result { public enum Result {
/** The command has not yet been attempted by the server. */ /** The command has not yet been attempted by the server. */
NOT_ATTEMPTED, NOT_ATTEMPTED,

2
org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java

@ -1937,7 +1937,7 @@ public class ReceivePack {
} }
/** Interface for reporting status messages. */ /** Interface for reporting status messages. */
static abstract class Reporter { abstract static class Reporter {
abstract void sendString(String s) throws IOException; abstract void sendString(String s) throws IOException;
} }

2
org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteRefUpdate.java

@ -39,7 +39,7 @@ public class RemoteRefUpdate {
/** /**
* Represent current status of a remote ref update. * Represent current status of a remote ref update.
*/ */
public static enum Status { public enum Status {
/** /**
* Push process hasn't yet attempted to update this ref. This is the * Push process hasn't yet attempted to update this ref. This is the
* default status, prior to push process execution. * default status, prior to push process execution.

2
org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportProtocol.java

@ -57,7 +57,7 @@ import org.eclipse.jgit.lib.Repository;
*/ */
public abstract class TransportProtocol { public abstract class TransportProtocol {
/** Fields within a {@link URIish} that a transport uses. */ /** Fields within a {@link URIish} that a transport uses. */
public static enum URIishField { public enum URIishField {
/** the user field */ /** the user field */
USER, USER,
/** the pass (aka password) field */ /** the pass (aka password) field */

2
org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java

@ -104,7 +104,7 @@ import org.eclipse.jgit.util.io.TimeoutOutputStream;
*/ */
public class UploadPack { public class UploadPack {
/** Policy the server uses to validate client requests */ /** Policy the server uses to validate client requests */
public static enum RequestPolicy { public enum RequestPolicy {
/** Client may only ask for objects the server advertised a reference for. */ /** Client may only ask for objects the server advertised a reference for. */
ADVERTISED, ADVERTISED,

4
org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkEncryption.java

@ -34,9 +34,9 @@ import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec; import javax.crypto.spec.PBEParameterSpec;
import javax.crypto.spec.SecretKeySpec; import javax.crypto.spec.SecretKeySpec;
import org.bouncycastle.util.encoders.Hex;
import org.eclipse.jgit.internal.JGitText; import org.eclipse.jgit.internal.JGitText;
import org.eclipse.jgit.util.Base64; import org.eclipse.jgit.util.Base64;
import org.eclipse.jgit.util.Hex;
abstract class WalkEncryption { abstract class WalkEncryption {
static final WalkEncryption NONE = new NoEncryption(); static final WalkEncryption NONE = new NoEncryption();
@ -294,7 +294,7 @@ abstract class WalkEncryption {
* Base implementation of JGit symmetric encryption. Supports V2 properties * Base implementation of JGit symmetric encryption. Supports V2 properties
* format. * format.
*/ */
static abstract class SymmetricEncryption extends WalkEncryption abstract static class SymmetricEncryption extends WalkEncryption
implements Keys, Vals { implements Keys, Vals {
/** Encryption profile, root name of group of related properties. */ /** Encryption profile, root name of group of related properties. */

4
org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java

@ -242,7 +242,7 @@ public class FileTreeIterator extends WorkingTreeIterator {
/** /**
* a singleton instance of the default FileModeStrategy * a singleton instance of the default FileModeStrategy
*/ */
public final static DefaultFileModeStrategy INSTANCE = public static final DefaultFileModeStrategy INSTANCE =
new DefaultFileModeStrategy(); new DefaultFileModeStrategy();
@Override @Override
@ -275,7 +275,7 @@ public class FileTreeIterator extends WorkingTreeIterator {
/** /**
* a singleton instance of the default FileModeStrategy * a singleton instance of the default FileModeStrategy
*/ */
public final static NoGitlinksStrategy INSTANCE = new NoGitlinksStrategy(); public static final NoGitlinksStrategy INSTANCE = new NoGitlinksStrategy();
@Override @Override
public FileMode getMode(File f, FS.Attributes attributes) { public FileMode getMode(File f, FS.Attributes attributes) {

2
org.eclipse.jgit/src/org/eclipse/jgit/treewalk/TreeWalk.java

@ -78,7 +78,7 @@ public class TreeWalk implements AutoCloseable, AttributesProvider {
/** /**
* @since 4.2 * @since 4.2
*/ */
public static enum OperationType { public enum OperationType {
/** /**
* Represents a checkout operation (for example a checkout or reset * Represents a checkout operation (for example a checkout or reset
* operation). * operation).

2
org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java

@ -1147,7 +1147,7 @@ public abstract class WorkingTreeIterator extends AbstractTreeIterator {
* *
* @since 5.0 * @since 5.0
*/ */
public static abstract class Entry { public abstract static class Entry {
byte[] encodedName; byte[] encodedName;
int encodedNameLen; int encodedNameLen;

12
org.eclipse.jgit/src/org/eclipse/jgit/util/Base64.java

@ -28,26 +28,26 @@ import org.eclipse.jgit.internal.JGitText;
*/ */
public class Base64 { public class Base64 {
/** The equals sign (=) as a byte. */ /** The equals sign (=) as a byte. */
private final static byte EQUALS_SIGN = (byte) '='; private static final byte EQUALS_SIGN = (byte) '=';
/** Indicates equals sign in encoding. */ /** Indicates equals sign in encoding. */
private final static byte EQUALS_SIGN_DEC = -1; private static final byte EQUALS_SIGN_DEC = -1;
/** Indicates white space in encoding. */ /** Indicates white space in encoding. */
private final static byte WHITE_SPACE_DEC = -2; private static final byte WHITE_SPACE_DEC = -2;
/** Indicates an invalid byte during decoding. */ /** Indicates an invalid byte during decoding. */
private final static byte INVALID_DEC = -3; private static final byte INVALID_DEC = -3;
/** The 64 valid Base64 values. */ /** The 64 valid Base64 values. */
private final static byte[] ENC; private static final byte[] ENC;
/** /**
* Translates a Base64 value to either its 6-bit reconstruction value or a * Translates a Base64 value to either its 6-bit reconstruction value or a
* negative number indicating some other meaning. The table is only 7 bits * negative number indicating some other meaning. The table is only 7 bits
* wide, as the 8th bit is discarded during decoding. * wide, as the 8th bit is discarded during decoding.
*/ */
private final static byte[] DEC; private static final byte[] DEC;
static { static {
ENC = ("ABCDEFGHIJKLMNOPQRSTUVWXYZ" // //$NON-NLS-1$ ENC = ("ABCDEFGHIJKLMNOPQRSTUVWXYZ" // //$NON-NLS-1$

2
org.eclipse.jgit/src/org/eclipse/jgit/util/ChangeIdUtil.java

@ -148,7 +148,7 @@ public class ChangeIdUtil {
ret.append(CHANGE_ID); ret.append(CHANGE_ID);
ret.append(" I"); //$NON-NLS-1$ ret.append(" I"); //$NON-NLS-1$
ret.append(ObjectId.toString(changeId)); ret.append(ObjectId.toString(changeId));
int indexOfNextLineBreak = message.indexOf("\n", //$NON-NLS-1$ int indexOfNextLineBreak = message.indexOf('\n',
indexOfChangeId); indexOfChangeId);
if (indexOfNextLineBreak > 0) if (indexOfNextLineBreak > 0)
ret.append(message.substring(indexOfNextLineBreak)); ret.append(message.substring(indexOfNextLineBreak));

9
org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java

@ -184,7 +184,7 @@ public abstract class FS {
* *
* @since 5.1.9 * @since 5.1.9
*/ */
public final static class FileStoreAttributes { public static final class FileStoreAttributes {
private static final Duration UNDEFINED_DURATION = Duration private static final Duration UNDEFINED_DURATION = Duration
.ofNanos(Long.MAX_VALUE); .ofNanos(Long.MAX_VALUE);
@ -204,9 +204,8 @@ public abstract class FS {
public static final FileStoreAttributes FALLBACK_FILESTORE_ATTRIBUTES = new FileStoreAttributes( public static final FileStoreAttributes FALLBACK_FILESTORE_ATTRIBUTES = new FileStoreAttributes(
FALLBACK_TIMESTAMP_RESOLUTION); FALLBACK_TIMESTAMP_RESOLUTION);
private static final String JAVA_VERSION_PREFIX = SystemReader private static final String JAVA_VERSION_PREFIX = System
.getInstance().getHostname() + '|' .getProperty("java.vendor") + '|' //$NON-NLS-1$
+ System.getProperty("java.vendor") + '|' //$NON-NLS-1$
+ System.getProperty("java.version") + '|'; //$NON-NLS-1$ + System.getProperty("java.version") + '|'; //$NON-NLS-1$
private static final Duration FALLBACK_MIN_RACY_INTERVAL = Duration private static final Duration FALLBACK_MIN_RACY_INTERVAL = Duration
@ -691,7 +690,7 @@ public abstract class FS {
/** The auto-detected implementation selected for this operating system and JRE. */ /** The auto-detected implementation selected for this operating system and JRE. */
public static final FS DETECTED = detect(); public static final FS DETECTED = detect();
private volatile static FSFactory factory; private static volatile FSFactory factory;
/** /**
* Auto-detect the appropriate file system abstraction. * Auto-detect the appropriate file system abstraction.

2
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java

@ -52,7 +52,7 @@ import org.slf4j.LoggerFactory;
* @since 3.0 * @since 3.0
*/ */
public class FS_POSIX extends FS { public class FS_POSIX extends FS {
private final static Logger LOG = LoggerFactory.getLogger(FS_POSIX.class); private static final Logger LOG = LoggerFactory.getLogger(FS_POSIX.class);
private static final int DEFAULT_UMASK = 0022; private static final int DEFAULT_UMASK = 0022;
private volatile int umask = -1; private volatile int umask = -1;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save