From 5c7486fb65b0ada289b481ce7262d7945b1d5994 Mon Sep 17 00:00:00 2001 From: Marcus Cobden Date: Fri, 30 Sep 2016 16:04:11 +0100 Subject: [PATCH] Add --glob-file option to load globs from a file --- README.md | 2 ++ src/main/java/git/lfs/migrate/Main.java | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f3aadd8..baf1a63 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,8 @@ git clone --mirror git@github.com:bozaro/git-lfs-migrate.git # -t, --write-threads # IO thread count # Default: 2 +# --glob-file +# File containing glob patterns java -jar git-lfs-migrate.jar \ -s git-lfs-migrate.git \ -d git-lfs-migrate-converted.git \ diff --git a/src/main/java/git/lfs/migrate/Main.java b/src/main/java/git/lfs/migrate/Main.java index 8d299f8..19a1674 100644 --- a/src/main/java/git/lfs/migrate/Main.java +++ b/src/main/java/git/lfs/migrate/Main.java @@ -35,6 +35,7 @@ import java.nio.file.attribute.BasicFileAttributes; import java.security.GeneralSecurityException; import java.util.*; +import java.util.stream.Stream; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; @@ -75,8 +76,14 @@ public static void main(@NotNull String[] args) throws Exception { } return; } + String[] globs = cmd.globs.toArray(new String[cmd.globs.size()]); + if (cmd.globFile != null) { + globs = Stream.concat( + Arrays.stream(globs), Files.lines(cmd.globFile.toPath()) + ).toArray(String[]::new); + } try { - processRepository(cmd.src, cmd.dst, cmd.cache, client, cmd.writeThreads, cmd.uploadThreads, cmd.globs.toArray(new String[cmd.globs.size()])); + processRepository(cmd.src, cmd.dst, cmd.cache, client, cmd.writeThreads, cmd.uploadThreads, globs); } catch (ExecutionException e) { if (e.getCause() instanceof RequestException) { final RequestException cause = (RequestException) e.getCause(); @@ -447,6 +454,8 @@ public static class CmdArgs { private boolean checkLfs = false; @Parameter(names = {"--no-check-certificate"}, description = "Don't check the server certificate against the available certificate authorities") private boolean noCheckCertificate = false; + @Parameter(names = {"--glob-file"}, description = "File containing glob patterns") + private File globFile = null; @Parameter(description = "LFS file glob patterns") @NotNull