Merge branch 'master' into next

* master:
  Prepare 5.7.1-SNAPSHOT builds
  Prepare 5.8.0-SNAPSHOT builds
  JGit v5.7.0.202003090808-r
  Silence API errors introduced by 093fbbd1
  Bump Bazel version to 2.2.0
  Add validation to hex decoder
  Expose FileStoreAttributes.setBackground()
  Update reftable storage repo layout
  Add 4.14 and 4.15-staging target platforms
  Update Orbit to R20200224183213 for final 2020-03
  Update Orbit to S20200224183213 for 2020-03 RC1
  Cygwin expects forward slashes for commands to be run via sh.exe
  [releng] Update year in copyright notices for features
  Using for-each loop in jdt
  Make Logger instances final
  Move array designators from the variable to the type
  ObjectWalk: Add null check before skip tree.
  Revert "RevWalk: stop mixing lines of history in topo sort"
  Do not fail if known hosts file does not contain valid host key
  Prepare 5.7.0-SNAPSHOT builds
  JGit v5.7.0.202002241735-m3
  Update Orbit to S20200219023850 for 2012-03 M3

Change-Id: I6a219888699ebf6d768f2b8fe33a6d2ca9d4c392
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Matthias Sohn 2020-03-10 00:52:52 +01:00
commit cfc4f01149
74 changed files with 506 additions and 353 deletions

View File

@ -1 +1 @@
2.1.0 2.2.0

View File

@ -105,7 +105,7 @@ void service(HttpServletRequest req, HttpServletResponse rsp)
// build a request for them so RegexGroupFilter can pick // build a request for them so RegexGroupFilter can pick
// a different capture group later. Continue using the // a different capture group later. Continue using the
// first capture group as the path info. // first capture group as the path info.
WrappedRequest groups[] = new WrappedRequest[cur.groupCount()]; WrappedRequest[] groups = new WrappedRequest[cur.groupCount()];
for (int groupId = 1; groupId <= cur.groupCount(); groupId++) { for (int groupId = 1; groupId <= cur.groupCount(); groupId++) {
final int s = cur.start(groupId); final int s = cur.start(groupId);
final String path, info; final String path, info;

View File

@ -45,7 +45,7 @@
*/ */
public class RepeatRule implements TestRule { public class RepeatRule implements TestRule {
private static Logger LOG = Logger private static final Logger LOG = Logger
.getLogger(RepeatRule.class.getName()); .getLogger(RepeatRule.class.getName());
/** /**

View File

@ -60,7 +60,7 @@
* @since 4.3 * @since 4.3
*/ */
public abstract class LfsProtocolServlet extends HttpServlet { public abstract class LfsProtocolServlet extends HttpServlet {
private static Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(LfsProtocolServlet.class); .getLogger(LfsProtocolServlet.class);
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -34,7 +34,7 @@
*/ */
public class ObjectDownloadListener implements WriteListener { public class ObjectDownloadListener implements WriteListener {
private static Logger LOG = Logger private static final Logger LOG = Logger
.getLogger(ObjectDownloadListener.class.getName()); .getLogger(ObjectDownloadListener.class.getName());
private final AsyncContext context; private final AsyncContext context;

View File

@ -38,7 +38,7 @@
*/ */
public class ObjectUploadListener implements ReadListener { public class ObjectUploadListener implements ReadListener {
private static Logger LOG = Logger private static final Logger LOG = Logger
.getLogger(ObjectUploadListener.class.getName()); .getLogger(ObjectUploadListener.class.getName());
private final AsyncContext context; private final AsyncContext context;

View File

@ -20,7 +20,7 @@ A pure Java implementation of the Git version control system.\n
# "copyright" property - text of the "Feature Update Copyright" # "copyright" property - text of the "Feature Update Copyright"
copyright=\ copyright=\
Copyright (c) 2005, 2010 Shawn Pearce, Robin Rosenberg, et.al.\n\ Copyright (c) 2005, 2020 Shawn Pearce, Robin Rosenberg, et.al.\n\
All rights reserved. This program and the accompanying materials\n\ All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Distribution License v1.0\n\ are made available under the terms of the Eclipse Distribution License v1.0\n\
which accompanies this distribution, and is available at\n\ which accompanies this distribution, and is available at\n\

View File

@ -20,7 +20,7 @@ Optional Http support using Apache httpclient.\n
# "copyright" property - text of the "Feature Update Copyright" # "copyright" property - text of the "Feature Update Copyright"
copyright=\ copyright=\
Copyright (c) 2005, 2013 Shawn Pearce, Robin Rosenberg, et.al.\n\ Copyright (c) 2005, 2020 Shawn Pearce, Robin Rosenberg, et.al.\n\
All rights reserved. This program and the accompanying materials\n\ All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Distribution License v1.0\n\ are made available under the terms of the Eclipse Distribution License v1.0\n\
which accompanies this distribution, and is available at\n\ which accompanies this distribution, and is available at\n\

View File

@ -20,7 +20,7 @@ description=JUnit test support for JGit
# "copyright" property - text of the "Feature Update Copyright" # "copyright" property - text of the "Feature Update Copyright"
copyright=\ copyright=\
Copyright (c) 2010, Matthias Sohn <matthias.sohn@sap.com>\n\ Copyright (c) 2010, 2020 Matthias Sohn <matthias.sohn@sap.com>\n\
and other copyright owners as documented in the project's IP log.\n\ and other copyright owners as documented in the project's IP log.\n\
All rights reserved. This program and the accompanying materials\n\ All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Distribution License v1.0\n\ are made available under the terms of the Eclipse Distribution License v1.0\n\

View File

@ -20,7 +20,7 @@ Optional LFS support.\n
# "copyright" property - text of the "Feature Update Copyright" # "copyright" property - text of the "Feature Update Copyright"
copyright=\ copyright=\
Copyright (c) 2015, Matthias Sohn et.al.\n\ Copyright (c) 2015, 2020 Matthias Sohn et.al.\n\
All rights reserved. This program and the accompanying materials\n\ All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Distribution License v1.0\n\ are made available under the terms of the Eclipse Distribution License v1.0\n\
which accompanies this distribution, and is available at\n\ which accompanies this distribution, and is available at\n\

View File

@ -20,7 +20,7 @@ Command line interface for a pure Java implementation of the Git version control
# "copyright" property - text of the "Feature Update Copyright" # "copyright" property - text of the "Feature Update Copyright"
copyright=\ copyright=\
Copyright (c) 2005-2012 Shawn Pearce, Robin Rosenberg, et.al.\n\ Copyright (c) 2005, 2020 Shawn Pearce, Robin Rosenberg, et.al.\n\
All rights reserved. This program and the accompanying materials\n\ All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Distribution License v1.0\n\ are made available under the terms of the Eclipse Distribution License v1.0\n\
which accompanies this distribution, and is available at\n\ which accompanies this distribution, and is available at\n\

View File

@ -21,7 +21,7 @@ Source code for the support for PDE's JUnit runner for a Target Platform\n
# "copyright" property - text of the "Feature Update Copyright" # "copyright" property - text of the "Feature Update Copyright"
copyright=\ copyright=\
Copyright (c) 2005, 2010 Shawn Pearce, Robin Rosenberg, et.al.\n\ Copyright (c) 2005, 2020 Shawn Pearce, Robin Rosenberg, et.al.\n\
All rights reserved. This program and the accompanying materials\n\ All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Distribution License v1.0\n\ are made available under the terms of the Eclipse Distribution License v1.0\n\
which accompanies this distribution, and is available at\n\ which accompanies this distribution, and is available at\n\

View File

@ -20,7 +20,7 @@ Ssh support using Apache MINA sshd.\n
# "copyright" property - text of the "Feature Update Copyright" # "copyright" property - text of the "Feature Update Copyright"
copyright=\ copyright=\
Copyright (c) 2018 Thomas Wolf and others.\n\ Copyright (c) 2018, 2020 Thomas Wolf and others.\n\
All rights reserved. This program and the accompanying materials\n\ All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Distribution License v1.0\n\ are made available under the terms of the Eclipse Distribution License v1.0\n\
which accompanies this distribution, and is available at\n\ which accompanies this distribution, and is available at\n\

View File

@ -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="1583183009">
<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/R20200224183213/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"/>

View File

@ -1,7 +1,7 @@
target "jgit-4.10" with source configurePhase target "jgit-4.10" with source configurePhase
include "projects/jetty-9.4.x.tpd" include "projects/jetty-9.4.x.tpd"
include "orbit/staging-2020-03.tpd" include "orbit/R20200224183213-2020-03.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

View File

@ -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="1583183034">
<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/R20200224183213/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"/>

View File

@ -1,7 +1,7 @@
target "jgit-4.11" with source configurePhase target "jgit-4.11" with source configurePhase
include "projects/jetty-9.4.x.tpd" include "projects/jetty-9.4.x.tpd"
include "orbit/staging-2020-03.tpd" include "orbit/R20200224183213-2020-03.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

View File

@ -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="1583183009">
<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/R20200224183213/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"/>

View File

@ -1,7 +1,7 @@
target "jgit-4.12" with source configurePhase target "jgit-4.12" with source configurePhase
include "projects/jetty-9.4.x.tpd" include "projects/jetty-9.4.x.tpd"
include "orbit/staging-2020-03.tpd" include "orbit/R20200224183213-2020-03.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

View File

@ -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="1583183009">
<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/R20200224183213/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"/>

View File

@ -1,7 +1,7 @@
target "jgit-4.13" with source configurePhase target "jgit-4.13" with source configurePhase
include "projects/jetty-9.4.x.tpd" include "projects/jetty-9.4.x.tpd"
include "orbit/staging-2020-03.tpd" include "orbit/R20200224183213-2020-03.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

View File

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
<target name="jgit-4.14-staging" sequenceNumber="1583184372">
<locations>
<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.source" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.continuation" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.continuation.source" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.http" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.http.source" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.io" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.io.source" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.security" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.security.source" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.server" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.server.source" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.servlet" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.servlet.source" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.util" version="9.4.25.v20191220"/>
<unit id="org.eclipse.jetty.util.source" version="9.4.25.v20191220"/>
<repository id="jetty-9.4.25" location="https://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.4.25.v20191220/"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="com.google.gson" version="2.8.2.v20180104-1110"/>
<unit id="com.google.gson.source" version="2.8.2.v20180104-1110"/>
<unit id="com.jcraft.jsch" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/>
<unit id="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
<unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
<unit id="javaewah" version="1.1.7.v20200107-0831"/>
<unit id="javaewah.source" version="1.1.7.v20200107-0831"/>
<unit id="javax.servlet" version="3.1.0.v201410161800"/>
<unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
<unit id="net.bytebuddy.byte-buddy-agent" version="1.9.0.v20181106-1534"/>
<unit id="net.bytebuddy.byte-buddy-agent.source" version="1.9.0.v20181106-1534"/>
<unit id="net.bytebuddy.byte-buddy.source" version="1.9.0.v20181107-1410"/>
<unit id="net.i2p.crypto.eddsa" version="0.3.0.v20181102-1323"/>
<unit id="net.i2p.crypto.eddsa.source" version="0.3.0.v20181102-1323"/>
<unit id="org.apache.ant" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.ant.source" version="1.10.7.v20190926-0324"/>
<unit id="org.apache.commons.codec" version="1.13.0.v20200108-0001"/>
<unit id="org.apache.commons.codec.source" version="1.13.0.v20200108-0001"/>
<unit id="org.apache.commons.compress" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.compress.source" version="1.19.0.v20200106-2343"/>
<unit id="org.apache.commons.logging" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.commons.logging.source" version="1.2.0.v20180409-1502"/>
<unit id="org.apache.httpcomponents.httpclient" version="4.5.10.v20200114-1512"/>
<unit id="org.apache.httpcomponents.httpclient.source" version="4.5.10.v20200114-1512"/>
<unit id="org.apache.httpcomponents.httpcore" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.httpcomponents.httpcore.source" version="4.4.12.v20200108-1212"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
<unit id="org.apache.sshd.osgi" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.osgi.source" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp" version="2.2.0.v20190425-2127"/>
<unit id="org.apache.sshd.sftp.source" version="2.2.0.v20190425-2127"/>
<unit id="org.assertj" version="3.14.0.v20200120-1926"/>
<unit id="org.assertj.source" version="3.14.0.v20200120-1926"/>
<unit id="org.bouncycastle.bcpg" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpg.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcpkix.source" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcprov" version="1.64.0.v20191109-0815"/>
<unit id="org.bouncycastle.bcprov.source" version="1.64.0.v20191109-0815"/>
<unit id="org.hamcrest" version="1.1.0.v20090501071000"/>
<unit id="org.hamcrest.core" 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.source" version="1.3.0.v20180524-2246"/>
<unit id="org.junit" version="4.13.0.v20200204-1500"/>
<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.source" version="2.33.0.v20160323-2218"/>
<unit id="org.mockito" version="2.23.0.v20190527-1420"/>
<unit id="org.mockito.source" version="2.23.0.v20190527-1420"/>
<unit id="org.objenesis" version="2.6.0.v20180420-1519"/>
<unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/>
<unit id="org.slf4j.api" version="1.7.2.v20121108-1250"/>
<unit id="org.slf4j.api.source" version="1.7.2.v20121108-1250"/>
<unit id="org.slf4j.impl.log4j12" 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.source" version="1.8.0.v20180207-1613"/>
<repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20200224183213/repository"/>
</location>
<location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
<unit id="org.eclipse.osgi" version="0.0.0"/>
<repository location="http://download.eclipse.org/releases/2019-12/201912181000/"/>
</location>
</locations>
</target>

View File

@ -0,0 +1,8 @@
target "jgit-4.14-staging" with source configurePhase
include "projects/jetty-9.4.x.tpd"
include "orbit/R20200224183213-2020-03.tpd"
location "http://download.eclipse.org/releases/2019-12/201912181000/" {
org.eclipse.osgi lazy
}

View File

@ -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="1583184374">
<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,11 +84,11 @@
<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/R20200224183213/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"/>
<repository location="http://download.eclipse.org/staging/2019-12/"/> <repository location="http://download.eclipse.org/staging/2020-03/"/>
</location> </location>
</locations> </locations>
</target> </target>

View File

@ -1,8 +1,8 @@
target "jgit-4.14-staging" with source configurePhase target "jgit-4.14-staging" with source configurePhase
include "projects/jetty-9.4.x.tpd" include "projects/jetty-9.4.x.tpd"
include "orbit/staging-2020-03.tpd" include "orbit/R20200224183213-2020-03.tpd"
location "http://download.eclipse.org/staging/2019-12/" { location "http://download.eclipse.org/staging/2020-03/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy
} }

View File

@ -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="1583183021">
<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/R20200224183213/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"/>

View File

@ -1,7 +1,7 @@
target "jgit-4.6" with source configurePhase target "jgit-4.6" with source configurePhase
include "projects/jetty-9.4.x.tpd" include "projects/jetty-9.4.x.tpd"
include "orbit/staging-2020-03.tpd" include "orbit/R20200224183213-2020-03.tpd"
location "http://download.eclipse.org/releases/neon/" { location "http://download.eclipse.org/releases/neon/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

View File

@ -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="1583183012">
<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/R20200224183213/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"/>

View File

@ -1,7 +1,7 @@
target "jgit-4.7" with source configurePhase target "jgit-4.7" with source configurePhase
include "projects/jetty-9.4.x.tpd" include "projects/jetty-9.4.x.tpd"
include "orbit/staging-2020-03.tpd" include "orbit/R20200224183213-2020-03.tpd"
location "http://download.eclipse.org/releases/oxygen/" { location "http://download.eclipse.org/releases/oxygen/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

View File

@ -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="1583183009">
<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/R20200224183213/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"/>

View File

@ -1,7 +1,7 @@
target "jgit-4.8" with source configurePhase target "jgit-4.8" with source configurePhase
include "projects/jetty-9.4.x.tpd" include "projects/jetty-9.4.x.tpd"
include "orbit/staging-2020-03.tpd" include "orbit/R20200224183213-2020-03.tpd"
location "http://download.eclipse.org/releases/photon/" { location "http://download.eclipse.org/releases/photon/" {
org.eclipse.osgi lazy org.eclipse.osgi lazy

View File

@ -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="1583183009">
<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/R20200224183213/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"/>

View File

@ -1,7 +1,7 @@
target "jgit-4.9" with source configurePhase target "jgit-4.9" with source configurePhase
include "projects/jetty-9.4.x.tpd" include "projects/jetty-9.4.x.tpd"
include "orbit/staging-2020-03.tpd" include "orbit/R20200224183213-2020-03.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

View File

@ -1,7 +1,7 @@
target "staging-2020-03" with source configurePhase target "R20200224183213-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/R20200224183213/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]
} }

View File

@ -88,7 +88,7 @@ private KeyPair loadKey(SessionContext session, Path path)
if (cache == null) { if (cache == null) {
return loadKey(session, resource, path, getPasswordFinder()); return loadKey(session, resource, path, getPasswordFinder());
} }
Throwable t[] = { null }; Throwable[] t = { null };
KeyPair key = cache.get(path, p -> { KeyPair key = cache.get(path, p -> {
try { try {
return loadKey(session, resource, p, getPasswordFinder()); return loadKey(session, resource, p, getPasswordFinder());

View File

@ -216,7 +216,7 @@ private static int parseChallenge(AuthenticationChallenge challenge,
start = nextStart + 1; start = nextStart + 1;
} else { } else {
if (header.charAt(nextStart) == '"') { if (header.charAt(nextStart) == '"') {
int nextEnd[] = { nextStart + 1 }; int[] nextEnd = { nextStart + 1 };
String value = scanQuotedString(header, nextStart + 1, String value = scanQuotedString(header, nextStart + 1,
nextEnd); nextEnd);
challenge.addArgument(header.substring(start, end), value); challenge.addArgument(header.substring(start, end), value);

View File

@ -563,10 +563,10 @@ private void doTestRebasePreservingMergesWithUnrelatedSide(
RevCommit newD = rw.next(); RevCommit newD = rw.next();
assertDerivedFrom(newD, d); assertDerivedFrom(newD, d);
assertEquals(2, newD.getParentCount()); assertEquals(2, newD.getParentCount());
RevCommit newE = rw.next();
assertEquals(e, newE);
RevCommit newC = rw.next(); RevCommit newC = rw.next();
assertDerivedFrom(newC, c); assertDerivedFrom(newC, c);
RevCommit newE = rw.next();
assertEquals(e, newE);
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());

View File

@ -91,11 +91,6 @@ public void testRacyReload() throws Exception {
} }
} }
@Test
public void additionalRefsAreRemoved() {
assertFalse(new File(db.getDirectory(), Constants.HEAD).exists());
}
@Test @Test
public void testCompactFully() throws Exception { public void testCompactFully() throws Exception {
ObjectId c1 = db.resolve("master^^"); ObjectId c1 = db.resolve("master^^");
@ -108,9 +103,16 @@ public void testCompactFully() throws Exception {
} }
File tableDir = new File(db.getDirectory(), Constants.REFTABLE); File tableDir = new File(db.getDirectory(), Constants.REFTABLE);
assertTrue(tableDir.listFiles().length > 1); assertTrue(tableDir.listFiles().length > 2);
((FileReftableDatabase)db.getRefDatabase()).compactFully(); ((FileReftableDatabase)db.getRefDatabase()).compactFully();
assertEquals(tableDir.listFiles().length,1); assertEquals(tableDir.listFiles().length,2);
}
@Test
public void testOpenConvert() throws Exception {
try (FileRepository repo = new FileRepository(db.getDirectory())) {
assertTrue(repo.getRefDatabase() instanceof FileReftableDatabase);
}
} }
@Test @Test
@ -129,7 +131,7 @@ public void testConvert() throws Exception {
@Test @Test
public void testConvertToRefdir() throws Exception { public void testConvertToRefdir() throws Exception {
db.convertToPackedRefs(false); db.convertToPackedRefs(false, false);
assertTrue(db.getRefDatabase() instanceof RefDirectory); assertTrue(db.getRefDatabase() instanceof RefDirectory);
Ref h = db.exactRef("HEAD"); Ref h = db.exactRef("HEAD");
assertTrue(h.isSymbolic()); assertTrue(h.isSymbolic());
@ -143,6 +145,30 @@ public void testConvertToRefdir() throws Exception {
assertFalse(db.getRefDatabase().hasFastTipsWithSha1()); assertFalse(db.getRefDatabase().hasFastTipsWithSha1());
} }
@Test
public void testConvertToRefdirReflog() throws Exception {
Ref a = db.exactRef("refs/heads/a");
String aCommit = a.getObjectId().getName();
RefUpdate u = db.updateRef("refs/heads/master");
u.setForceUpdate(true);
u.setNewObjectId(ObjectId.fromString(aCommit));
u.setForceRefLog(true);
u.setRefLogMessage("apple", false);
u.update();
RefUpdate v = db.updateRef("refs/heads/master");
v.setForceUpdate(true);
v.setNewObjectId(ObjectId.fromString(bCommit));
v.setForceRefLog(true);
v.setRefLogMessage("banana", false);
v.update();
db.convertToPackedRefs(true, false);
List<ReflogEntry> logs = db.getReflogReader("refs/heads/master").getReverseEntries(2);
assertEquals(logs.get(0).getComment(), "banana");
assertEquals(logs.get(1).getComment(), "apple");
}
@Test @Test
public void testBatchrefUpdate() throws Exception { public void testBatchrefUpdate() throws Exception {
ObjectId cur = db.resolve("master"); ObjectId cur = db.resolve("master");

View File

@ -254,12 +254,12 @@ public void testBug368927() throws Exception {
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 void testEgitHistory() throws Exception {
.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(3); test.commit(disable_comment).parents(clone_operation).lanePos(2);
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(resolve_handler).parents(merge_fix).lanePos(4); test.commit(update_eclipse).parents(add_Maven).lanePos(3);
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(use_remote).parents(clear_repositorycache).lanePos(3); test.commit(changeset_implementation).parents(clear_repositorycache)
.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,36 +453,33 @@ public void testBug419359() throws Exception {
pcl.source(pw); pcl.source(pw);
pcl.fillTo(Integer.MAX_VALUE); pcl.fillTo(Integer.MAX_VALUE);
Set<Integer> positions = asSet(0, 1); // test that the commits b1, b2 and b3 are on the same position
CommitListAssert test = new CommitListAssert(pcl); int bPos = pcl.get(9).lane.position; // b1
int posA = test.commit(a5).lanePos(positions).getLanePos(); assertEquals("b2 is an a different position", bPos,
test.commit(a4); pcl.get(7).lane.position);
test.commit(a3).lanePos(posA); assertEquals("b3 is on a different position", bPos,
test.commit(e); pcl.get(4).lane.position);
test.commit(d);
test.commit(a2).lanePos(posA); // test that nothing blocks the connections between b1, b2 and b3
int posB = test.commit(b3).lanePos(positions).getLanePos(); assertNotEquals("b lane is blocked by c", bPos,
test.commit(b2).lanePos(posB); pcl.get(8).lane.position);
test.commit(b1).lanePos(posB); assertNotEquals("b lane is blocked by a2", bPos,
test.commit(c); pcl.get(6).lane.position);
test.commit(a1).lanePos(posA); assertNotEquals("b lane is blocked by d", bPos,
test.noMoreCommits(); pcl.get(5).lane.position);
assertNotEquals("a lane is the same as b lane", posA, posB);
} }
} }
/** /**
* <pre> * <pre>
* b3 * b3
* a5 |
* | |
* a4 | * a4 |
* | \| * | \|
* | b2 * | b2
* a3 | * a3 |
* | \| * | \|
* | b1
* a2 | * a2 |
* | b1
* | / * | /
* a1 * a1
* </pre> * </pre>
@ -497,11 +494,10 @@ public void testMultipleMerges() throws Exception {
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(a5)); pw.markStart(pw.lookupCommit(a4));
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);
@ -510,12 +506,11 @@ public void testMultipleMerges() throws Exception {
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(a5).lanePos(positions).getLanePos(); int posA = test.commit(a4).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(b1).lanePos(posB);
test.commit(a2).lanePos(posA); test.commit(a2).lanePos(posA);
test.commit(b1).lanePos(posB);
test.commit(a1).lanePos(posA); test.commit(a1).lanePos(posA);
test.noMoreCommits(); test.noMoreCommits();
} }
@ -524,17 +519,13 @@ public void testMultipleMerges() throws Exception {
/** /**
* <pre> * <pre>
* a4 * a4
* | * | b3
* a3 * a3 |
* | \\ * | \\|
* a2 \\ * | |\\
* | \\ * | b2||
* | b3 || * a2 | //
* | | || * | b1
* | b2 ||
* | | //
* | b1
* | |
* | / * | /
* a1 * a1
* </pre> * </pre>
@ -561,10 +552,10 @@ public void testMergeBlockedBySelf() throws Exception {
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();
test.commit(a3).lanePos(posA);
test.commit(a2).lanePos(posA);
int posB = test.commit(b3).lanePos(positions).getLanePos(); int posB = test.commit(b3).lanePos(positions).getLanePos();
test.commit(a3).lanePos(posA);
test.commit(b2).lanePos(posB); test.commit(b2).lanePos(posB);
test.commit(a2).lanePos(posA);
// 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);
@ -578,14 +569,13 @@ public void testMergeBlockedBySelf() throws Exception {
* b2 * b2
* a4 | * a4 |
* | \ | * | \ |
* | b1 * a3 \|
* a3 |
* | \ | * | \ |
* | c | * | c |
* | / | * | / |
* a2 | * a2 |
* | | * | b1
* | / * /
* | / * | /
* a1 * a1
* </pre> * </pre>
@ -614,10 +604,10 @@ public void testMergeBlockedByOther() throws Exception {
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();
} }

View File

@ -216,4 +216,12 @@ public void testEmptyTreeCorruption() throws Exception {
assertSame(rw.lookupBlob(bId), objw.nextObject()); assertSame(rw.lookupBlob(bId), objw.nextObject());
assertNull(objw.nextObject()); assertNull(objw.nextObject());
} }
@Test
public void testSkipTreeWhenStartFromBlob() throws Exception {
final RevBlob f1 = blob("1");
objw.markStart(f1);
assertSame(f1, objw.nextObject());
objw.skipTree();
}
} }

View File

@ -144,110 +144,4 @@ public void testSort_TOPO_REVERSE() throws Exception {
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());
}
} }

View File

@ -42,6 +42,31 @@ public void testEncodeMatchesDecode() {
} }
} }
@Test(expected = IllegalArgumentException.class)
public void testIllegal() {
decode("0011test00");
}
@Test(expected = IllegalArgumentException.class)
public void testIllegal2() {
decode("0123456789abcdefgh");
}
@Test(expected = IllegalArgumentException.class)
public void testIllegal3() {
decode("0123456789abcdef-_+*");
}
@Test
public void testLegal() {
decode("0123456789abcdef");
}
@Test
public void testLegal2() {
decode("deadbeef");
}
private static byte[] b(String str) { private static byte[] b(String str) {
return Constants.encode(str); return Constants.encode(str);
} }

View File

@ -37,6 +37,26 @@
<message_argument value="CONFIG_KEY_PACKED_GIT_WINDOWSIZE"/> <message_argument value="CONFIG_KEY_PACKED_GIT_WINDOWSIZE"/>
</message_arguments> </message_arguments>
</filter> </filter>
<filter id="1142947843">
<message_arguments>
<message_argument value="5.6.2"/>
<message_argument value="CONFIG_EXTENSIONS_SECTION"/>
</message_arguments>
</filter>
<filter id="1142947843">
<message_arguments>
<message_argument value="5.6.2"/>
<message_argument value="CONFIG_KEY_REF_STORAGE"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/jgit/lib/Constants.java" type="org.eclipse.jgit.lib.Constants">
<filter id="1142947843">
<message_arguments>
<message_argument value="5.6.2"/>
<message_argument value="TABLES_LIST"/>
</message_arguments>
</filter>
</resource> </resource>
<resource path="src/org/eclipse/jgit/storage/file/WindowCacheConfig.java" type="org.eclipse.jgit.storage.file.WindowCacheConfig"> <resource path="src/org/eclipse/jgit/storage/file/WindowCacheConfig.java" type="org.eclipse.jgit.storage.file.WindowCacheConfig">
<filter id="1142947843"> <filter id="1142947843">
@ -69,6 +89,14 @@
</message_arguments> </message_arguments>
</filter> </filter>
</resource> </resource>
<resource path="src/org/eclipse/jgit/util/FS.java" type="org.eclipse.jgit.util.FS$FileStoreAttributes">
<filter id="1226833923">
<message_arguments>
<message_argument value="5.6.2"/>
<message_argument value="setBackground(boolean)"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/jgit/util/Monitoring.java" type="org.eclipse.jgit.util.Monitoring"> <resource path="src/org/eclipse/jgit/util/Monitoring.java" type="org.eclipse.jgit.util.Monitoring">
<filter id="1109393411"> <filter id="1109393411">
<message_arguments> <message_arguments>

View File

@ -354,6 +354,7 @@ invalidFilter=Invalid filter: {0}
invalidGitdirRef = Invalid .git reference in file ''{0}'' invalidGitdirRef = Invalid .git reference in file ''{0}''
invalidGitModules=Invalid .gitmodules file invalidGitModules=Invalid .gitmodules file
invalidGitType=invalid git type: {0} invalidGitType=invalid git type: {0}
invalidHexString=Invalid hex string: {0}
invalidHooksPath=Invalid git config core.hooksPath = {0} invalidHooksPath=Invalid git config core.hooksPath = {0}
invalidId=Invalid id: {0} invalidId=Invalid id: {0}
invalidId0=Invalid id invalidId0=Invalid id

View File

@ -338,8 +338,7 @@ public RebaseResult call() throws GitAPIException, NoHeadException,
steps, false); steps, false);
} }
checkSteps(steps); checkSteps(steps);
for (int i = 0; i < steps.size(); i++) { for (RebaseTodoLine step : steps) {
RebaseTodoLine step = steps.get(i);
popSteps(1); popSteps(1);
RebaseResult result = processStep(step, true); RebaseResult result = processStep(step, true);
if (result != null) { if (result != null) {

View File

@ -415,7 +415,7 @@ public static RawText load(ObjectLoader ldr, int threshold)
} }
} }
byte data[]; byte[] data;
try { try {
data = new byte[(int)sz]; data = new byte[(int)sz];
} catch (OutOfMemoryError e) { } catch (OutOfMemoryError e) {

View File

@ -79,7 +79,8 @@
* This class handles checking out one or two trees merging with the index. * This class handles checking out one or two trees merging with the index.
*/ */
public class DirCacheCheckout { public class DirCacheCheckout {
private static Logger LOG = LoggerFactory.getLogger(DirCacheCheckout.class); private static final Logger LOG = LoggerFactory
.getLogger(DirCacheCheckout.class);
private static final int MAX_EXCEPTION_TEXT_SIZE = 10 * 1024; private static final int MAX_EXCEPTION_TEXT_SIZE = 10 * 1024;

View File

@ -380,8 +380,8 @@ public boolean isMatch() {
* @return a boolean. * @return a boolean.
*/ */
public boolean canAppendMatch() { public boolean canAppendMatch() {
for (int i = 0; i < heads.size(); i++) { for (Head head : heads) {
if (heads.get(i) != LastHead.INSTANCE) { if (head != LastHead.INSTANCE) {
return true; return true;
} }
} }

View File

@ -382,6 +382,7 @@ public static JGitText get() {
/***/ public String invalidGitdirRef; /***/ public String invalidGitdirRef;
/***/ public String invalidGitModules; /***/ public String invalidGitModules;
/***/ public String invalidGitType; /***/ public String invalidGitType;
/***/ public String invalidHexString;
/***/ public String invalidHooksPath; /***/ public String invalidHooksPath;
/***/ public String invalidId; /***/ public String invalidId;
/***/ public String invalidId0; /***/ public String invalidId0;

View File

@ -64,6 +64,11 @@ public class FileReftableDatabase extends RefDatabase {
private final FileReftableStack reftableStack; private final FileReftableStack reftableStack;
FileReftableDatabase(FileRepository repo) throws IOException {
this(repo, new File(new File(repo.getDirectory(), Constants.REFTABLE),
Constants.TABLES_LIST));
}
FileReftableDatabase(FileRepository repo, File refstackName) throws IOException { FileReftableDatabase(FileRepository repo, File refstackName) throws IOException {
this.fileRepository = repo; this.fileRepository = repo;
this.reftableStack = new FileReftableStack(refstackName, this.reftableStack = new FileReftableStack(refstackName,
@ -88,8 +93,7 @@ ReflogReader getReflogReader(String refname) throws IOException {
* @return whether the given repo uses reftable for refdb storage. * @return whether the given repo uses reftable for refdb storage.
*/ */
public static boolean isReftable(File repoDir) { public static boolean isReftable(File repoDir) {
return new File(repoDir, "refs").isFile() //$NON-NLS-1$ return new File(repoDir, Constants.REFTABLE).isDirectory();
&& new File(repoDir, Constants.REFTABLE).isDirectory();
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@ -593,8 +597,6 @@ private static Ref refForWrite(RevWalk rw, Ref r) throws IOException {
/** /**
* @param repo * @param repo
* the repository * the repository
* @param refstackName
* the filename for the stack
* @param writeLogs * @param writeLogs
* whether to write reflogs * whether to write reflogs
* @return a reftable based RefDB from an existing repository. * @return a reftable based RefDB from an existing repository.
@ -602,22 +604,25 @@ private static Ref refForWrite(RevWalk rw, Ref r) throws IOException {
* on IO error * on IO error
*/ */
public static FileReftableDatabase convertFrom(FileRepository repo, public static FileReftableDatabase convertFrom(FileRepository repo,
File refstackName, boolean writeLogs) throws IOException { boolean writeLogs) throws IOException {
FileReftableDatabase newDb = null; FileReftableDatabase newDb = null;
File reftableList = null;
try { try {
File reftableDir = new File(repo.getDirectory(), Constants.REFTABLE); File reftableDir = new File(repo.getDirectory(),
Constants.REFTABLE);
reftableList = new File(reftableDir, Constants.TABLES_LIST);
if (!reftableDir.isDirectory()) { if (!reftableDir.isDirectory()) {
reftableDir.mkdir(); reftableDir.mkdir();
} }
try (FileReftableStack stack = new FileReftableStack(refstackName, try (FileReftableStack stack = new FileReftableStack(reftableList,
reftableDir, null, () -> repo.getConfig())) { reftableDir, null, () -> repo.getConfig())) {
stack.addReftable(rw -> writeConvertTable(repo, rw, writeLogs)); stack.addReftable(rw -> writeConvertTable(repo, rw, writeLogs));
} }
refstackName = null; reftableList = null;
} finally { } finally {
if (refstackName != null) { if (reftableList != null) {
refstackName.delete(); reftableList.delete();
} }
} }
return newDb; return newDb;

View File

@ -649,7 +649,7 @@ public String toString() {
} }
} }
static List<Segment> segmentSizes(long sizes[]) { static List<Segment> segmentSizes(long[] sizes) {
List<Segment> segments = new ArrayList<>(); List<Segment> segments = new ArrayList<>();
Segment cur = new Segment(); Segment cur = new Segment();
for (int i = 0; i < sizes.length; i++) { for (int i = 0; i < sizes.length; i++) {
@ -669,7 +669,7 @@ static List<Segment> segmentSizes(long sizes[]) {
return segments; return segments;
} }
private static Optional<Segment> autoCompactCandidate(long sizes[]) { private static Optional<Segment> autoCompactCandidate(long[] sizes) {
if (sizes.length == 0) { if (sizes.length == 0) {
return Optional.empty(); return Optional.empty();
} }

View File

@ -18,10 +18,13 @@
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.text.ParseException; import java.text.ParseException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@ -50,6 +53,7 @@
import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.RefDatabase; import org.eclipse.jgit.lib.RefDatabase;
import org.eclipse.jgit.lib.RefUpdate; import org.eclipse.jgit.lib.RefUpdate;
import org.eclipse.jgit.lib.ReflogEntry;
import org.eclipse.jgit.lib.ReflogReader; import org.eclipse.jgit.lib.ReflogReader;
import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.StoredConfig; import org.eclipse.jgit.lib.StoredConfig;
@ -173,20 +177,17 @@ public FileRepository(BaseRepositoryBuilder options) throws IOException {
String reftype = repoConfig.getString( String reftype = repoConfig.getString(
ConfigConstants.CONFIG_EXTENSIONS_SECTION, null, ConfigConstants.CONFIG_EXTENSIONS_SECTION, null,
ConfigConstants.CONFIG_KEY_REFSTORAGE); ConfigConstants.CONFIG_KEY_REF_STORAGE);
if (repositoryFormatVersion >= 1 && reftype != null) { if (repositoryFormatVersion >= 1 && reftype != null) {
if (StringUtils.equalsIgnoreCase(reftype, if (StringUtils.equalsIgnoreCase(reftype,
ConfigConstants.CONFIG_REFSTORAGE_REFTABLE)) { ConfigConstants.CONFIG_REF_STORAGE_REFTABLE)) {
refs = new FileReftableDatabase(this, refs = new FileReftableDatabase(this);
new File(getDirectory(), "refs")); //$NON-NLS-1$
} else if (StringUtils.equalsIgnoreCase(reftype, } else if (StringUtils.equalsIgnoreCase(reftype,
ConfigConstants.CONFIG_REFSTORAGE_REFTREE)) { ConfigConstants.CONFIG_REFSTORAGE_REFTREE)) {
refs = new RefTreeDatabase(this, new RefDirectory(this)); refs = new RefTreeDatabase(this, new RefDirectory(this));
} else { } else {
throw new IOException(JGitText.get().unknownRepositoryFormat); throw new IOException(JGitText.get().unknownRepositoryFormat);
} }
} else if (FileReftableDatabase.isReftable(getDirectory())) {
refs = new FileReftableDatabase(this, new File(getDirectory(), "refs")); //$NON-NLS-1$
} else { } else {
refs = new RefDirectory(this); refs = new RefDirectory(this);
} }
@ -610,15 +611,18 @@ public void autoGC(ProgressMonitor monitor) {
* Converts the RefDatabase from reftable to RefDirectory. This operation is * Converts the RefDatabase from reftable to RefDirectory. This operation is
* not atomic. * not atomic.
* *
* @param writeLogs
* whether to write reflogs
* @param backup * @param backup
* whether to rename or delete the old storage files. If set to * whether to rename or delete the old storage files. If set to
* true, the reftable list is left in "refs.old", and the * {@code true}, the reftable list is left in {@code refs.old},
* reftable/ dir is left alone. If set to false, the reftable/ * and the {@code reftable/} dir is left alone. If set to
* dir is removed, and "refs" file is removed. * {@code false}, the {@code reftable/} dir is removed, and
* {@code refs} file is removed.
* @throws IOException * @throws IOException
* on IO problem * on IO problem
*/ */
void convertToPackedRefs(boolean backup) throws IOException { void convertToPackedRefs(boolean writeLogs, boolean backup) throws IOException {
List<Ref> all = refs.getRefs(); List<Ref> all = refs.getRefs();
File packedRefs = new File(getDirectory(), Constants.PACKED_REFS); File packedRefs = new File(getDirectory(), Constants.PACKED_REFS);
if (packedRefs.exists()) { if (packedRefs.exists()) {
@ -627,26 +631,26 @@ void convertToPackedRefs(boolean backup) throws IOException {
} }
File refsFile = new File(getDirectory(), "refs"); //$NON-NLS-1$ File refsFile = new File(getDirectory(), "refs"); //$NON-NLS-1$
File refsHeadsFile = new File(refsFile, "heads");//$NON-NLS-1$
File headFile = new File(getDirectory(), Constants.HEAD);
FileReftableDatabase oldDb = (FileReftableDatabase) refs;
refs.close(); // Remove the dummy files that ensure compatibility with older git
// versions (see convertToReftable). First make room for refs/heads/
if (backup) { refsHeadsFile.delete();
File refsOld = new File(getDirectory(), "refs.old"); //$NON-NLS-1$ // RefDirectory wants to create the refs/ directory from scratch, so
if (refsOld.exists()) { // remove that too.
throw new IOException(MessageFormat.format( refsFile.delete();
JGitText.get().fileAlreadyExists, // remove HEAD so its previous invalid value doesn't cause issues.
"refs.old")); //$NON-NLS-1$ headFile.delete();
}
FileUtils.rename(refsFile, refsOld);
} else {
refsFile.delete();
}
// This is not atomic, but there is no way to instantiate a RefDirectory // This is not atomic, but there is no way to instantiate a RefDirectory
// that is disconnected from the current repo. // that is disconnected from the current repo.
refs = new RefDirectory(this); RefDirectory refDir = new RefDirectory(this);
refs = refDir;
refs.create(); refs.create();
ReflogWriter logWriter = refDir.newLogWriter(true);
List<Ref> symrefs = new ArrayList<>(); List<Ref> symrefs = new ArrayList<>();
BatchRefUpdate bru = refs.newBatchUpdate(); BatchRefUpdate bru = refs.newBatchUpdate();
for (Ref r : all) { for (Ref r : all) {
@ -656,6 +660,15 @@ void convertToPackedRefs(boolean backup) throws IOException {
bru.addCommand(new ReceiveCommand(ObjectId.zeroId(), bru.addCommand(new ReceiveCommand(ObjectId.zeroId(),
r.getObjectId(), r.getName())); r.getObjectId(), r.getName()));
} }
if (writeLogs) {
List<ReflogEntry> logs = oldDb.getReflogReader(r.getName())
.getReverseEntries();
Collections.reverse(logs);
for (ReflogEntry e : logs) {
logWriter.log(r.getName(), e);
}
}
} }
try (RevWalk rw = new RevWalk(this)) { try (RevWalk rw = new RevWalk(this)) {
@ -691,24 +704,39 @@ void convertToPackedRefs(boolean backup) throws IOException {
FileUtils.delete(reftableDir, FileUtils.delete(reftableDir,
FileUtils.RECURSIVE | FileUtils.IGNORE_ERRORS); FileUtils.RECURSIVE | FileUtils.IGNORE_ERRORS);
} }
repoConfig.unset(ConfigConstants.CONFIG_EXTENSIONS_SECTION, null, repoConfig.unset(ConfigConstants.CONFIG_EXTENSIONS_SECTION, null,
ConfigConstants.CONFIG_KEY_REFSTORAGE); ConfigConstants.CONFIG_KEY_REF_STORAGE);
repoConfig.save(); repoConfig.save();
} }
/**
* Converts the RefDatabase from RefDirectory to reftable. This operation is
* not atomic.
*
* @param writeLogs
* whether to write reflogs
* @param backup
* whether to rename or delete the old storage files. If set to
* {@code true}, the loose refs are left in {@code refs.old}, the
* packed-refs in {@code packed-refs.old} and reflogs in
* {@code refs.old/}. HEAD is left in {@code HEAD.old} and also
* {@code .log} is appended to additional refs. If set to
* {@code false}, the {@code refs/} and {@code logs/} directories
* and {@code HEAD} and additional symbolic refs are removed.
* @throws IOException
* on IO problem
*/
@SuppressWarnings("nls") @SuppressWarnings("nls")
void convertToReftable(boolean writeLogs, boolean backup) void convertToReftable(boolean writeLogs, boolean backup)
throws IOException { throws IOException {
File newRefs = new File(getDirectory(), "refs.new");
File reftableDir = new File(getDirectory(), Constants.REFTABLE); File reftableDir = new File(getDirectory(), Constants.REFTABLE);
File headFile = new File(getDirectory(), Constants.HEAD);
if (reftableDir.exists() && reftableDir.listFiles().length > 0) { if (reftableDir.exists() && reftableDir.listFiles().length > 0) {
throw new IOException(JGitText.get().reftableDirExists); throw new IOException(JGitText.get().reftableDirExists);
} }
// Ignore return value, as it is tied to temporary newRefs file. // Ignore return value, as it is tied to temporary newRefs file.
FileReftableDatabase.convertFrom(this, newRefs, writeLogs); FileReftableDatabase.convertFrom(this, writeLogs);
File refsFile = new File(getDirectory(), "refs"); File refsFile = new File(getDirectory(), "refs");
@ -716,7 +744,6 @@ void convertToReftable(boolean writeLogs, boolean backup)
File packedRefs = new File(getDirectory(), Constants.PACKED_REFS); File packedRefs = new File(getDirectory(), Constants.PACKED_REFS);
File logsDir = new File(getDirectory(), Constants.LOGS); File logsDir = new File(getDirectory(), Constants.LOGS);
List<String> additional = getRefDatabase().getAdditionalRefs().stream() List<String> additional = getRefDatabase().getAdditionalRefs().stream()
.map(Ref::getName).collect(toList()); .map(Ref::getName).collect(toList());
additional.add(Constants.HEAD); additional.add(Constants.HEAD);
@ -735,7 +762,8 @@ void convertToReftable(boolean writeLogs, boolean backup)
new File(getDirectory(), r + ".old")); new File(getDirectory(), r + ".old"));
} }
} else { } else {
packedRefs.delete(); // ignore return value. FileUtils.delete(packedRefs, FileUtils.SKIP_MISSING);
FileUtils.delete(headFile);
FileUtils.delete(logsDir, FileUtils.RECURSIVE); FileUtils.delete(logsDir, FileUtils.RECURSIVE);
FileUtils.delete(refsFile, FileUtils.RECURSIVE); FileUtils.delete(refsFile, FileUtils.RECURSIVE);
for (String r : additional) { for (String r : additional) {
@ -743,16 +771,26 @@ void convertToReftable(boolean writeLogs, boolean backup)
} }
} }
// Put new data. FileUtils.mkdir(refsFile, true);
FileUtils.rename(newRefs, refsFile);
refs.close(); // By putting in a dummy HEAD, old versions of Git still detect a repo
refs = new FileReftableDatabase(this, refsFile); // (that they can't read)
try (OutputStream os = new FileOutputStream(headFile)) {
os.write(Constants.encodeASCII("ref: refs/heads/.invalid"));
}
// Some tools might write directly into .git/refs/heads/BRANCH. By
// putting a file here, this fails spectacularly.
FileUtils.createNewFile(new File(refsFile, "heads"));
repoConfig.setString(ConfigConstants.CONFIG_EXTENSIONS_SECTION, null, repoConfig.setString(ConfigConstants.CONFIG_EXTENSIONS_SECTION, null,
ConfigConstants.CONFIG_KEY_REFSTORAGE, ConfigConstants.CONFIG_KEY_REF_STORAGE,
ConfigConstants.CONFIG_REFSTORAGE_REFTABLE); ConfigConstants.CONFIG_REF_STORAGE_REFTABLE);
repoConfig.setLong(ConfigConstants.CONFIG_CORE_SECTION, null,
ConfigConstants.CONFIG_KEY_REPO_FORMAT_VERSION, 1);
repoConfig.save(); repoConfig.save();
refs.close();
refs = new FileReftableDatabase(this);
} }
/** /**
@ -775,7 +813,7 @@ public void convertRefStorage(String format, boolean writeLogs,
} }
} else if (format.equals("refdir")) {//$NON-NLS-1$ } else if (format.equals("refdir")) {//$NON-NLS-1$
if (refs instanceof FileReftableDatabase) { if (refs instanceof FileReftableDatabase) {
convertToPackedRefs(backup); convertToPackedRefs(writeLogs, backup);
} }
} else { } else {
throw new IOException(MessageFormat throw new IOException(MessageFormat

View File

@ -122,8 +122,8 @@ private int countEntries(DeltaIndexScanner scan) {
// logic linear in the size of the input rather than quadratic. // logic linear in the size of the input rather than quadratic.
// //
int cnt = 0; int cnt = 0;
for (int i = 0; i < table.length; i++) { for (int element : table) {
int h = table[i]; int h = element;
if (h == 0) if (h == 0)
continue; continue;

View File

@ -191,7 +191,7 @@ public static Iterable<PackWriter> getInstances() {
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
BlockList<ObjectToPack> objectsLists[] = new BlockList[OBJ_TAG + 1]; BlockList<ObjectToPack>[] objectsLists = new BlockList[OBJ_TAG + 1];
{ {
objectsLists[OBJ_COMMIT] = new BlockList<>(); objectsLists[OBJ_COMMIT] = new BlockList<>();
objectsLists[OBJ_TREE] = new BlockList<>(); objectsLists[OBJ_TREE] = new BlockList<>();
@ -236,7 +236,7 @@ public static Iterable<PackWriter> getInstances() {
private List<ObjectToPack> sortedByName; private List<ObjectToPack> sortedByName;
private byte packcsum[]; private byte[] packcsum;
private boolean deltaBaseAsOffset; private boolean deltaBaseAsOffset;

View File

@ -504,9 +504,18 @@ public final class ConfigConstants {
*/ */
public static final String CONFIG_KEY_MIN_RACY_THRESHOLD = "minRacyThreshold"; public static final String CONFIG_KEY_MIN_RACY_THRESHOLD = "minRacyThreshold";
/**
* The "refStorage" key
*
* @since 5.6.2
*/
public static final String CONFIG_KEY_REF_STORAGE = "refStorage";
/** /**
* The "extensions" section * The "extensions" section
* @since 5.7 *
* @since 5.6.2
*/ */
public static final String CONFIG_EXTENSIONS_SECTION = "extensions"; public static final String CONFIG_EXTENSIONS_SECTION = "extensions";
@ -520,7 +529,7 @@ public final class ConfigConstants {
* The "reftable" refStorage format * The "reftable" refStorage format
* @since 5.7 * @since 5.7
*/ */
public static final String CONFIG_REFSTORAGE_REFTABLE = "reftable"; public static final String CONFIG_REF_STORAGE_REFTABLE = "reftable";
/** /**
* The "reftree" refStorage format * The "reftree" refStorage format

View File

@ -254,6 +254,12 @@ public final class Constants {
*/ */
public static final String REFTABLE = "reftable"; public static final String REFTABLE = "reftable";
/**
* Reftable table list name.
* @since 5.6.2
*/
public static final String TABLES_LIST = "tables.list";
/** Info refs folder */ /** Info refs folder */
public static final String INFO_REFS = "info/refs"; public static final String INFO_REFS = "info/refs";

View File

@ -110,7 +110,7 @@ public enum MergeFailureReason {
* *
* @since 3.0 * @since 3.0
*/ */
protected String commitNames[]; protected String[] commitNames;
/** /**
* Index of the base tree within the {@link #tw tree walk}. * Index of the base tree within the {@link #tw tree walk}.

View File

@ -364,7 +364,9 @@ public RevCommit next() throws MissingObjectException,
* @since 5.4 * @since 5.4
*/ */
public void skipTree() { public void skipTree() {
currVisit.ptr = currVisit.buf.length; if (currVisit != null) {
currVisit.ptr = currVisit.buf.length;
}
} }
/** /**

View File

@ -151,7 +151,7 @@ public String toString() {
* 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_QUEUED) != 0 ? 'o' : '-'); s.append((flags & RevWalk.TOPO_DELAY) != 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' : '-');

View File

@ -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 has been queued for emission in * This mark indicates the commit could not produce when it wanted to, as at
* {@link TopoSortGenerator} and can be produced. This mark is removed when * least one child was behind it. Commits with this flag are delayed until
* the commit has been produced. * all children have been output first.
*/ */
static final int TOPO_QUEUED = 1 << 5; static final int TOPO_DELAY = 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;

View File

@ -17,7 +17,7 @@
/** Sorts commits in topological order. */ /** Sorts commits in topological order. */
class TopoSortGenerator extends Generator { class TopoSortGenerator extends Generator {
private static final int TOPO_QUEUED = RevWalk.TOPO_QUEUED; private static final int TOPO_DELAY = RevWalk.TOPO_DELAY;
private final FIFORevQueue pending; private final FIFORevQueue pending;
@ -47,16 +47,12 @@ class TopoSortGenerator extends Generator {
if (c == null) { if (c == null) {
break; break;
} }
if ((c.flags & TOPO_QUEUED) == 0) { for (RevCommit p : c.parents) {
for (RevCommit p : c.parents) { p.inDegree++;
p.inDegree++; if (firstParent) {
break;
if (firstParent) {
break;
}
} }
} }
c.flags |= TOPO_QUEUED;
pending.add(c); pending.add(c);
} }
} }
@ -75,42 +71,34 @@ void shareFreeList(BlockRevQueue q) {
RevCommit next() throws MissingObjectException, RevCommit next() throws MissingObjectException,
IncorrectObjectTypeException, IOException { IncorrectObjectTypeException, IOException {
for (;;) { for (;;) {
RevCommit c = pending.next(); final 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;
} }
if ((c.flags & TOPO_QUEUED) == 0) { // All of our children have already produced,
// c is a parent that already produced or a parent that // so it is OK for us to produce now as well.
// 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_QUEUED) != 0) { if (--p.inDegree == 0 && (p.flags & TOPO_DELAY) != 0) {
// The parent has no unproduced interesting children. unpop // This parent tried to come before us, but we are
// the parent so it goes right behind this child. This means // his last child. unpop the parent so it goes right
// that this parent commit may appear in "pending" more than // behind this child.
// 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;
} }
} }

View File

@ -42,8 +42,8 @@ public abstract class PatternMatchRevFilter extends RevFilter {
protected static final String forceToRaw(String patternText) { protected static final String forceToRaw(String patternText) {
final byte[] b = Constants.encode(patternText); final byte[] b = Constants.encode(patternText);
final StringBuilder needle = new StringBuilder(b.length); final StringBuilder needle = new StringBuilder(b.length);
for (int i = 0; i < b.length; i++) for (byte element : b)
needle.append((char) (b[i] & 0xff)); needle.append((char) (element & 0xff));
return needle.toString(); return needle.toString();
} }

View File

@ -423,8 +423,7 @@ private static MessageDigest newMD5() {
private static String LHEX(byte[] bin) { private static String LHEX(byte[] bin) {
StringBuilder r = new StringBuilder(bin.length * 2); StringBuilder r = new StringBuilder(bin.length * 2);
for (int i = 0; i < bin.length; i++) { for (byte b : bin) {
byte b = bin[i];
r.append(LHEX[(b >>> 4) & 0x0f]); r.append(LHEX[(b >>> 4) & 0x0f]);
r.append(LHEX[b & 0x0f]); r.append(LHEX[b & 0x0f]);
} }

View File

@ -219,7 +219,13 @@ private void safeConfig(Session session, Config cfg) {
private static void setPreferredKeyTypesOrder(Session session) { private static void setPreferredKeyTypesOrder(Session session) {
HostKeyRepository hkr = session.getHostKeyRepository(); HostKeyRepository hkr = session.getHostKeyRepository();
List<String> known = Stream.of(hkr.getHostKey(hostName(session), null)) HostKey[] hostKeys = hkr.getHostKey(hostName(session), null);
if (hostKeys == null) {
return;
}
List<String> known = Stream.of(hostKeys)
.map(HostKey::getType) .map(HostKey::getType)
.collect(toList()); .collect(toList());

View File

@ -303,8 +303,8 @@ private static String escape(String s, boolean escapeReservedChars,
return null; return null;
ByteArrayOutputStream os = new ByteArrayOutputStream(s.length()); ByteArrayOutputStream os = new ByteArrayOutputStream(s.length());
byte[] bytes = s.getBytes(UTF_8); byte[] bytes = s.getBytes(UTF_8);
for (int i = 0; i < bytes.length; ++i) { for (byte c : bytes) {
int b = bytes[i] & 0xFF; int b = c & 0xFF;
if (b <= 32 || (encodeNonAscii && b > 127) || b == '%' if (b <= 32 || (encodeNonAscii && b > 127) || b == '%'
|| (escapeReservedChars && reservedChars.get(b))) { || (escapeReservedChars && reservedChars.get(b))) {
os.write('%'); os.write('%');

View File

@ -2378,12 +2378,12 @@ public void write(int b) throws IOException {
} }
@Override @Override
public void write(byte b[]) throws IOException { public void write(byte[] b) throws IOException {
out.write(b); out.write(b);
} }
@Override @Override
public void write(byte b[], int off, int len) throws IOException { public void write(byte[] b, int off, int len) throws IOException {
out.write(b, off, len); out.write(b, off, len);
} }

View File

@ -245,7 +245,16 @@ public static final class FileStoreAttributes {
return t; return t;
}); });
private static void setBackground(boolean async) { /**
* Whether FileStore attributes should be determined asynchronously
*
* @param async
* whether FileStore attributes should be determined
* asynchronously. If false access to cached attributes may block
* for some seconds for the first call per FileStore
* @since 5.6.2
*/
public static void setBackground(boolean async) {
background.set(async); background.set(async);
} }
@ -709,7 +718,9 @@ public static FS detect() {
* asynchronously. If false access to cached attributes may block * asynchronously. If false access to cached attributes may block
* for some seconds for the first call per FileStore * for some seconds for the first call per FileStore
* @since 5.1.9 * @since 5.1.9
* @deprecated Use {@link FileStoreAttributes#setBackground} instead
*/ */
@Deprecated
public static void setAsyncFileStoreAttributes(boolean asynch) { public static void setAsyncFileStoreAttributes(boolean asynch) {
FileStoreAttributes.setBackground(asynch); FileStoreAttributes.setBackground(asynch);
} }
@ -2270,7 +2281,7 @@ public void run() {
void copy() throws IOException { void copy() throws IOException {
boolean writeFailure = false; boolean writeFailure = false;
byte buffer[] = new byte[4096]; byte[] buffer = new byte[4096];
int readBytes; int readBytes;
while ((readBytes = in.read(buffer)) != -1) { while ((readBytes = in.read(buffer)) != -1) {
// Do not try to write again after a failure, but keep // Do not try to write again after a failure, but keep

View File

@ -117,7 +117,7 @@ public ProcessBuilder runInShell(String cmd, String[] args) {
argv.add("sh.exe"); //$NON-NLS-1$ argv.add("sh.exe"); //$NON-NLS-1$
argv.add("-c"); //$NON-NLS-1$ argv.add("-c"); //$NON-NLS-1$
argv.add("$0 \"$@\""); //$NON-NLS-1$ argv.add("$0 \"$@\""); //$NON-NLS-1$
argv.add(cmd); argv.add(cmd.replace(File.separatorChar, '/'));
argv.addAll(Arrays.asList(args)); argv.addAll(Arrays.asList(args));
ProcessBuilder proc = new ProcessBuilder(); ProcessBuilder proc = new ProcessBuilder();
proc.command(argv); proc.command(argv);

View File

@ -10,6 +10,10 @@
package org.eclipse.jgit.util; package org.eclipse.jgit.util;
import java.text.MessageFormat;
import org.eclipse.jgit.internal.JGitText;
/** /**
* Encodes and decodes to and from hexadecimal notation. * Encodes and decodes to and from hexadecimal notation.
* *
@ -27,9 +31,11 @@ private Hex() {
/** /**
* Decode a hexadecimal string to a byte array. * Decode a hexadecimal string to a byte array.
* *
* Note this method performs no validation on input content. * Note this method validates that characters in the given string are valid
* as digits in a hex string.
* *
* @param s hexadecimal string * @param s
* hexadecimal string
* @return decoded array * @return decoded array
*/ */
public static byte[] decode(String s) { public static byte[] decode(String s) {
@ -37,7 +43,16 @@ public static byte[] decode(String s) {
byte[] b = new byte[len / 2]; byte[] b = new byte[len / 2];
for (int i = 0; i < len; i += 2) { for (int i = 0; i < len; i += 2) {
b[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) | Character.digit(s.charAt(i + 1), 16)); int left = Character.digit(s.charAt(i), 16);
int right = Character.digit(s.charAt(i + 1), 16);
if (left == -1 || right == -1) {
throw new IllegalArgumentException(MessageFormat.format(
JGitText.get().invalidHexString,
s));
}
b[i / 2] = (byte) (left << 4 | right);
} }
return b; return b;
} }

View File

@ -280,7 +280,7 @@ public int read() throws IOException {
} }
@Override @Override
public int read(byte b[], int off, int len) throws IOException { public int read(byte[] b, int off, int len) throws IOException {
return stream.read(b, off, len); return stream.read(b, off, len);
} }

View File

@ -49,7 +49,7 @@ public class Monitoring {
String metricName) { String metricName) {
boolean register = false; boolean register = false;
try { try {
Class<?> interfaces[] = mbean.getClass().getInterfaces(); Class<?>[] interfaces = mbean.getClass().getInterfaces();
for (Class<?> i : interfaces) { for (Class<?> i : interfaces) {
register = SystemReader.getInstance().getUserConfig() register = SystemReader.getInstance().getUserConfig()
.getBoolean( .getBoolean(

View File

@ -243,8 +243,8 @@ public String quote(String instr) {
final byte[] out = new byte[4 * in.length + 2]; final byte[] out = new byte[4 * in.length + 2];
int o = 0; int o = 0;
out[o++] = '"'; out[o++] = '"';
for (int i = 0; i < in.length; i++) { for (byte element : in) {
final int c = in[i] & 0xff; final int c = element & 0xff;
if (c < quote.length) { if (c < quote.length) {
final byte style = quote[c]; final byte style = quote[c];
if (style == 0) { if (style == 0) {

View File

@ -559,8 +559,8 @@ public static final int headerStart(byte[] headerName, byte[] b, int ptr) {
} }
while (ptr < b.length - (headerName.length + 1)) { while (ptr < b.length - (headerName.length + 1)) {
boolean found = true; boolean found = true;
for (int i = 0; i < headerName.length; i++) { for (byte element : headerName) {
if (headerName[i] != b[ptr++]) { if (element != b[ptr++]) {
found = false; found = false;
break; break;
} }

View File

@ -45,7 +45,7 @@
* @since 4.7 * @since 4.7
*/ */
public class SHA1 { public class SHA1 {
private static Logger LOG = LoggerFactory.getLogger(SHA1.class); private static final Logger LOG = LoggerFactory.getLogger(SHA1.class);
private static final boolean DETECT_COLLISIONS; private static final boolean DETECT_COLLISIONS;
static { static {