Browse Source

Merge branch 'stable-5.6'

* stable-5.6:
  Introduce RefDatabase#hasFastTipsWithSha1
  Update Orbit to R20191126223242 for 2019-12
  Prepare 5.6.0-SNAPSHOT builds
  JGit v5.6.0.201912041214-rc1
  Prepare 5.6.0-SNAPSHOT builds
  JGit v5.6.0.201911271000-m3

Change-Id: Id33b054131bbcd27a0ae7200f564775049698d2c
stable-5.7
Matthias Sohn 5 years ago
parent
commit
08d4c63b6d
  1. 2
      org.eclipse.jgit.http.server/META-INF/MANIFEST.MF
  2. 4
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.target
  3. 2
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.tpd
  4. 4
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.target
  5. 2
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.tpd
  6. 4
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.target
  7. 2
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.tpd
  8. 4
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.target
  9. 2
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.tpd
  10. 4
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.target
  11. 2
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.tpd
  12. 4
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.target
  13. 2
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.tpd
  14. 4
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.target
  15. 2
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.tpd
  16. 4
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.target
  17. 2
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.tpd
  18. 4
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.target
  19. 2
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.tpd
  20. 4
      org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20191126223242-2019-12.tpd
  21. 4
      org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileReftableTest.java
  22. 66
      org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/reftable/ReftableTest.java
  23. 6
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftableDatabase.java
  24. 6
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java
  25. 10
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/MergedReftable.java
  26. 6
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/Reftable.java
  27. 13
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/ReftableDatabase.java
  28. 10
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/ReftableReader.java
  29. 14
      org.eclipse.jgit/src/org/eclipse/jgit/lib/RefDatabase.java

2
org.eclipse.jgit.http.server/META-INF/MANIFEST.MF

@ -18,7 +18,7 @@ Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: javax.servlet;version="[2.5.0,3.2.0)", Import-Package: javax.servlet;version="[2.5.0,3.2.0)",
javax.servlet.http;version="[2.5.0,3.2.0)", javax.servlet.http;version="[2.5.0,3.2.0)",
org.eclipse.jgit.annotations;version="[5.5.0,5.7.0)", org.eclipse.jgit.annotations;version="[5.6.0,5.7.0)",
org.eclipse.jgit.errors;version="[5.6.0,5.7.0)", org.eclipse.jgit.errors;version="[5.6.0,5.7.0)",
org.eclipse.jgit.internal.storage.dfs;version="[5.6.0,5.7.0)", org.eclipse.jgit.internal.storage.dfs;version="[5.6.0,5.7.0)",
org.eclipse.jgit.internal.storage.file;version="[5.6.0,5.7.0)", org.eclipse.jgit.internal.storage.file;version="[5.6.0,5.7.0)",

4
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="1574722378"> <target name="jgit-4.10" sequenceNumber="1575495623">
<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.22.v20191022"/> <unit id="org.eclipse.jetty.client" version="9.4.22.v20191022"/>
@ -82,7 +82,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/S20191118194249/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/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"/>

2
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.tpd

@ -1,7 +1,7 @@
target "jgit-4.10" with source configurePhase target "jgit-4.10" with source configurePhase
include "projects/jetty-9.4.22.tpd" include "projects/jetty-9.4.22.tpd"
include "orbit/S20191118194249.tpd" include "orbit/R20191126223242-2019-12.tpd"
location "http://download.eclipse.org/releases/2018-12/" { location "http://download.eclipse.org/releases/2018-12/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

4
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="1574722378"> <target name="jgit-4.11" sequenceNumber="1575495623">
<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.22.v20191022"/> <unit id="org.eclipse.jetty.client" version="9.4.22.v20191022"/>
@ -82,7 +82,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/S20191118194249/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/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"/>

2
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.tpd

@ -1,7 +1,7 @@
target "jgit-4.11" with source configurePhase target "jgit-4.11" with source configurePhase
include "projects/jetty-9.4.22.tpd" include "projects/jetty-9.4.22.tpd"
include "orbit/S20191118194249.tpd" include "orbit/R20191126223242-2019-12.tpd"
location "http://download.eclipse.org/releases/2019-03/" { location "http://download.eclipse.org/releases/2019-03/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

4
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="1574722378"> <target name="jgit-4.12" sequenceNumber="1575495623">
<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.22.v20191022"/> <unit id="org.eclipse.jetty.client" version="9.4.22.v20191022"/>
@ -82,7 +82,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/S20191118194249/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/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"/>

2
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12.tpd

@ -1,7 +1,7 @@
target "jgit-4.12" with source configurePhase target "jgit-4.12" with source configurePhase
include "projects/jetty-9.4.22.tpd" include "projects/jetty-9.4.22.tpd"
include "orbit/S20191118194249.tpd" include "orbit/R20191126223242-2019-12.tpd"
location "http://download.eclipse.org/releases/2019-06/" { location "http://download.eclipse.org/releases/2019-06/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

4
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="1574722378"> <target name="jgit-4.13" sequenceNumber="1575495624">
<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.22.v20191022"/> <unit id="org.eclipse.jetty.client" version="9.4.22.v20191022"/>
@ -82,7 +82,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/S20191118194249/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/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"/>

2
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.13.tpd

@ -1,7 +1,7 @@
target "jgit-4.13" with source configurePhase target "jgit-4.13" with source configurePhase
include "projects/jetty-9.4.22.tpd" include "projects/jetty-9.4.22.tpd"
include "orbit/S20191118194249.tpd" include "orbit/R20191126223242-2019-12.tpd"
location "http://download.eclipse.org/releases/2019-09/" { location "http://download.eclipse.org/releases/2019-09/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

4
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="1574722378"> <target name="jgit-4.14-staging" sequenceNumber="1575495626">
<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.22.v20191022"/> <unit id="org.eclipse.jetty.client" version="9.4.22.v20191022"/>
@ -82,7 +82,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/S20191118194249/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/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"/>

2
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.14-staging.tpd

@ -1,7 +1,7 @@
target "jgit-4.14-staging" with source configurePhase target "jgit-4.14-staging" with source configurePhase
include "projects/jetty-9.4.22.tpd" include "projects/jetty-9.4.22.tpd"
include "orbit/S20191118194249.tpd" include "orbit/R20191126223242-2019-12.tpd"
location "http://download.eclipse.org/staging/2019-12/" { location "http://download.eclipse.org/staging/2019-12/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

4
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="1574722378"> <target name="jgit-4.6" sequenceNumber="1575495636">
<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.22.v20191022"/> <unit id="org.eclipse.jetty.client" version="9.4.22.v20191022"/>
@ -82,7 +82,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/S20191118194249/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/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"/>

2
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.tpd

@ -1,7 +1,7 @@
target "jgit-4.6" with source configurePhase target "jgit-4.6" with source configurePhase
include "projects/jetty-9.4.22.tpd" include "projects/jetty-9.4.22.tpd"
include "orbit/S20191118194249.tpd" include "orbit/R20191126223242-2019-12.tpd"
location "http://download.eclipse.org/releases/neon/" { location "http://download.eclipse.org/releases/neon/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

4
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="1574722378"> <target name="jgit-4.7" sequenceNumber="1575495628">
<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.22.v20191022"/> <unit id="org.eclipse.jetty.client" version="9.4.22.v20191022"/>
@ -82,7 +82,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/S20191118194249/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/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"/>

2
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.tpd

@ -1,7 +1,7 @@
target "jgit-4.7" with source configurePhase target "jgit-4.7" with source configurePhase
include "projects/jetty-9.4.22.tpd" include "projects/jetty-9.4.22.tpd"
include "orbit/S20191118194249.tpd" include "orbit/R20191126223242-2019-12.tpd"
location "http://download.eclipse.org/releases/oxygen/" { location "http://download.eclipse.org/releases/oxygen/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

4
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="1574722378"> <target name="jgit-4.8" sequenceNumber="1575495623">
<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.22.v20191022"/> <unit id="org.eclipse.jetty.client" version="9.4.22.v20191022"/>
@ -82,7 +82,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/S20191118194249/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/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"/>

2
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.tpd

@ -1,7 +1,7 @@
target "jgit-4.8" with source configurePhase target "jgit-4.8" with source configurePhase
include "projects/jetty-9.4.22.tpd" include "projects/jetty-9.4.22.tpd"
include "orbit/S20191118194249.tpd" include "orbit/R20191126223242-2019-12.tpd"
location "http://download.eclipse.org/releases/photon/" { location "http://download.eclipse.org/releases/photon/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

4
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="1574722364"> <target name="jgit-4.9" sequenceNumber="1575495623">
<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.22.v20191022"/> <unit id="org.eclipse.jetty.client" version="9.4.22.v20191022"/>
@ -82,7 +82,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/S20191118194249/repository"/> <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/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"/>

2
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.tpd

@ -1,7 +1,7 @@
target "jgit-4.9" with source configurePhase target "jgit-4.9" with source configurePhase
include "projects/jetty-9.4.22.tpd" include "projects/jetty-9.4.22.tpd"
include "orbit/S20191118194249.tpd" include "orbit/R20191126223242-2019-12.tpd"
location "http://download.eclipse.org/releases/2018-09/" { location "http://download.eclipse.org/releases/2018-09/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

4
org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20191118194249.tpd → org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20191126223242-2019-12.tpd

@ -1,7 +1,7 @@
target "S20191118194249" with source configurePhase target "R20191126223242-2019-12" 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/S20191118194249/repository" { location "https://download.eclipse.org/tools/orbit/downloads/drops/R20191126223242/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]

4
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileReftableTest.java

@ -155,6 +155,8 @@ public class FileReftableTest extends SampleDataRepositoryTestCase {
assertFalse(b.isSymbolic()); assertFalse(b.isSymbolic());
assertTrue(b.isPeeled()); assertTrue(b.isPeeled());
assertEquals(bCommit, b.getObjectId().name()); assertEquals(bCommit, b.getObjectId().name());
assertTrue(db.getRefDatabase().hasFastTipsWithSha1());
} }
@Test @Test
@ -169,6 +171,8 @@ public class FileReftableTest extends SampleDataRepositoryTestCase {
assertFalse(b.isSymbolic()); assertFalse(b.isSymbolic());
assertTrue(b.isPeeled()); assertTrue(b.isPeeled());
assertEquals(bCommit, b.getObjectId().name()); assertEquals(bCommit, b.getObjectId().name());
assertFalse(db.getRefDatabase().hasFastTipsWithSha1());
} }
@Test @Test

66
org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/reftable/ReftableTest.java

@ -176,6 +176,67 @@ public class ReftableTest {
assertEquals(expBytes, table.length); assertEquals(expBytes, table.length);
} }
@Test
public void hasObjMapRefs() throws IOException {
ArrayList<Ref> refs = new ArrayList<>();
refs.add(ref(MASTER, 1));
byte[] table = write(refs);
ReftableReader t = read(table);
assertTrue(t.hasObjectMap());
}
@Test
public void hasObjMapRefsSmallTable() throws IOException {
ArrayList<Ref> refs = new ArrayList<>();
ReftableConfig cfg = new ReftableConfig();
cfg.setIndexObjects(false);
refs.add(ref(MASTER, 1));
byte[] table = write(refs);
ReftableReader t = read(table);
assertTrue(t.hasObjectMap());
}
@Test
public void hasObjLogs() throws IOException {
PersonIdent who = new PersonIdent("Log", "Ger", 1500079709, -8 * 60);
String msg = "test";
ReftableConfig cfg = new ReftableConfig();
cfg.setIndexObjects(false);
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
ReftableWriter writer = new ReftableWriter(buffer)
.setMinUpdateIndex(1)
.setConfig(cfg)
.setMaxUpdateIndex(1)
.begin();
writer.writeLog("master", 1, who, ObjectId.zeroId(), id(1), msg);
writer.finish();
byte[] table = buffer.toByteArray();
ReftableReader t = read(table);
assertTrue(t.hasObjectMap());
}
@Test
public void hasObjMapRefsNoIndexObjects() throws IOException {
ArrayList<Ref> refs = new ArrayList<>();
ReftableConfig cfg = new ReftableConfig();
cfg.setIndexObjects(false);
cfg.setRefBlockSize(256);
cfg.setAlignBlocks(true);
// Fill up 5 blocks.
int N = 256 * 5 / 25;
for (int i= 0; i < N; i++) {
refs.add(ref(String.format("%02d/xxxxxxxxxx", i), i));
}
byte[] table = write(refs, cfg);
ReftableReader t = read(table);
assertFalse(t.hasObjectMap());
}
@Test @Test
public void oneIdRef() throws IOException { public void oneIdRef() throws IOException {
Ref exp = ref(MASTER, 1); Ref exp = ref(MASTER, 1);
@ -936,8 +997,13 @@ public class ReftableTest {
} }
private byte[] write(Collection<Ref> refs) throws IOException { private byte[] write(Collection<Ref> refs) throws IOException {
return write(refs, new ReftableConfig());
}
private byte[] write(Collection<Ref> refs, ReftableConfig cfg) throws IOException {
ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ByteArrayOutputStream buffer = new ByteArrayOutputStream();
stats = new ReftableWriter(buffer) stats = new ReftableWriter(buffer)
.setConfig(cfg)
.begin() .begin()
.sortAndWriteRefs(refs) .sortAndWriteRefs(refs)
.finish() .finish()

6
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftableDatabase.java

@ -216,6 +216,12 @@ public class DfsReftableDatabase extends DfsRefDatabase {
return reftableDatabase.getTipsWithSha1(id); return reftableDatabase.getTipsWithSha1(id);
} }
/** {@inheritDoc} */
@Override
public boolean hasFastTipsWithSha1() throws IOException {
return reftableDatabase.hasFastTipsWithSha1();
}
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Ref peel(Ref ref) throws IOException { public Ref peel(Ref ref) throws IOException {

6
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java

@ -125,6 +125,12 @@ public class FileReftableDatabase extends RefDatabase {
&& new File(repoDir, Constants.REFTABLE).isDirectory(); && new File(repoDir, Constants.REFTABLE).isDirectory();
} }
/** {@inheritDoc} */
@Override
public boolean hasFastTipsWithSha1() throws IOException {
return reftableDatabase.hasFastTipsWithSha1();
}
/** /**
* Runs a full compaction for GC purposes. * Runs a full compaction for GC purposes.
* @throws IOException on I/O errors * @throws IOException on I/O errors

10
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/MergedReftable.java

@ -98,6 +98,16 @@ public class MergedReftable extends Reftable {
: 0; : 0;
} }
/** {@inheritDoc} */
@Override
public boolean hasObjectMap() throws IOException {
boolean has = true;
for (int i = 0; has && i < tables.length; i++) {
has = has && tables[i].hasObjectMap();
};
return has;
}
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public RefCursor allRefs() throws IOException { public RefCursor allRefs() throws IOException {

6
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/Reftable.java

@ -161,6 +161,12 @@ public abstract class Reftable {
*/ */
public abstract RefCursor byObjectId(AnyObjectId id) throws IOException; public abstract RefCursor byObjectId(AnyObjectId id) throws IOException;
/**
* @return whether this reftable can do a fast SHA1 => ref lookup.
* @throws IOException on I/O problems.
*/
public abstract boolean hasObjectMap() throws IOException;
/** /**
* Seek reader to read log records. * Seek reader to read log records.
* *

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

@ -298,6 +298,19 @@ public abstract class ReftableDatabase {
return Collections.unmodifiableList(all); return Collections.unmodifiableList(all);
} }
/**
* @return whether there is a fast SHA1 to ref map.
* @throws IOException in case of I/O problems.
*/
public boolean hasFastTipsWithSha1() throws IOException {
lock.lock();
try {
return reader().hasObjectMap();
} finally {
lock.unlock();
}
}
/** /**
* Returns all refs that resolve directly to the given {@link ObjectId}. * Returns all refs that resolve directly to the given {@link ObjectId}.
* Includes peeled {@linkObjectId}s. * Includes peeled {@linkObjectId}s.

10
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/reftable/ReftableReader.java

@ -128,6 +128,16 @@ public class ReftableReader extends Reftable implements AutoCloseable {
return blockSize; return blockSize;
} }
@Override
public boolean hasObjectMap() throws IOException {
if (objIndexPosition == -1) {
readFileFooter();
}
// We have the map, we have no refs, or the table is small.
return (objPosition > 0 || refEnd == 24 || refIndexPosition == 0);
}
/** /**
* Get the minimum update index for log entries that appear in this * Get the minimum update index for log entries that appear in this
* reftable. * reftable.

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

@ -496,6 +496,20 @@ public abstract class RefDatabase {
|| id.equals(r.getPeeledObjectId())).collect(toSet()); || id.equals(r.getPeeledObjectId())).collect(toSet());
} }
/**
* If the ref database does not support fast inverse queries, it may
* be advantageous to build a complete SHA1 to ref map in advance for
* multiple uses. To let applications decide on this decision,
* this function indicates whether the inverse map is available.
*
* @return whether this RefDatabase supports fast inverse ref queries.
* @throws IOException on I/O problems.
* @since 5.6
*/
public boolean hasFastTipsWithSha1() throws IOException {
return false;
}
/** /**
* Check if any refs exist in the ref database. * Check if any refs exist in the ref database.
* <p> * <p>

Loading…
Cancel
Save