summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/BuiltinLFS.java8
-rw-r--r--org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallBuiltinLfsCommand.java (renamed from org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallLfsCommand.java)7
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/util/LfsFactory.java34
3 files changed, 45 insertions, 4 deletions
diff --git a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/BuiltinLFS.java b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/BuiltinLFS.java
index d65e4e9993..415caa9859 100644
--- a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/BuiltinLFS.java
+++ b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/BuiltinLFS.java
@@ -112,7 +112,8 @@ public class BuiltinLFS extends LfsFactory {
* the repository
* @return whether LFS is requested for the given repo.
*/
- private boolean isEnabled(Repository db) {
+ @Override
+ public boolean isEnabled(Repository db) {
if (db == null) {
return false;
}
@@ -138,4 +139,9 @@ public class BuiltinLFS extends LfsFactory {
.equals(attribute.getValue());
}
+ @Override
+ public LfsInstallCommand getInstallCommand() {
+ return new InstallBuiltinLfsCommand();
+ }
+
}
diff --git a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallLfsCommand.java b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallBuiltinLfsCommand.java
index b204d0c156..028b19b2ab 100644
--- a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallLfsCommand.java
+++ b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/InstallBuiltinLfsCommand.java
@@ -44,7 +44,6 @@ package org.eclipse.jgit.lfs;
import java.io.IOException;
import java.text.MessageFormat;
-import java.util.concurrent.Callable;
import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.lfs.internal.LfsText;
@@ -53,6 +52,7 @@ 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;
/**
@@ -61,7 +61,7 @@ import org.eclipse.jgit.util.SystemReader;
*
* @since 4.11
*/
-public class InstallLfsCommand implements Callable<Void>{
+public class InstallBuiltinLfsCommand implements LfsInstallCommand {
private static final String[] ARGS_USER = new String[] { "lfs", "install" }; //$NON-NLS-1$//$NON-NLS-2$
@@ -110,7 +110,8 @@ public class InstallLfsCommand implements Callable<Void>{
* configuration
* @return this command
*/
- public InstallLfsCommand setRepository(Repository repo) {
+ @Override
+ public LfsInstallCommand setRepository(Repository repo) {
this.repository = repo;
return this;
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/LfsFactory.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/LfsFactory.java
index 9200916495..6d60ef3f4d 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/util/LfsFactory.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/LfsFactory.java
@@ -46,6 +46,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.text.MessageFormat;
+import java.util.concurrent.Callable;
import org.eclipse.jgit.annotations.Nullable;
import org.eclipse.jgit.attributes.Attribute;
@@ -157,6 +158,26 @@ public class LfsFactory {
}
/**
+ * Retrieve an {@link LfsInstallCommand} which can be used to enable LFS
+ * support (if available) either per repository or for the user.
+ *
+ * @return a command to install LFS support.
+ */
+ public @Nullable LfsInstallCommand getInstallCommand() {
+ return null;
+ }
+
+ /**
+ * @param db
+ * the repository to check
+ * @return whether LFS is enabled for the given repository locally or
+ * globally.
+ */
+ public boolean isEnabled(Repository db) {
+ return false;
+ }
+
+ /**
* @param db
* the repository
* @param path
@@ -281,4 +302,17 @@ public class LfsFactory {
}
}
+ /**
+ * A command to enable LFS. Optionally set a {@link Repository} to enable
+ * locally on the repository only.
+ */
+ public interface LfsInstallCommand extends Callable<Void> {
+ /**
+ * @param repo
+ * the repository to enable support for.
+ * @return The {@link LfsInstallCommand} for chaining.
+ */
+ public LfsInstallCommand setRepository(Repository repo);
+ }
+
}