]> source.dussan.org Git - jgit.git/commitdiff
Merge branch 'stable-5.3' into stable-5.4 49/147949/1
authorMatthias Sohn <matthias.sohn@sap.com>
Mon, 19 Aug 2019 22:10:01 +0000 (00:10 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Mon, 19 Aug 2019 22:10:15 +0000 (00:10 +0200)
* stable-5.3:
  Fix NPE in RebaseTodoFile#parseComments
  Fix NPE in ObjectIdOwnerMap#get
  Fix NPE in CommitOnlyTest#getHead
  FileUtils#lastModifiedInstant should not log error if path doesn't exist
  Cache user global and system-wide git configurations
  Avoid setup and saving FileStoreAttributes compete for ~/.gitconfig lock
  Add missing dependencies for running FS_POSIXTest in Eclipse
  Fix javadoc for SystemReader#getInstance
  Improve retry handling when saving FileStoreAttributes fails
  Ensure FSTest uses MockSystemReader
  Make supportsAtomicCreateNewFile return true as default
  Update orbit to R20190602212107-2019-06 to enable backports from master
  Handle InvalidPathException in FS_POSIX#createNewFileAtomic
  Ensure root cause of lock creation failures is logged
  Implement toString in MockSystemReader and MockConfig
  LocalDiskRefTreeDatabaseTest shall use MockSystemReader
  Ensure LocalDiskRepositoryTestCase#setup fully uses MockSystemReader
  Ensure we use MockSystemReader in tests
  Override FileBasedConfig's save method in MockConfig
  Remove FileBasedConfig.load(boolean) introduced in d45219ba
  Disable debug log for FS in org.eclipse.jgit.test
  Bazel: enable logging for tests in org.eclipse.jgit.test
  LockFile: log exception if creation of lock file failed
  Stop using deprecated Constants.CHARACTER_ENCODING

Change-Id: I43c2ab8b44c3e87d48e4072907ad169c81e3ffe0
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
30 files changed:
1  2 
WORKSPACE
lib/BUILD
org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/SmartClientSmartServerTest.java
org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java
org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/MockSystemReader.java
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.10.target
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.11.target
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.12-staging.target
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.6.target
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.7.target
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.8.target
org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.9.target
org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20190602212107-2019-06.tpd
org.eclipse.jgit.test/BUILD
org.eclipse.jgit.test/META-INF/MANIFEST.MF
org.eclipse.jgit.test/pom.xml
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CloneCommandTest.java
org.eclipse.jgit/.settings/.api_filters
org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileRepository.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/LockFile.java
org.eclipse.jgit/src/org/eclipse/jgit/lib/RebaseTodoFile.java
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/FileBasedConfig.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/HttpConfig.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java
org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java
org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java
org.eclipse.jgit/src/org/eclipse/jgit/util/FileUtils.java
org.eclipse.jgit/src/org/eclipse/jgit/util/SystemReader.java

diff --cc WORKSPACE
Simple merge
diff --cc lib/BUILD
Simple merge
index 54c1c03b50e01c2d94df48ccb44d3587ae0beff3,017e2c7aa336615255fa825d63eb0def3c419a83..8b85bef3057eea0b2ccee49a11282d1423025b41
@@@ -124,7 -123,9 +123,6 @@@ import org.eclipse.jgit.transport.Usern
  import org.eclipse.jgit.transport.http.HttpConnectionFactory;
  import org.eclipse.jgit.transport.http.JDKHttpConnectionFactory;
  import org.eclipse.jgit.transport.http.apache.HttpClientConnectionFactory;
- import org.eclipse.jgit.util.FS;
 -import org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException;
 -import org.eclipse.jgit.transport.resolver.ServiceNotEnabledException;
 -import org.eclipse.jgit.transport.resolver.UploadPackFactory;
  import org.eclipse.jgit.util.HttpSupport;
  import org.eclipse.jgit.util.SystemReader;
  import org.hamcrest.Matchers;
index 19157472064e8e5ff78720dceee9bb00f9751fd7,86653bef028185200273f15512105819944d1734..36660ff3e6e35c3cafb1425afe117a4e38060a1c
@@@ -1,7 -1,7 +1,7 @@@
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  <?pde?>
  <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
- <target name="jgit-4.10" sequenceNumber="1559548426">
 -<target name="jgit-4.10" sequenceNumber="1566244557">
++<target name="jgit-4.10" sequenceNumber="1566251637">
    <locations>
      <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
        <unit id="org.eclipse.jetty.client" version="9.4.14.v20181114"/>
index e5ea33101ff1a7a0e5e30a0647df1b3d7071bd43,0000000000000000000000000000000000000000..afa4b3da2cc617db208692402f7967087a21e1b8
mode 100644,000000..100644
--- /dev/null
@@@ -1,92 -1,0 +1,92 @@@
- <target name="jgit-4.11" sequenceNumber="1559548429">
 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 +<?pde?>
 +<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-       <unit id="org.mockito" version="2.13.0.v20180426-1843"/>
-       <unit id="org.mockito.source" version="2.13.0.v20180426-1843"/>
-       <unit id="net.bytebuddy.byte-buddy" version="1.7.9.v20180420-1519"/>
-       <unit id="net.bytebuddy.byte-buddy.source" version="1.7.9.v20180420-1519"/>
-       <unit id="net.bytebuddy.byte-buddy-agent" version="1.7.9.v20180420-1519"/>
-       <unit id="net.bytebuddy.byte-buddy-agent.source" version="1.7.9.v20180420-1519"/>
++<target name="jgit-4.11" sequenceNumber="1566251633">
 +  <locations>
 +    <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
 +      <unit id="org.eclipse.jetty.client" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.client.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.continuation" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.continuation.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.http" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.http.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.io" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.io.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.security" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.security.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.server" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.server.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.servlet" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.servlet.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.util" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.util.source" version="9.4.14.v20181114"/>
 +      <repository id="jetty-9.4.14" location="http://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.4.14.v20181114"/>
 +    </location>
 +    <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
 +      <unit id="org.apache.ant" version="1.10.5.v20190526-1402"/>
 +      <unit id="org.apache.ant.source" version="1.10.5.v20190526-1402"/>
 +      <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
 +      <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
 +      <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
 +      <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
 +      <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.6.v20190503-0009"/>
 +      <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
 +      <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
 +      <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
 +      <unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
 +      <unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
 +      <unit id="org.bouncycastle.bcpg" version="1.61.0.v20190602-1335"/>
 +      <unit id="org.bouncycastle.bcpg.source" version="1.61.0.v20190602-1335"/>
 +      <unit id="org.bouncycastle.bcpkix" version="1.61.0.v20190602-1335"/>
 +      <unit id="org.bouncycastle.bcpkix.source" version="1.61.0.v20190602-1335"/>
 +      <unit id="org.bouncycastle.bcprov" version="1.61.0.v20190602-1335"/>
 +      <unit id="org.bouncycastle.bcprov.source" version="1.61.0.v20190602-1335"/>
 +      <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.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="javaewah" version="1.1.6.v20160919-1400"/>
 +      <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
 +      <unit id="org.objenesis" version="2.6.0.v20180420-1519"/>
 +      <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/>
++      <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
++      <unit id="org.mockito.source" version="2.23.0.v20190527-1420"/>
++      <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
++      <unit id="net.bytebuddy.byte-buddy.source" 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="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="org.junit" version="4.12.0.v201504281640"/>
 +      <unit id="org.junit.source" version="4.12.0.v201504281640"/>
 +      <unit id="javax.servlet" version="3.1.0.v201410161800"/>
 +      <unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
 +      <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.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="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
 +      <unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
 +      <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.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"/>
 +      <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20190602212107/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-03/"/>
 +    </location>
 +  </locations>
 +</target>
index 5daa8e8ad5fa1cdf18be8de6d09ad9d495f6371f,0000000000000000000000000000000000000000..92c9a88366b83699bac3a1b101d65e850f91a2d2
mode 100644,000000..100644
--- /dev/null
@@@ -1,92 -1,0 +1,92 @@@
- <target name="jgit-4.12-staging" sequenceNumber="1559548433">
 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 +<?pde?>
 +<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-       <unit id="org.mockito" version="2.13.0.v20180426-1843"/>
-       <unit id="org.mockito.source" version="2.13.0.v20180426-1843"/>
-       <unit id="net.bytebuddy.byte-buddy" version="1.7.9.v20180420-1519"/>
-       <unit id="net.bytebuddy.byte-buddy.source" version="1.7.9.v20180420-1519"/>
-       <unit id="net.bytebuddy.byte-buddy-agent" version="1.7.9.v20180420-1519"/>
-       <unit id="net.bytebuddy.byte-buddy-agent.source" version="1.7.9.v20180420-1519"/>
++<target name="jgit-4.12-staging" sequenceNumber="1566251632">
 +  <locations>
 +    <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
 +      <unit id="org.eclipse.jetty.client" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.client.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.continuation" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.continuation.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.http" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.http.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.io" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.io.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.security" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.security.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.server" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.server.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.servlet" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.servlet.source" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.util" version="9.4.14.v20181114"/>
 +      <unit id="org.eclipse.jetty.util.source" version="9.4.14.v20181114"/>
 +      <repository id="jetty-9.4.14" location="http://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.4.14.v20181114"/>
 +    </location>
 +    <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
 +      <unit id="org.apache.ant" version="1.10.5.v20190526-1402"/>
 +      <unit id="org.apache.ant.source" version="1.10.5.v20190526-1402"/>
 +      <unit id="org.apache.commons.codec" version="1.10.0.v20180409-1845"/>
 +      <unit id="org.apache.commons.codec.source" version="1.10.0.v20180409-1845"/>
 +      <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
 +      <unit id="org.apache.commons.compress.source" version="1.18.0.v20181121-2221"/>
 +      <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.6.v20190503-0009"/>
 +      <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.6.v20190503-0009"/>
 +      <unit id="org.apache.httpcomponents.httpcore" version="4.4.10.v20190123-2214"/>
 +      <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.10.v20190123-2214"/>
 +      <unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
 +      <unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
 +      <unit id="org.bouncycastle.bcpg" version="1.61.0.v20190602-1335"/>
 +      <unit id="org.bouncycastle.bcpg.source" version="1.61.0.v20190602-1335"/>
 +      <unit id="org.bouncycastle.bcpkix" version="1.61.0.v20190602-1335"/>
 +      <unit id="org.bouncycastle.bcpkix.source" version="1.61.0.v20190602-1335"/>
 +      <unit id="org.bouncycastle.bcprov" version="1.61.0.v20190602-1335"/>
 +      <unit id="org.bouncycastle.bcprov.source" version="1.61.0.v20190602-1335"/>
 +      <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.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="javaewah" version="1.1.6.v20160919-1400"/>
 +      <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
 +      <unit id="org.objenesis" version="2.6.0.v20180420-1519"/>
 +      <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/>
++      <unit id="org.mockito" version="2.23.0.v20190527-1420"/>
++      <unit id="org.mockito.source" version="2.23.0.v20190527-1420"/>
++      <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
++      <unit id="net.bytebuddy.byte-buddy.source" 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="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="org.junit" version="4.12.0.v201504281640"/>
 +      <unit id="org.junit.source" version="4.12.0.v201504281640"/>
 +      <unit id="javax.servlet" version="3.1.0.v201410161800"/>
 +      <unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
 +      <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.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="com.jcraft.jzlib" version="1.1.1.v201205102305"/>
 +      <unit id="com.jcraft.jzlib.source" version="1.1.1.v201205102305"/>
 +      <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.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"/>
 +      <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20190602212107/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/staging/2019-06/"/>
 +    </location>
 +  </locations>
 +</target>
index 0638b46a3435849aef588bbc025996a4c3e814c4,05488b9c3d7efc356d90eacaabf6b06cc4d30895..9724939f8a967a893b6220bfcc7e1ef87f3e7cb2
@@@ -1,7 -1,7 +1,7 @@@
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  <?pde?>
  <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
- <target name="jgit-4.6" sequenceNumber="1559548436">
 -<target name="jgit-4.6" sequenceNumber="1566244561">
++<target name="jgit-4.6" sequenceNumber="1566251641">
    <locations>
      <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
        <unit id="org.eclipse.jetty.client" version="9.4.14.v20181114"/>
index 1044299df576ea6fb65c428b0b533d6df159821d,e82222a0c5ee4c4be3525996494334c46b0a4a73..6bd70e0160bd395b65523fa726612428f27ed80b
@@@ -1,7 -1,7 +1,7 @@@
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  <?pde?>
  <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
- <target name="jgit-4.7" sequenceNumber="1559548440">
 -<target name="jgit-4.7" sequenceNumber="1566244564">
++<target name="jgit-4.7" sequenceNumber="1566251627">
    <locations>
      <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
        <unit id="org.eclipse.jetty.client" version="9.4.14.v20181114"/>
index a5f948fdee6cf23c53984b30ac042487ebd15f03,0b353db260c02e68d461af6d172d33269d9647a8..e33ece710ac2632c1c886e5f0899c7490da6ccfb
@@@ -1,7 -1,7 +1,7 @@@
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  <?pde?>
  <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
- <target name="jgit-4.8" sequenceNumber="1559548443">
 -<target name="jgit-4.8" sequenceNumber="1566244569">
++<target name="jgit-4.8" sequenceNumber="1566251616">
    <locations>
      <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
        <unit id="org.eclipse.jetty.client" version="9.4.14.v20181114"/>
index e0afda3a6e8d92260d3ca1d7a01e32ba566aaa16,94a752c74c251744650b5f75d2b48e0404ecc1f7..9b3fe1b930f299190d91c95b924bcdb29af75b96
@@@ -1,7 -1,7 +1,7 @@@
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  <?pde?>
  <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
- <target name="jgit-4.9" sequenceNumber="1559548447">
 -<target name="jgit-4.9" sequenceNumber="1566244572">
++<target name="jgit-4.9" sequenceNumber="1566251604">
    <locations>
      <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
        <unit id="org.eclipse.jetty.client" version="9.4.14.v20181114"/>
index df9a810e0790e4325fea71a0983da3d97e5dd913,65d5c9f1f5bd45d79cdf33c977a96560d83ef678..db674493b58b1377c10b0c6cf3e22c7c19169ed8
@@@ -57,8 -57,8 +57,9 @@@ location "https://download.eclipse.org/
        com.jcraft.jzlib.source [1.1.1.v201205102305,1.1.1.v201205102305]
        net.i2p.crypto.eddsa [0.3.0.v20181102-1323,0.3.0.v20181102-1323]
        net.i2p.crypto.eddsa.source [0.3.0.v20181102-1323,0.3.0.v20181102-1323]
 -      org.apache.sshd.core [2.0.0.v20181102-1323,2.0.0.v20181102-1323]
 -      org.apache.sshd.core.source [2.0.0.v20181102-1323,2.0.0.v20181102-1323]
 -      org.apache.sshd.sftp [2.0.0.v20181102-1323,2.0.0.v20181102-1323]
 -      org.apache.sshd.sftp.source [2.0.0.v20181102-1323,2.0.0.v20181102-1323]
 +      org.apache.sshd.osgi [2.2.0.v20190425-2127,2.2.0.v20190425-2127]
 +      org.apache.sshd.osgi.source [2.2.0.v20190425-2127,2.2.0.v20190425-2127]
 +      org.apache.sshd.sftp [2.2.0.v20190425-2127,2.2.0.v20190425-2127]
 +      org.apache.sshd.sftp.source [2.2.0.v20190425-2127,2.2.0.v20190425-2127]
  }
++
Simple merge
Simple merge
index 2f6d2fa1d0044dd717bb5db62d40e80becc6bad3,bb37dd8c8a3dbeb58d9b55c490650effff5834db..5ca7c0f6640be8e64ffdf8eea9126c953862820c
              </message_arguments>
          </filter>
      </resource>
-     <resource path="src/org/eclipse/jgit/storage/file/FileBasedConfig.java" type="org.eclipse.jgit.storage.file.FileBasedConfig">
 -    <resource path="src/org/eclipse/jgit/storage/pack/PackConfig.java" type="org.eclipse.jgit.storage.pack.PackConfig">
 -        <filter id="336658481">
 -            <message_arguments>
 -                <message_argument value="org.eclipse.jgit.storage.pack.PackConfig"/>
 -                <message_argument value="DEFAULT_MINSIZE_PREVENT_RACY_PACK"/>
 -            </message_arguments>
 -        </filter>
 -        <filter id="336658481">
 -            <message_arguments>
 -                <message_argument value="org.eclipse.jgit.storage.pack.PackConfig"/>
 -                <message_argument value="DEFAULT_WAIT_PREVENT_RACY_PACK"/>
 -            </message_arguments>
 -        </filter>
--        <filter id="1142947843">
--            <message_arguments>
-                 <message_argument value="5.1.9"/>
-                 <message_argument value="load(boolean)"/>
 -                <message_argument value="5.1.8"/>
 -                <message_argument value="DEFAULT_MINSIZE_PREVENT_RACY_PACK"/>
 -            </message_arguments>
 -        </filter>
 -        <filter id="1142947843">
 -            <message_arguments>
 -                <message_argument value="5.1.8"/>
 -                <message_argument value="DEFAULT_WAIT_PREVENT_RACY_PACK"/>
 -            </message_arguments>
 -        </filter>
 -        <filter id="1142947843">
 -            <message_arguments>
 -                <message_argument value="5.1.8"/>
 -                <message_argument value="doWaitPreventRacyPack(long)"/>
 -            </message_arguments>
 -        </filter>
 -        <filter id="1142947843">
 -            <message_arguments>
 -                <message_argument value="5.1.8"/>
 -                <message_argument value="getMinSizePreventRacyPack()"/>
 -            </message_arguments>
 -        </filter>
 -        <filter id="1142947843">
 -            <message_arguments>
 -                <message_argument value="5.1.8"/>
 -                <message_argument value="isWaitPreventRacyPack()"/>
 -            </message_arguments>
 -        </filter>
 -        <filter id="1142947843">
 -            <message_arguments>
 -                <message_argument value="5.1.8"/>
 -                <message_argument value="setMinSizePreventRacyPack(long)"/>
 -            </message_arguments>
 -        </filter>
 -        <filter id="1142947843">
 -            <message_arguments>
 -                <message_argument value="5.1.8"/>
 -                <message_argument value="setWaitPreventRacyPack(boolean)"/>
--            </message_arguments>
--        </filter>
--    </resource>
      <resource path="src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java" type="org.eclipse.jgit.treewalk.WorkingTreeIterator">
          <filter id="1142947843">
              <message_arguments>
index 34faf31042a3269fe53597582ef7be5d6326e76a,91136620c43a6bfb6e1b232a23815547c11a2edb..a10d1d7ed9e18a2a660a2cdea9ed08f4fa75709a
@@@ -635,7 -632,7 +639,8 @@@ rewinding=Rewinding to commit {0
  s3ActionDeletion=Deletion
  s3ActionReading=Reading
  s3ActionWriting=Writing
 +searchForReachableBranches=Finding reachable branches
+ saveFileStoreAttributesFailed=Saving measured FileStore attributes to user config failed
  searchForReuse=Finding sources
  searchForSizes=Getting sizes
  secondsAgo={0} seconds ago
index 37918500a774a19ea3afca8ba4be2a8b99990637,039a6b2b43fe406ca2ced380195f42982546b4a3..cd50e347abeb008b464f9ba5aa4a424826be043d
@@@ -696,7 -693,7 +700,8 @@@ public class JGitText extends Translati
        /***/ public String s3ActionDeletion;
        /***/ public String s3ActionReading;
        /***/ public String s3ActionWriting;
+       /***/ public String saveFileStoreAttributesFailed;
 +      /***/ public String searchForReachableBranches;
        /***/ public String searchForReuse;
        /***/ public String searchForSizes;
        /***/ public String secondsAgo;
index 90772970ae7f27597c023afb6fbf7928106cf49e,356d64b563db70eac35aa8fd7ab8cdfb4c883ccc..4f5f8a613e3ecfb39da4d9705b3df7ae42ae7224
@@@ -199,12 -190,14 +188,9 @@@ public class FileRepository extends Rep
                repoConfig = new FileBasedConfig(userConfig, getFS().resolve(
                                getDirectory(), Constants.CONFIG),
                                getFS());
-               loadSystemConfig();
-               loadUserConfig();
                loadRepoConfig();
  
 -              repoConfig.addChangeListener(new ConfigChangedListener() {
 -                      @Override
 -                      public void onConfigChanged(ConfigChangedEvent event) {
 -                              fireEvent(event);
 -                      }
 -              });
 +              repoConfig.addChangeListener(this::fireEvent);
  
                final long repositoryFormatVersion = getConfig().getLong(
                                ConfigConstants.CONFIG_CORE_SECTION, null,
index 10b00b77a0a668989c2ec49f5300249ff40a47de,bdbd7c90721d251c6c55170bca4d7e247cd9fe9f..5bb8153a58e9d166bb0215352d06beb53ffa1d0d
@@@ -148,28 -148,7 +148,8 @@@ public class FileBasedConfig extends St
         */
        @Override
        public void load() throws IOException, ConfigInvalidException {
-               load(true);
-       }
-       /**
-        * Load the configuration as a Git text style configuration file.
-        * <p>
-        * If the file does not exist, this configuration is cleared, and thus
-        * behaves the same as though the file exists, but is empty.
-        *
-        * @param useFileSnapshotWithConfig
-        *            if {@code true} use the FileSnapshot with config, otherwise
-        *            use it without config
-        * @throws IOException
-        *             if IO failed
-        * @throws ConfigInvalidException
-        *             if config is invalid
-        * @since 5.1.9
-        */
-       public void load(boolean useFileSnapshotWithConfig)
-                       throws IOException, ConfigInvalidException {
 -              final int maxStaleRetries = 5;
 +              final int maxRetries = 5;
 +              int retryDelayMillis = 20;
                int retries = 0;
                while (true) {
                        final FileSnapshot oldSnapshot = snapshot;
index 6ec50c24e022b5a083862d0b5cb29d910624490e,eda0fae2475606a3f2bd6f61174c6a2664267e2d..a485389a9a4f1649bc751985ff6f4558e9aa3f0f
@@@ -48,9 -51,10 +51,11 @@@ import java.io.IOException
  import java.io.InputStreamReader;
  import java.io.PrintStream;
  import java.nio.charset.Charset;
 -import java.nio.file.AccessDeniedException;
+ import java.nio.file.FileAlreadyExistsException;
 +import java.nio.file.FileStore;
 +import java.nio.file.FileSystemException;
  import java.nio.file.Files;
+ import java.nio.file.InvalidPathException;
  import java.nio.file.Path;
  import java.nio.file.Paths;
  import java.nio.file.attribute.PosixFilePermission;
@@@ -87,9 -88,9 +91,9 @@@ public class FS_POSIX extends FS 
        private static final int DEFAULT_UMASK = 0022;
        private volatile int umask = -1;
  
 -      private volatile boolean supportsUnixNLink = true;
 +      private static final Map<FileStore, Boolean> CAN_HARD_LINK = new ConcurrentHashMap<>();
  
-       private volatile AtomicFileCreation supportsAtomicCreateNewFile = AtomicFileCreation.UNDEFINED;
+       private volatile AtomicFileCreation supportsAtomicFileCreation = AtomicFileCreation.UNDEFINED;
  
        private enum AtomicFileCreation {
                SUPPORTED, NOT_SUPPORTED, UNDEFINED
         */
        @Override
        public LockToken createNewFileAtomic(File file) throws IOException {
-               if (!file.createNewFile()) {
+               Path path;
+               try {
+                       path = file.toPath();
+                       Files.createFile(path);
+               } catch (FileAlreadyExistsException | InvalidPathException e) {
                        return token(false, null);
                }
 -              if (supportsAtomicCreateNewFile() || !supportsUnixNLink) {
 +              if (supportsAtomicCreateNewFile()) {
                        return token(true, null);
                }
                Path link = null;
-               Path path = file.toPath();
 +              FileStore store = null;
                try {
 +                      store = Files.getFileStore(path);
 +              } catch (SecurityException e) {
 +                      return token(true, null);
 +              }
 +              try {
 +                      Boolean canLink = CAN_HARD_LINK.computeIfAbsent(store,
 +                                      s -> Boolean.TRUE);
 +                      if (Boolean.FALSE.equals(canLink)) {
 +                              return token(true, null);
 +                      }
                        link = Files.createLink(Paths.get(uniqueLinkPath(file)), path);
                        Integer nlink = (Integer) (Files.getAttribute(path,
                                        "unix:nlink")); //$NON-NLS-1$