aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.lfs/src/org/eclipse
diff options
context:
space:
mode:
authorMatthias Sohn <matthias.sohn@sap.com>2019-08-20 00:15:58 +0200
committerMatthias Sohn <matthias.sohn@sap.com>2019-08-20 00:16:11 +0200
commit3e2c88199f12c91206f49bd886e2eb033300cd91 (patch)
tree48f5797d9be5d13ea45f65dddfe0205438a09a6e /org.eclipse.jgit.lfs/src/org/eclipse
parentd7ee5aafee7c4eabeea6de8dd125a1ad4ddcdc0f (diff)
parent35d99477b81043f24314c4c84da8f29e601bec19 (diff)
downloadjgit-3e2c88199f12c91206f49bd886e2eb033300cd91.tar.gz
jgit-3e2c88199f12c91206f49bd886e2eb033300cd91.zip
Merge branch 'stable-5.4'
* stable-5.4: 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 Upgrade tycho-extras to 1.4.0 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: I709de5edb626536529a99220aae7751b127c9bff Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.jgit.lfs/src/org/eclipse')
-rw-r--r--org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallBuiltinLfsCommand.java41
1 files changed, 20 insertions, 21 deletions
diff --git a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallBuiltinLfsCommand.java b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallBuiltinLfsCommand.java
index 028b19b2ab..b7b0535ea5 100644
--- a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallBuiltinLfsCommand.java
+++ b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallBuiltinLfsCommand.java
@@ -43,14 +43,12 @@
package org.eclipse.jgit.lfs;
import java.io.IOException;
-import java.text.MessageFormat;
+import org.eclipse.jgit.api.errors.InvalidConfigurationException;
import org.eclipse.jgit.errors.ConfigInvalidException;
-import org.eclipse.jgit.lfs.internal.LfsText;
import org.eclipse.jgit.lib.ConfigConstants;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.StoredConfig;
-import org.eclipse.jgit.storage.file.FileBasedConfig;
import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.LfsFactory.LfsInstallCommand;
import org.eclipse.jgit.util.SystemReader;
@@ -70,12 +68,28 @@ public class InstallBuiltinLfsCommand implements LfsInstallCommand {
private Repository repository;
- /** {@inheritDoc} */
+ /**
+ * {@inheritDoc}
+ *
+ * @throws IOException
+ * if an I/O error occurs while accessing a git config or
+ * executing {@code git lfs install} in an external process
+ * @throws InvalidConfigurationException
+ * if a git configuration is invalid
+ * @throws InterruptedException
+ * if the current thread is interrupted while waiting for the
+ * {@code git lfs install} executed in an external process
+ */
@Override
- public Void call() throws Exception {
+ public Void call() throws IOException, InvalidConfigurationException,
+ InterruptedException {
StoredConfig cfg = null;
if (repository == null) {
- cfg = loadUserConfig();
+ try {
+ cfg = SystemReader.getInstance().getUserConfig();
+ } catch (ConfigInvalidException e) {
+ throw new InvalidConfigurationException(e.getMessage(), e);
+ }
} else {
cfg = repository.getConfig();
}
@@ -116,19 +130,4 @@ public class InstallBuiltinLfsCommand implements LfsInstallCommand {
return this;
}
- private StoredConfig loadUserConfig() throws IOException {
- FileBasedConfig c = SystemReader.getInstance().openUserConfig(null,
- FS.DETECTED);
- try {
- c.load();
- } catch (ConfigInvalidException e1) {
- throw new IOException(MessageFormat
- .format(LfsText.get().userConfigInvalid, c.getFile()
- .getAbsolutePath(), e1),
- e1);
- }
-
- return c;
- }
-
}