From 8959d5e8c27e8e09449b35166c358ac1ee3656dd Mon Sep 17 00:00:00 2001 From: wuwen Date: Sun, 2 Jul 2023 13:25:22 +0800 Subject: [PATCH] [SCM-530] Add support for git submodules to git SCM provider --- .../command/checkout/GitCheckOutCommand.java | 35 ++++++- .../GitExeCheckOutCommandRecursiveTest.java | 99 ++++++++++++++++++ .../test/resources/repository_submodule/HEAD | 1 + .../resources/repository_submodule/config | 5 + .../repository_submodule/description | 1 + .../repository_submodule/hooks/.gitkeep | 0 .../repository_submodule/info/exclude | 6 ++ .../resources/repository_submodule/logs/HEAD | 4 + .../logs/refs/heads/master | 4 + .../logs/refs/remotes/origin/master | 1 + .../02/1d26a81797f675c66ee7f875dcb4255caa6a84 | 2 + .../07/b300aafa39acce00868af0141f75b73cf14664 | 1 + .../17/e953589369a48dcb0a0cbad084a76ef852cd11 | Bin 0 -> 37 bytes .../1d/308c3b92eb0df9c0dc76436d50edfd0ca41d18 | Bin 0 -> 199 bytes .../3b/459fa9451a94fc1acd10e2e29ab73d93eb816d | Bin 0 -> 75 bytes .../3b/d305c57c635aead10cf59f7c1dc51af03edaf7 | Bin 0 -> 116 bytes .../3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 | Bin 0 -> 46 bytes .../61/4a3fd04313593d67f4154855a06941046326b3 | Bin 0 -> 23 bytes .../61/a0d22b023d6e31894d736cca8c1a47b6edd822 | Bin 0 -> 45 bytes .../6c/19dac26d45acdca2aa830e8dc5835da37ae5d6 | Bin 0 -> 183 bytes .../92/09a983605d6e43e5cf841a1ea18a1914bb7407 | Bin 0 -> 54 bytes .../92/f139dfec4d1dfb79c3cd2f94e83bf13129668b | 1 + .../94/d3d586e355f318d67e3da6bb16a91be7aad1a7 | Bin 0 -> 28 bytes .../9e/131cfc732b0d9f42b9b712a528d0632d9bcca7 | Bin 0 -> 43 bytes .../b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 | Bin 0 -> 36 bytes .../ba/a229a9193371fad604444f64c4f26f8ff702f3 | 1 + .../ba/cd4ee105073117b30e5dcdba5150373b6b53c6 | Bin 0 -> 60 bytes .../c3/8b0351660113545db270ba6918cc22a9eb17ce | Bin 0 -> 46 bytes .../c5/1dcd33e7b71897603c203b5e0afc1d75f70051 | Bin 0 -> 147 bytes .../dc/4204852765c12f398ef4a5fbcabf23cf17a183 | Bin 0 -> 116 bytes .../f7/1429f9ff9214a546b438c611ae942c9cf5a49e | Bin 0 -> 46 bytes .../fd/39fa3de0f63bc5c78eca219e74e0a8531bd3e6 | Bin 0 -> 24 bytes .../fe/a16119a5b4ec0562d4f65b4237314250773bf8 | Bin 0 -> 27 bytes .../repository_submodule/refs/heads/master | 1 + .../refs/remotes/origin/HEAD | 1 + .../refs/remotes/origin/master | 1 + 36 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandRecursiveTest.java create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/HEAD create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/config create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/description create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/hooks/.gitkeep create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/info/exclude create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/HEAD create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/refs/heads/master create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/refs/remotes/origin/master create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/02/1d26a81797f675c66ee7f875dcb4255caa6a84 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/07/b300aafa39acce00868af0141f75b73cf14664 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/17/e953589369a48dcb0a0cbad084a76ef852cd11 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/1d/308c3b92eb0df9c0dc76436d50edfd0ca41d18 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/61/4a3fd04313593d67f4154855a06941046326b3 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/6c/19dac26d45acdca2aa830e8dc5835da37ae5d6 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/92/f139dfec4d1dfb79c3cd2f94e83bf13129668b create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/94/d3d586e355f318d67e3da6bb16a91be7aad1a7 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/9e/131cfc732b0d9f42b9b712a528d0632d9bcca7 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/ba/a229a9193371fad604444f64c4f26f8ff702f3 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/c3/8b0351660113545db270ba6918cc22a9eb17ce create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/c5/1dcd33e7b71897603c203b5e0afc1d75f70051 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/dc/4204852765c12f398ef4a5fbcabf23cf17a183 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/fd/39fa3de0f63bc5c78eca219e74e0a8531bd3e6 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/refs/heads/master create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/refs/remotes/origin/HEAD create mode 100644 maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/refs/remotes/origin/master diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java index 9ff18288e..c8d4ac873 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java @@ -70,6 +70,7 @@ public ScmResult executeCommand(ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion version = parameters.getScmVersion(CommandParameter.SCM_VERSION, null); boolean binary = parameters.getBoolean(CommandParameter.BINARY, false); boolean shallow = parameters.getBoolean(CommandParameter.SHALLOW, false); + boolean recursive = parameters.getBoolean(CommandParameter.RECURSIVE, false); GitScmProviderRepository repository = (GitScmProviderRepository) repo; @@ -134,11 +135,30 @@ && new File(fileSet.getBasedir(), ".git").exists() lastCommandLine = gitCheckout.toString(); } + if (recursive) { + // and now lets do the git-submodule update + Commandline clSubmoduleUpdate = createSubmoduleUpdateCommand(fileSet.getBasedir()); + + exitCode = GitCommandLineUtils.execute(clSubmoduleUpdate, stdout, stderr); + if (exitCode != 0) { + return new CheckOutScmResult( + clSubmoduleUpdate.toString(), + "The git-submodule update command failed.", + stderr.getOutput(), + false); + } + lastCommandLine = clSubmoduleUpdate.toString(); + } + // and now search for the files GitListConsumer listConsumer = new GitListConsumer(fileSet.getBasedir(), ScmFileStatus.CHECKED_IN); Commandline gitList = GitListCommand.createCommandLine(repository, fileSet.getBasedir()); + if (recursive) { + gitList.createArg().setValue("--recurse-submodules"); + } + exitCode = GitCommandLineUtils.execute(gitList, listConsumer, stderr); if (exitCode != 0) { return new CheckOutScmResult( @@ -163,6 +183,19 @@ public static Commandline createCommandLine( return gitCheckout; } + /** + * create a git-submodule update command + */ + Commandline createSubmoduleUpdateCommand(File workingDirectory) { + Commandline gitSubmoduleUpdate = GitCommandLineUtils.getBaseGitCommandLine(workingDirectory, "submodule"); + + gitSubmoduleUpdate.createArg().setValue("update"); + gitSubmoduleUpdate.createArg().setValue("--init"); + gitSubmoduleUpdate.createArg().setValue("--recursive"); + + return gitSubmoduleUpdate; + } + /** * create a git-clone repository command */ @@ -183,7 +216,7 @@ private Commandline createCloneCommand( gitClone.createArg().setValue("1"); } - if (version != null && (version instanceof ScmBranch)) { + if (version instanceof ScmBranch) { gitClone.createArg().setValue("--branch"); diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandRecursiveTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandRecursiveTest.java new file mode 100644 index 000000000..6bcf7a8e8 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandRecursiveTest.java @@ -0,0 +1,99 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.maven.scm.provider.git.gitexe.command.checkout; + +import java.io.File; +import java.util.Collections; + +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.ScmVersion; +import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.provider.git.gitexe.command.GitCommandLineUtils; +import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository; +import org.apache.maven.scm.repository.ScmRepository; +import org.codehaus.plexus.util.FileUtils; +import org.codehaus.plexus.util.cli.CommandLineUtils; +import org.codehaus.plexus.util.cli.Commandline; +import org.junit.Before; +import org.junit.Test; + +import static org.apache.maven.scm.provider.git.GitScmTestUtils.GIT_COMMAND_LINE; +import static org.junit.Assert.assertEquals; + +/** + * @author Wen Wu + * + */ +public class GitExeCheckOutCommandRecursiveTest extends ScmTestCase { + private File workingDirectory; + + private File repo; + + private ScmRepository scmRepository; + + @Before + @Override + public void setUp() throws Exception { + super.setUp(); + + workingDirectory = new File("target/checkout-recursive"); + FileUtils.deleteDirectory(workingDirectory); + repo = new File("src/test/resources/repository_submodule"); + + scmRepository = getScmManager() + .makeScmRepository( + "scm:git:" + repo.toPath().toAbsolutePath().toUri().toASCIIString()); + } + + @Test + public void testCheckoutNoBranch() throws Exception { + checkScmPresence(GIT_COMMAND_LINE); + CheckOutScmResult result = checkoutRepo(false); + + assertEquals(5, result.getCheckedOutFiles().size()); + + // git submodule set-url sub-prj file:///... + Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( + workingDirectory, + "submodule", + (GitScmProviderRepository) scmRepository.getProviderRepository(), + Collections.emptyMap()); + + String repoUrl = repo.toPath().toAbsolutePath().toUri().toASCIIString(); + cl.createArg().setValue("set-url"); + cl.createArg().setValue("sub-prj"); + cl.createArg().setValue(repoUrl); + + CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer(); + CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); + GitCommandLineUtils.execute(cl, stdout, stderr); + + result = checkoutRepo(true); + assertEquals(9, result.getCheckedOutFiles().size()); + } + + protected CheckOutScmResult checkoutRepo(boolean recursive) throws Exception { + CheckOutScmResult result = + getScmManager().checkOut(scmRepository, new ScmFileSet(workingDirectory), (ScmVersion) null, recursive); + + assertResultIsSuccess(result); + return result; + } +} diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/HEAD b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/config b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/config new file mode 100644 index 000000000..c53d818dd --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/config @@ -0,0 +1,5 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/description b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/description new file mode 100644 index 000000000..c6f25e80b --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/description @@ -0,0 +1 @@ +Unnamed repository; edit this file to name it for gitweb. diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/hooks/.gitkeep b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/hooks/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/info/exclude b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/info/exclude new file mode 100644 index 000000000..2c87b72df --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/info/exclude @@ -0,0 +1,6 @@ +# git-ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/HEAD b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/HEAD new file mode 100644 index 000000000..04e5fc908 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/HEAD @@ -0,0 +1,4 @@ +0000000000000000000000000000000000000000 c51dcd33e7b71897603c203b5e0afc1d75f70051 Mark Struberg 1196106917 +0100 +c51dcd33e7b71897603c203b5e0afc1d75f70051 baa229a9193371fad604444f64c4f26f8ff702f3 Mark Struberg 1197041894 +0100 push +baa229a9193371fad604444f64c4f26f8ff702f3 1d308c3b92eb0df9c0dc76436d50edfd0ca41d18 Mark Struberg 1197042012 +0100 push +92f139dfec4d1dfb79c3cd2f94e83bf13129668b 021d26a81797f675c66ee7f875dcb4255caa6a84 wuwen 1688375554 +0800 push diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/refs/heads/master b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/refs/heads/master new file mode 100644 index 000000000..04e5fc908 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/refs/heads/master @@ -0,0 +1,4 @@ +0000000000000000000000000000000000000000 c51dcd33e7b71897603c203b5e0afc1d75f70051 Mark Struberg 1196106917 +0100 +c51dcd33e7b71897603c203b5e0afc1d75f70051 baa229a9193371fad604444f64c4f26f8ff702f3 Mark Struberg 1197041894 +0100 push +baa229a9193371fad604444f64c4f26f8ff702f3 1d308c3b92eb0df9c0dc76436d50edfd0ca41d18 Mark Struberg 1197042012 +0100 push +92f139dfec4d1dfb79c3cd2f94e83bf13129668b 021d26a81797f675c66ee7f875dcb4255caa6a84 wuwen 1688375554 +0800 push diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/refs/remotes/origin/master b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/refs/remotes/origin/master new file mode 100644 index 000000000..6cb21b122 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/logs/refs/remotes/origin/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 c51dcd33e7b71897603c203b5e0afc1d75f70051 Mark Struberg 1196106917 +0100 clone: from /home/msx/tmp/maven-git/repository/.git diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/02/1d26a81797f675c66ee7f875dcb4255caa6a84 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/02/1d26a81797f675c66ee7f875dcb4255caa6a84 new file mode 100644 index 000000000..d908a9e26 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/02/1d26a81797f675c66ee7f875dcb4255caa6a84 @@ -0,0 +1,2 @@ +xA + E AhJUƙbRR% AWֹigå":M b#G0xꅻM'W,$.B#[.yJĮQ"YBYaomG?dշ ?p?}hwmC0yI_M4FFvy>z^<@H1}u;-I6)uzeXfI{*xe07jN*d$s8e*B1T7~LuMVobH<*Zw2^4g&)@z|O z;?O1I5C<`%Jc)QTVin!mQYyStUE!nE+r)K-=kqVU-f1c2G4Ts%9Xt*O(ZdBbqKdy4 z8~6VlXiP0)^bf%shtgBAP${PZC+`w#DL@;JPU~bG|N_2azsG hEiPfO`M$gDU}%U)_ty;@wf`p13t3(l0RX8y9aOWfAWZ-O literal 0 HcmV?d00001 diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7 new file mode 100644 index 0000000000000000000000000000000000000000..0a079e76d389ce663a1ae06bc452f2f9854193c7 GIT binary patch literal 116 zcmV-)0E_>40V^p=O;s>7FlI0`FfcPQQ7FjI)vL(OVMz3{zu+t!X`B8<)FX63rXx$T z+GePdqSVBc+*G}iiV}u@3lk-mZh6C+bmd#LlewW&K)Lk~69XVnC@xB7uy&ol(p758 WAE~nfj~>n1ZaevPV=e$N`6-{ii8Ss2 literal 0 HcmV?d00001 diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 new file mode 100644 index 0000000000000000000000000000000000000000..c8859bdcc20f45e9a505f6c391b9c11e97cbc1ea GIT binary patch literal 46 zcmV+}0MY+=0V^p=O;s>9WH2!R0)?!^vP6bSoGY6XV)LAzo^O$oTi7Kjvb%&G0P+eA E9)JfCi~s-t literal 0 HcmV?d00001 diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/61/4a3fd04313593d67f4154855a06941046326b3 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/61/4a3fd04313593d67f4154855a06941046326b3 new file mode 100644 index 0000000000000000000000000000000000000000..bca48ac739bae5507fa85b0bd69212bcc788982e GIT binary patch literal 23 fcmb0ZYosPf{>8WY8}zO4iR!%*@lzN-Rs%cPuE#$xKcx$;{8w0|@{C0>%xq D*O3$G literal 0 HcmV?d00001 diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/6c/19dac26d45acdca2aa830e8dc5835da37ae5d6 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/6c/19dac26d45acdca2aa830e8dc5835da37ae5d6 new file mode 100644 index 0000000000000000000000000000000000000000..e71f2c8f46a51eca1f46429bce52f7cf1f378e2f GIT binary patch literal 183 zcmV;o07(CM0V^p=O;s>7H)k+3FfcPQQP4}zEXmDJDa}bOW?))WnqBRK1dl5{7>Z z6D5~!dBd7?M?=lDZU9c#N6d26S6%=B literal 0 HcmV?d00001 diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 new file mode 100644 index 0000000000000000000000000000000000000000..94939851d63c88b64e28aad8ed8fb74a3aaf4262 GIT binary patch literal 54 zcmV-60LlM&0V^p=O;s>9XD~D{Ff%bx2uUq2(aTCKOJvw;%=W``+q@61bMMET`OmiX M_l6#209p?cY9O!|7ytkO literal 0 HcmV?d00001 diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/92/f139dfec4d1dfb79c3cd2f94e83bf13129668b b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/92/f139dfec4d1dfb79c3cd2f94e83bf13129668b new file mode 100644 index 000000000..a352d5ab2 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/92/f139dfec4d1dfb79c3cd2f94e83bf13129668b @@ -0,0 +1 @@ +x10 @Q; !. \ǡA=lyR@k1HpQ(I 5qWj ;\_:yuH=}[$D'ߥ_ؕXY4LtOug^)}tJ*6y9x^dFu4Ib<0HJ9Lvj6}9 literal 0 HcmV?d00001 diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/9e/131cfc732b0d9f42b9b712a528d0632d9bcca7 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/9e/131cfc732b0d9f42b9b712a528d0632d9bcca7 new file mode 100644 index 0000000000000000000000000000000000000000..0ba67da66ecdb004115b965ee66f948eccb89db6 GIT binary patch literal 43 zcmbFvy>z^<@H1}u;-JH@rj_dt00YksY5)KL literal 0 HcmV?d00001 diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/ba/a229a9193371fad604444f64c4f26f8ff702f3 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/ba/a229a9193371fad604444f64c4f26f8ff702f3 new file mode 100644 index 000000000..e94938a48 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/ba/a229a9193371fad604444f64c4f26f8ff702f3 @@ -0,0 +1 @@ +xMN1 @a9OXqDZʤ nB<~|9TIKENV FwIԤf*K>b&E6eDx9U:}/@dTJ_͎[~‡}Ƕ}jP \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 new file mode 100644 index 0000000000000000000000000000000000000000..fe99cd8b93775954692e2723be5e3063a5afa770 GIT binary patch literal 60 zcmV-C0K@-y0V^p=O;s>4VK6i>Ff%bxa4aau$xKcx$;{8w%StRuWJp|aNt?+w&#=?C SIOkN4l>4@~H8V$d%xO4iR!%*@lzN-Rs%cPuE#$xKcx$;{8w0|{^e01%}O EzU-Y8PXGV_ literal 0 HcmV?d00001 diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/c5/1dcd33e7b71897603c203b5e0afc1d75f70051 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/c5/1dcd33e7b71897603c203b5e0afc1d75f70051 new file mode 100644 index 0000000000000000000000000000000000000000..ec76cb09f94e74fb7dc7613f71de6f6061db7d95 GIT binary patch literal 147 zcmV;E0Brww0iBLP3c@fD06pgwdlzK4A&mtQ!J~N64{Vc74O%1V_R!xe;tRaZWta(N z9J4}$%}T2X*gjfx!THcy$HI{?B-bS$C40V^p=O;s>7FlI0`FfcPQQ7FjI)vL(OVMz3{zu+t!X`B8<)FX63rXx$T z+GePdqSVBc+*G}iiV}u-!ZLq~wRz_|?c6T3RO3Rj?(8$mO$>lQp|~iS!P<5HN>`~V Wf27U|JbE;1yY1xHjky2=Y$)MjB{^~c literal 0 HcmV?d00001 diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_submodule/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e new file mode 100644 index 0000000000000000000000000000000000000000..b543850b652ce02103dd294922169e374ff5d0bc GIT binary patch literal 46 zcmb